
Very often, you find yourself reversing a completely unknown firmware from some memory dump, and know very little about it. Probably, the processor architecture, the kind of work it makes, etc.
Generally, you can search for patterns (like the opcodes from the function prologue) to try to define the first functions , look for strings that could add some extra info, look for headers giving us an idea of how the firmware is structured and of course, try to identify the libc itself and its location.
This last two points are, in my opinion, the most important ones.
Often, we have to go without all this important information. Maybe we don’t have any strings. Or we have it but there are no code references to it so we can’t link them to the code. Maybe, we can’t reproduce the in-memory layout of the firmware and its structure.
Well, this is the exact situation that made me think on developing this script.
Continue reading ‘[Quickpost] [IDAPython] Locating libc in an unknown firmware without string references.’
Posted in Main()
Tags: firmware, IDA, IDAPython, libc, RE, Reversing