I hereby claim:
- I am hexf on github.
- I am hexf (https://keybase.io/hexf) on keybase.
- I have a public key ASCPK4eGy415xue3AJUR99k_KflPcdpKBgqYUbw9Zw64qwo
To claim this, I am signing this object:
LATESTVERSION: 1.0.0a | |
LATESTDOWNLOAD: none | |
USERPOLLURL: http://hexf.me/bhs.php?adduser&user=%USERNAME% | |
-USERRULES | |
#Users are put in as a sha256 of the users UUID without dashes - sha256(uuidND) | |
ALLOWUSER: 9115458bbc5dbcc573f20ac2435b7fad706870753e4ff11c7bcf21ec6ad5d117 | |
ALLOWUSER: 4b1bfccf315fc75de3c45473931f0aba883c3e3d949d7c467422c23bde6faa8b | |
I hereby claim:
To claim this, I am signing this object:
I will probably make a repo for this one day, but for now this will do.
What this does:
Complain about code quality in comments.
Through experimentation, and browsing the code of sidewinderd, I come to a conclustion as to how the keyboard communicates to the system.
Put simply, the keyboard uses HID Feature Reports, which we can manipulate with ioctl
in c, or the python module hidapi
.
Attached is example code, but this serves as documentation on the values of feature reports.
# awful code for decrypting DLink TCLinux firmware files | |
# requires pycryptodome | |
import struct | |
import binascii | |
from Crypto.Cipher import AES | |
KEY = bytes.fromhex("11223344556677889900aabbccddeeff") | |
IV = bytes.fromhex("a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5") |