rockbox/utils
Amaury Pouly d1ca2e45e9 atjboottool: cleanup and add support for atj2127
Several people asked me recently how to decrypt atj2127 firmware. Someone
posted on github (https://github.com/nfd/atj2127decrypt) a decrypt utility
clearly reverse engineered from some unknown source. The code is an absolute
horror but I concluded that ATJ changed very little between ATJ213x and ATJ2127
so I added support for the ATJ2127, credit to this github code that I stole
and rewrite (code was under MIT licence). At the same time do some small code
cleanups.
Note that there is not 100% sure way that I know to distinguish between the
two firmware types, so the code tries to do an educated guess to detect
ATJ2127. If this does not work, use --atj21217 option. Also note that contrary
to the github tool that decrypts and unpack in one go, this tool only does one
step at once. So first decrypt: HEX -> AFI, then unpack AFI -> files.
I also added for a different version of AFI. Based on AFI files I have, there
are, I think, two versions: the "old" ones (pre-ATJ213x) and "new" ones. The
tool only supported the new one but for some reason the ATJ2127 uses the old
ones without a mostly empty header. Strangely, even this mostly empty header
does not seem to follow the old layout as reverse engineered by the s1mp3
project (https://sourceforge.net/p/s1mp3/code/HEAD/tree/trunk/s1fwx/heads.h),
so in fact there might be three versions. In any case, only the header is
different, the rest of the file is identical so at the moment I just don't
print any header info for "old" files.

Change-Id: I1de61e64f433f6cacd239cd3c1ba469b9bb12442
2017-07-30 14:32:12 +02:00
..
AMS/hacking amsinfo: save files with .bin extension 2011-12-13 03:01:16 +00:00
analysis Introduce a new analysis tool to detect which macros are defined in each build. 2015-02-16 11:31:05 +01:00
atj2137 atjboottool: cleanup and add support for atj2127 2017-07-30 14:32:12 +02:00
bootchart Add simple bootchart -> gnuplot shell script 2010-04-05 19:58:51 +00:00
common update deploy.py to recognize and use Qt5 2016-01-17 18:38:28 +01:00
disassembler/arm Make sure files which aren't windows-specific use \n line endings only 2010-06-17 16:59:51 +00:00
e200tool Add new tool to upload code on e200/c200/view in manufacturer mode 2014-04-07 22:25:06 +02:00
editors Move sample.emacs to utils/editors 2010-02-18 23:32:08 +00:00
hwpatcher hwpatcher: add generic RKW file patching script 2014-09-02 22:35:26 +02:00
hwstub hwstub: be more quiet about register description loading failure 2017-01-24 15:34:20 +01:00
imxtools imxtools/sbtools: switch SHA1 implementation to Crypto++ 2017-01-16 19:59:28 +01:00
ipod Add some notes describing how the bin2note exploit works 2009-07-16 17:40:55 +00:00
jz4740_tools Fix crash on uninitialized variable 2015-01-13 21:57:24 +01:00
jz4760_tools jz4760b_tools: improve usbboot tool 2017-01-24 15:23:21 +01:00
meizu_dfu meizu_dfu: supports a single argument to run some code from RAM 2010-06-08 23:04:17 +00:00
MTP MTP: put libs after files in the Makefile, to please old gcc versions 2014-12-13 12:58:08 +01:00
nwztools nwztools/scsitool: add a command to query multiple nvp nodes at once 2017-06-18 23:16:18 +02:00
regtools regtools/qeditor: replace deprecated QStyleOptionViewItemV4 2017-02-04 17:19:50 +01:00
rk27utils Fix uninitialized variable (should fix libusb retry handling) 2015-01-04 13:35:47 +01:00
rknanoutils rknanoutils: fix boot tool 2013-03-21 19:02:03 +01:00
rockbox_api Fix menu (update to newer one) 2008-10-09 12:28:09 +00:00
samsungtools samsungtool: allow firmware creation 2012-12-06 12:17:50 +01:00
scsi scsi: don't make the linux lib depend on a library header file 2017-04-03 15:02:19 +02:00
skinupdater SKIN BREAK: %pb, %bl and %pv (bar types) changed so the image is the last param instead of the first. skin updater, skins and manual all updated. 2010-06-09 16:15:01 +00:00
tcctool tcctool: fix Makefile 2013-09-18 13:14:20 +02:00
themeeditor Convert one more file from DOS to UNIX. 2011-11-06 22:52:21 +00:00
time-sync time-sync: allow passing an arbitrary time. 2013-06-09 19:51:08 +02:00
ypr0tools ypr1: Add some commands to rockbox.sh which are needed for playback 2014-03-09 23:25:50 +01:00
zenutils Clean up bogus 'make compiler happy' code 2015-01-12 21:13:00 +01:00
parse_testcodec.rb utils/parse_testcodec.rb: add support for Opus files 2015-07-17 00:51:22 +02:00