AI suggested IDAPython.

<Notice>

I don't have the intention to use IDAPython any more, since GPL tools are 10-100 times faster (!), they don't give timeouts due to demo restrictions, and they don't crash as often. Also, no more floating point errors when importing SymPy!

The GPL Tools/ARM console script includes a small compatibility layer for IDAPython. Not 100% compatible, but it helps porting existing scripts quite a bit.

This page will remain as a starting point for anyone who wants to try IDAPython. </Notice>

Tutorials[edit | edit source]

IDAPython/intro[edit | edit source]

How to decode an instruction, call an IDC function...

IDAPython/Tracing calls tutorial[edit | edit source]

Just a bit beyond the basics

Advanced stuff[edit | edit source]

Static analysis of ARM code[edit | edit source]

This is going to be similar to Brainfuck :)

... how about a Brainfuck decompiler in SymPy?

Tracing function calls in the firmware[edit | edit source]

Matching subs/structs/data in two firmware files[edit | edit source]

Code[edit | edit source]

My experimental code is here. Feel free to improve it.

Resources[edit | edit source]

Community content is available under CC-BY-SA unless otherwise noted.