ducky-tools | Tools for working with Ducky One keyboard firmware updates
kandi X-RAY | ducky-tools Summary
kandi X-RAY | ducky-tools Summary
ducky-tools is a Go library. ducky-tools has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.
This is the result of some time spent reverse-engineering the Ducky One keyboard firmware updater. It can (in theory) be used to extract and update Ducky One firmware on platforms other than Windows. Contains code for handling "Updates", consisting of firmware blobs and the metadata related to them. This can extract Updates from Ducky’s .exe updater programs, and read/write .toml-based update files created by this tool. Contains code for working with the In-Application Programming (IAP) code on the keyboard, for erasing, flashing, retrieving info, etc. Application for accessing the above libraries.
This is the result of some time spent reverse-engineering the Ducky One keyboard firmware updater. It can (in theory) be used to extract and update Ducky One firmware on platforms other than Windows. Contains code for handling "Updates", consisting of firmware blobs and the metadata related to them. This can extract Updates from Ducky’s .exe updater programs, and read/write .toml-based update files created by this tool. Contains code for working with the In-Application Programming (IAP) code on the keyboard, for erasing, flashing, retrieving info, etc. Application for accessing the above libraries.
Support
Quality
Security
License
Reuse
Support
ducky-tools has a low active ecosystem.
It has 11 star(s) with 1 fork(s). There are 2 watchers for this library.
It had no major release in the last 6 months.
There are 2 open issues and 0 have been closed. There are no pull requests.
It has a neutral sentiment in the developer community.
The latest version of ducky-tools is current.
Quality
ducky-tools has 0 bugs and 0 code smells.
Security
ducky-tools has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
ducky-tools code analysis shows 0 unresolved vulnerabilities.
There are 0 security hotspots that need review.
License
ducky-tools is licensed under the MIT License. This license is Permissive.
Permissive licenses have the least restrictions, and you can use them in most projects.
Reuse
ducky-tools releases are not available. You will need to build from source code and install.
Installation instructions, examples and code snippets are available.
It has 1992 lines of code, 86 functions and 9 files.
It has high code complexity. Code complexity directly impacts maintainability of the code.
Top functions reviewed by kandi - BETA
kandi has reviewed ducky-tools and discovered the below as its top functions. This is intended to give you an instant insight into ducky-tools implemented functionality, and help decide if they suit your requirements.
- main is the main entry point for testing
- dumpAction is used to dump an update file
- updateAction handles the update action
- LoadTOMLUpdate loads an update from a TOML file
- Extract key action
- apapTestAction is the handler for iap action
- NewContext returns a new context
- newFileHeader creates a file header from a byte slice .
- CRCCheck is used to check a CRC check .
- LoadExeUpdate loads an update from a file
Get all kandi verified functions for this library.
ducky-tools Key Features
No Key Features are available at this moment for ducky-tools.
ducky-tools Examples and Code Snippets
No Code Snippets are available at this moment for ducky-tools.
Community Discussions
No Community Discussions are available at this moment for ducky-tools.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install ducky-tools
First, install go - https://golang.org/. At least version 1.11 for go mod support. This also uses [gousb (https://github.com/google/gousb)](https://github.com/google/gousb), which itself depends on libusb-1.0. This should be an easy dependency to satisfy on Linux and Mac. Consult the gousb page for more information. This extracts the information from an update file (.exe or .toml) and writes it out to a .toml-based description and set of binary files. This will extract the firmware blob and some other data from the .exe updater into files in the current working directory, with a description stored in One_TKL_EU_L_1.03r.exe.toml. This .toml file can be used as an input to ducky iap update (see below). The firmware blob itself will be written to One_TKL_EU_L_1.03r.exe.internal.enc.bin. Note that this data is likely to be scrambled with a 52-byte XOR key, and so won’t look like Arm/Thumb code. The keyboard expects to receive the scrambled data during the programming process, and descrambles it with a key which is only stored in the keyboard and not the updater.
Support
For any new features, suggestions and bugs create an issue on GitHub.
If you have any questions check and ask questions on community page Stack Overflow .
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page