More actions
No edit summary |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 17: | Line 17: | ||
<!--date: release post--> | <!--date: release post--> | ||
{{lowercase title}} | {{lowercase title}} | ||
drxtool allows you to extract, modify, and rebuild DRC ( | 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. | This subsequently allows for firmware RE and patching, switching out graphics, enabling debug modes, etc. | ||
Line 32: | Line 32: | ||
In both cases, drxtool can be invoked from command line/terminal for additional debug output. | 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 | 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.) | 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 | For flashing binaries with ios-level hax, adjust the first big-endian u32 in blob_header.bin by incrementing it by 1, and 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 | 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 == | == Changelog == |
Latest revision as of 12:38, 21 Mayıs 2024
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, and 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!