d1ca2e45e9
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 |
||
---|---|---|
.. | ||
AMS/hacking | ||
analysis | ||
atj2137 | ||
bootchart | ||
common | ||
disassembler/arm | ||
e200tool | ||
editors | ||
hwpatcher | ||
hwstub | ||
imxtools | ||
ipod | ||
jz4740_tools | ||
jz4760_tools | ||
meizu_dfu | ||
MTP | ||
nwztools | ||
regtools | ||
rk27utils | ||
rknanoutils | ||
rockbox_api | ||
samsungtools | ||
scsi | ||
skinupdater | ||
tcctool | ||
themeeditor | ||
time-sync | ||
ypr0tools | ||
zenutils | ||
parse_testcodec.rb |