More actions
drxtool | |
---|---|
General | |
Author | WulfyStylez/SALT |
Type | PC Utilities |
Version | 2.0 |
License | Mixed |
Last Updated | 2016/12/14 |
Links | |
Download | |
Website | |
Source | |
drxtool allows you to extract, modify, and rebuild DRC (gamepad) and DRH (host) firmware binaries, including actual firmware (e.g. drc_fw.bin, drh_fw.bin) as well as language data (lang_00.bin, etc.).
This subsequently allows for firmware RE and patching, switching out graphics, enabling debug modes, etc.
User guide
Extraction:
- Drag and drop a binary onto drxtool to extract it to [filename]_extracted.
- The extracted content will be split into its components, including separate sections for firmwares.
- Language files are consolidated due to varying layouts per firmware version.
Rebuilding:
- Drop an extracted folder onto drxtool to rebuild it into [foldername].bin.
In both cases, drxtool can be invoked from command line/terminal for additional debug output.
This has been tested and is working on all DRC, DRH, and language data dating back to the very first external beta builds for near-final gamepad hardware (v16, though v15 likely ran on this hardware as well).
Earlier hardware uses a different update format (the hw has all likely been destroyed by now.)
For flashing binaries with ios-level hax, adjust the first big-endian u32 in blob_header.bin by incrementing it by 1. Additionally, modify the version in app.xml. Updating VER_.bin is unnecessary, as the gamepad and drh are indifferent to their versions; only IOS matters.
Other update methods include potentially using libdrc to push an update directly to the gamepad (remove the first 0x10, a big-endian header used by IOS), or writing the payload directly to the serial EEPROM (remove the first 0x10+0x1000+0x4000), which is useful for unbricking.
Changelog
v2.0 2016/12/14
- Initial public release.
v1.0 2016/08/10
- It lives!