traetox
September 13th, 2008, 18:50
Hello All,
I am in the process of reverse engineering a piece of embedded equipment and have run into a bit of a hitch. The system is manufactured in China by a company that has almost zero web presence, and the device has no FCC registration or any real documentation. The CPUs within the box have all been relabeled and/or scrubbed. I do however have a complete ROM dump. I have managed to glean the compiler via a string in the binary (Keil C) which allowed me to narrow the arch to either an ARM7 or Intel 8051. I 90% sure that it is an Intel 8051, but the 8051 is extremely popular and many many revisions have come out over the years. I have also found several sites claiming that the device runs Linux, but I am 99% certain that this is NOT the case due to the compiler choice and the total lack of identifiers in the binary.
My question is, does anyone have any tips or tricks for discovering the exact architecture of an embedded system given a CPU pin count and a working binary? I need more details in order to provide IDA Pro an effective entrance point and RAM size in order to get a successful disassembly. I have been reading data sheets for weeks and basically performing trial and error with IDA Pro but have yet to get valid output for the disassembly.
Thanks,
Traetox
:ZZ
I am in the process of reverse engineering a piece of embedded equipment and have run into a bit of a hitch. The system is manufactured in China by a company that has almost zero web presence, and the device has no FCC registration or any real documentation. The CPUs within the box have all been relabeled and/or scrubbed. I do however have a complete ROM dump. I have managed to glean the compiler via a string in the binary (Keil C) which allowed me to narrow the arch to either an ARM7 or Intel 8051. I 90% sure that it is an Intel 8051, but the 8051 is extremely popular and many many revisions have come out over the years. I have also found several sites claiming that the device runs Linux, but I am 99% certain that this is NOT the case due to the compiler choice and the total lack of identifiers in the binary.
My question is, does anyone have any tips or tricks for discovering the exact architecture of an embedded system given a CPU pin count and a working binary? I need more details in order to provide IDA Pro an effective entrance point and RAM size in order to get a successful disassembly. I have been reading data sheets for weeks and basically performing trial and error with IDA Pro but have yet to get valid output for the disassembly.
Thanks,
Traetox
:ZZ