path: root/utils/jz4760_tools/packtools.cpp
AgeCommit message (Collapse)AuthorFilesLines
2016-04-08jz4670_tools: add usbboot tool, tweak Makefile and packtoolAmaury Pouly1-3/+6
Although the jz4740 contains a similar tool to usbboot, its command-line interface is not very useful, also it does not compile by default because it relies on some external code, and it contains code specific to some JZ4740 devices. Change-Id: I22688238d147e21fb0fd524466b333b6003d4ff1
2015-03-29Add jz4760 toolAmaury Pouly1-0/+563
This tool can pack/unpack a jz4760 archive (like the one used for the fiio x1/x3/x5), and can descramble/scramble (it's the same operation) a firmware file (the sys.bin file in the archive). I did my best to keep the compatibility with the leaked Fiio/Ingenic tool which has the same name. I wrote the tools from scratch, but here are some remarks: - the format used is a slightly modified IHFS used in the older JZ4640 series, I used the information on the wiki about the IHFS format - the CRC computation done was already reversed engineered by someone on the forums but I realised this later - There are a few unknown fields in the headers, see comments in the source code - The firmware scrambling was discovered by pure guess, I realised there were some repetitve sequences, some I guessed it was a rotative XOR and ran some analysis to find the most probable sequence Change-Id: Ib83735b3db8475be5de9c94231714e88668a0340