Hello again,
it's been some time since I posted something like this but thats cause I was busy with studying. But I wasn't completely lazy during that time. As a kind of programming practice I started to develop some Ambarella command line tools using C. My goal is to develop all the features from Java based AFT using C as command line tools and maybe even more (if time doesnt restrict me again).
At the moment there are only these few tools: a7_fwunpacker, a7_ptupdater, a7_fwpacker but I'm working on more right now.
There is one special thing you can do with these tools: "Convert" e2b/elf firmwares to firmware.bin since the unpacker doesnt rely on the static global firmware header at 0x00
Could be useful for devices that only have elfs/e2bs available (like gopro 4 session)
----
a7_fwunpacker:
Unpacks Ambarella A7 .bin/.elf/.e2b binaries. It searches for all partitions and the global firmware header using magic constants and exports them to separate files.
Exported file structures:
fw_header: 2048 byte global firmware header
partition_X: 256 byte partition header + payload
Usage: a7_fwunpacker <firmware file>
DL: http://dc.p-mc.eu/acmd_tools/a7_fwunpacker.exe
a7_ptupdater:
Updates the partition header based on partition payload.
Usage: a7_ptupdater <partition file>
DL: http://dc.p-mc.eu/acmd_tools/a7_ptupdater.exe
a7_ptsm:
Mode -s: Splits specified partition_X file to header_X and payload_X at 0x100 to allow easier editing without partition header
Mode -m: Merges header_X and payload_X into specified partition_X.
Usage: a7_ptsm -s/-m <partition file>
DL: http://dc.p-mc.eu/acmd_tools/a7_ptsm.exe
a7_fwpacker:
Packs the fw_header and partition files from a7_fwunpacker into a flashable firmware binary
Needs to be run in directory with fw_header and partition_X files
Usage: a7_fwpacker <output file>
DL: http://dc.p-mc.eu/acmd_tools/a7_fwpacker.exe
----
Warning:
These tools are very experimental and could easily output files that may brick your device. Only use them if you are able to recover a bricked device!
Source code:
I'm planning to publish the source code but don't know where to put it, yet. But: I'm not planning to release the code under an open source license.
Project page:
http://dc.p-mc.eu/tools/ambacmd
it's been some time since I posted something like this but thats cause I was busy with studying. But I wasn't completely lazy during that time. As a kind of programming practice I started to develop some Ambarella command line tools using C. My goal is to develop all the features from Java based AFT using C as command line tools and maybe even more (if time doesnt restrict me again).
At the moment there are only these few tools: a7_fwunpacker, a7_ptupdater, a7_fwpacker but I'm working on more right now.
There is one special thing you can do with these tools: "Convert" e2b/elf firmwares to firmware.bin since the unpacker doesnt rely on the static global firmware header at 0x00
Could be useful for devices that only have elfs/e2bs available (like gopro 4 session)
----
a7_fwunpacker:

Unpacks Ambarella A7 .bin/.elf/.e2b binaries. It searches for all partitions and the global firmware header using magic constants and exports them to separate files.
Exported file structures:
fw_header: 2048 byte global firmware header
partition_X: 256 byte partition header + payload
Usage: a7_fwunpacker <firmware file>
DL: http://dc.p-mc.eu/acmd_tools/a7_fwunpacker.exe
a7_ptupdater:

Updates the partition header based on partition payload.
Usage: a7_ptupdater <partition file>
DL: http://dc.p-mc.eu/acmd_tools/a7_ptupdater.exe
a7_ptsm:

Mode -s: Splits specified partition_X file to header_X and payload_X at 0x100 to allow easier editing without partition header
Mode -m: Merges header_X and payload_X into specified partition_X.
Usage: a7_ptsm -s/-m <partition file>
DL: http://dc.p-mc.eu/acmd_tools/a7_ptsm.exe
a7_fwpacker:

Packs the fw_header and partition files from a7_fwunpacker into a flashable firmware binary
Needs to be run in directory with fw_header and partition_X files
Usage: a7_fwpacker <output file>
DL: http://dc.p-mc.eu/acmd_tools/a7_fwpacker.exe
----
Warning:
These tools are very experimental and could easily output files that may brick your device. Only use them if you are able to recover a bricked device!
Source code:
I'm planning to publish the source code but don't know where to put it, yet. But: I'm not planning to release the code under an open source license.
Project page:
http://dc.p-mc.eu/tools/ambacmd
Last edited: