2011-12-24 3 views
2

Mach-oバイナリにパッチを当てる方法を探していますが、これを実現する方法が不足しています。私は実際に必要なのは、コンパイルされたXcode Cocoaアプリケーションを使ってこれを行うdrag'n'dropメソッドを作成する方法ですが、16進数の編集と手作業によるバイトの修正に精通しています。パッチMach-oバイナリ

実際の使用可能なXcodeプロジェクトテンプレートを使用して開始すると、非常に便利です。

答えて

1

このようなことをしたい場合は、HexFiendから始めます。その後、私はdyldの実装を見て、あなたがロード命令、セグメント、セクションなどにアクセスするために、プログラムのMach-Oファイルフォーマットに対処したい場合はDarwin source repositoryMac OS X ABI Mach-O File Format Reference

+0

好奇心をそそり、なぜ素朴なバイナリ差分ではないのですか? – Steve

+0

私は彼がそれ以上のことをしたいと思っていました。彼が必要とするものがバイナリ差分ツールであれば、Mach-Oについて具体的に質問していないでしょう。 – NSResponder

1

にコマンドotoolだろう、あなたはlibMachObjCを使用する必要がありますこれはclass-dumpプロジェクトの一部です。 APIは非常に使いやすいです。

Mach-Oファイルを読み込んで、いくつかのバイトをパッチし、修正したファイルをディスクに書き込む例については、ツールソースコードdeprotectを見てください。

+0

本当に良い例 - ありがとう。 – Andrew