
__IDA2Obj__は、__SBI(静的バイナリインスツルメンテーション)__を実装するためのツールです。
動作の流れはシンプルです:
環境を準備します:
idapython.cfg内でAUTOIMPORT_COMPAT_IDA695 = YESを設定します。pip install coughワークスペースとしてフォルダを作成します。
ファズしたいターゲットバイナリをワークスペースにコピーします。
IDA Proにバイナリをロードし、__リソースをロード__および__手動ロード__を選択して、バイナリから__すべての__セグメントをロードします。
自動解析が完了するのを待ちます。
スクリプトMagicIDA/main.pyを実行してオブジェクトファイルをダンプします。
${workspace}/${module}/objs/afl内にあります。TRACE_MODEという名前の空のファイルを作成すると、出力オブジェクトファイルは${workspace}/${module}/objs/trace内にあります。${workspace}/${module}内に3つのファイルも生成されます:
スクリプトutils/LibImports.pyを実行してlibファイルを生成します。
${workspace}/${module}/libs内にあり、後でリンクに使用します。ターミナルを開き、ディレクトリをワークスペースに変更します。
utils/link.batを使用してすべてのオブジェクトファイルとlibファイルをリンクします。
utils/link.bat GdiPlus dll afl /RELEASE${workspace}/${module}内に生成されます。utils/PatchPEHeader.pyを使用して、新しくビルドされたバイナリにパッチを適用します。
utils/PatchPEHeader.py GdiPlus/GdiPlus.afl.dllutils/register_msdia_run_as_administrator.batを実行する必要があるかもしれません。実行&ファズ。
デモ : https://drive.google.com/file/d/1N3DXJCts5jG0Y5B92CrJOTIHedWyEQKr/view?usp=sharing