Big Dipper
Big Dipper

Reputation:

Patching Mach-o Binary

I'm looking for a way to patch Mach-o Binaries, although I've come up short of possible (and not too tedious) ways of accomplishing this. I'm very familiar with hex editing and patching bytes by hand, although ultimately what I really need is a way to create a drag'n'drop method of doing this via a compiled Xcode Cocoa application.

Any example, or even better, an actual usable Xcode project template to get start would be very helpful.

Upvotes: 3

Views: 1193

Answers (2)

0xced
0xced

Reputation: 26558

If you want to programmatically deal with the Mach-O file format to access load commands, segments, sections and more, you should use libMachObjC which is part of the class-dump project. The API is very easy to use.

Have a look at the deprotect tool source code for an example of reading a Mach-O file, patching some bytes and writing the modified file to disk.

Upvotes: 1

NSResponder
NSResponder

Reputation: 16861

If I wanted to do this kind of thing, I'd start with HexFiend. Then I'd look up the implementation of dyld and otool in the Darwin source repository and the Mac OS X ABI Mach-O File Format Reference

Upvotes: 1

Related Questions