23C3 - 1.5
23rd Chaos Communication Congress
Who can you trust?
Speakers | |
---|---|
khorben |
Schedule | |
---|---|
Day | 1 |
Room | Saal 4 |
Start time | 16:00 |
Duration | 01:00 |
Info | |
ID | 1610 |
Event type | Lecture |
Track | Hacking |
Language | English |
Feedback | |
---|---|
Did you attend this event? Give Feedback |
Fudging with Firmware
Firmware reverse-engineering tactics
This lecture aims at providing ideas and practical techniques about the reverse-engineering process of equipment firmware images. It touches upon data encoding, compression, bootstraps, deciphering, disassembly, and emulation.
This lecture aims at providing ideas and practical techniques about the reverse-engineering process of equipment firmware images. It focuses exclusively on images susceptible to hosting an operating system of some sort. The approach taken here includes first a reminder about various data encodings for binary transfers, such as UUENCODE or Intel's HEX format. The talk goes on to further interpret the available data, would it be a bootloader, compressed or a filesystem. At this stage chunks of meaningful data should be available, in which useful information should be reachable. A more in-depth investigation is then conducted, down to executable file formats or various machine-level assembly bytes. If the operating system used was not determined before this stage, the talk mentions how to extract this information and presents which ones are likely to be found, but not necessarily well-known to the general public. Finally, a few questions about cryptography are raised, and an overview of disassembly and emulation tools is given, as they may well be the easiest ways to defeat it.