IDA scripts to help you:
objc_stubs.py
- Fix all
objc_*
symbol types
- Fix all
objc_hotkeys.py
- Add
Ctrl+4
HotKey to quickly navigate to selector's Xrefs.
- Add
Before running objc_stubs.py
:
After running objc_stubs.py
:
As you can see:
- The scripts fixed all selectors signatures:
- For example:
int __cdecl __spoils<X0,X1,X2,X3,X4,X5,X6,X7> objc_msgSend_initWithCapacity_(id object, __unused SEL selector, id initWithCapacity)
- For example:
- In addition to fixing the
objc_retain/release
which now access high registers.- For example:
id __usercall __spoils<> objc_retain_x20_45@<X0>(id x20@<X20>)
- For example:
This makes it much easier to navigate through the code flow.
Have fun!