Funcap: Rapid Reversing With Ida Pro Debugger Andrzej Dereszowski
Funcap: Rapid Reversing With Ida Pro Debugger Andrzej Dereszowski
RESULT: you understand some functions without even looking at them SAVES TIME!
Funcap how it works
Places breakpoints on function call instructions (alternatively breakpoints can be places on
function start and end)
Runs IDA debugger
When a breakpoint is hit it captures the arguments and function address and tries to
dereference them and guess their type (currently only string, int and pointers)
Places a breakpoint directly after the call instruction
When the call returns they are dereferenced again to see how the memory was changed
This information is dumped to a text file and inserted into the IDA listing
Funcap features (1)
Supports ia-32, ia-64 and ARM more can easily be added
Supports Win32, Win64, Linux32, Linux64, Android. No MacOS or iOS yet.
Supports almost any IDA debugger connector, even PIN tracer connector
Funcap features (2)
Builds a runtime call graph
0x9c299a: new code section detected: [0x9c1000, 0x9c3000]
hooking function: sub_9C299A()
Function call: sub_1000156E+147 to sub_9C299A (0x9c299a)
Funcap features (3)
Resolves indirect calls
API calls can be captured as well
Full context is dumped to the file, subset of the context is pasted into IDAs listing annotations
Hexdump or ASCII capture format
Python> hexdump = True
Funcap features (4)
Recursive argument dereferencing idea taken from PEDA for GDB
[email protected]
http://github.com/deresz/funcap