11.07.2015 Views

Down the Rabbit Hole - Reverse Engineering Mac OS X

Down the Rabbit Hole - Reverse Engineering Mac OS X

Down the Rabbit Hole - Reverse Engineering Mac OS X

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Function Overriding DetailsDiscover <strong>the</strong> function’s address. Use_dyld_lookup_and_bind[with_hint]()and NSIsSymbolNameDefined[WithHint]().Test <strong>the</strong> waters. Watch out for functions that start with<strong>the</strong> mfctr instruction.Make <strong>the</strong> original function writable. vm_protect().Allocate <strong>the</strong> escape island. Use vm_allocate().Target <strong>the</strong> escape island and make it executable. Usemsync().Monday, February 9, 2009

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!