ida batch_decompile
0.1
すべてを逆コンパイルしてください。
IDA Batch Decompile は、Hex-Ray の IDA Pro 用のプラグインで、複数のファイルとそのインポートを追加の注釈 (xref、スタック変数サイズ) とともにバッチ逆コンパイルする機能を疑似コード .c ファイルに追加します。
くっそー! - ida-batch_decompileもプロジェクトの一部です: unbox - あらゆる種類のものを解凍して逆コンパイルするための簡単なコマンドライン ツールです。
ターゲットを開き、分析が完了するまで待ちます
IDA Pro -> File/Script file... -> <this_python_script>
IDA Pro -> File/Produce file-> IdaDecompileBatch ...
ティックAnnotate StackVarSize
、 Annotate Func XRefs
OK
をクリックして逆コンパイルします。
注: ファイルはターゲット フォルダーに<target_image_name.c>
として保存されます。
<path_to_ida>/ida(w|w64)(.exe) -B -M -S"<path_to_this_script> "--option1" "--option2"" "<target>"
オプションは"
で囲む必要があることに注意してください。
利用可能なオプション。 --help
を参照してください。
--output ... output file path --annotate-stackvar-size ... annotate function stack variable sizes --annotate-xrefs ... annotate function xrefs --imports ... process imports --recursive ... recursive batch decompile --experimental-decompile-cgraph ... experimental: manually decompile function call graph
Python プラグインを追加する方法については、IDA Pro のドキュメントに従ってください。
IDA Pro -> File/Produce file -> IdaDecompileBatch ...
[__main__/36908][DEBUG ] [idabatchdecompile.PLUGIN_ENTRY ] [+] IdaDecompileBatchPlugin を初期化しています[__main__/36908][DEBUG ] [idabatchdecompile.__init__ ] [+] is_windows: True[__main__/36908][DEBUG ] [idabatchdecompile.__init__ ] [+] is_ida64: False[__main__/36908][DEBUG ] [idabatchdecompile.wait_for_analysis_to_finish] [+] 分析が終了するのを待機しています... [__main__/36908][DEBUG ] [idabatchdecompile.wait_for_analysis_to_finish] [+] 分析が終了しました。 [__main__/36908][DEBUG ] [idabatchdecompile.load_plugin_decompiler] [+] 逆コンパイラー プラグインをロードしようとしています[__main__/36908][DEBUG ] [idabatchdecompile.load_plugin_decompiler] [+] 逆コンパイラー プラグインがロードされました。 [__main__/36908][DEBUG ] [idabatchdecompile.PLUGIN_ENTRY ] [+] モード: 引数なしのコマンドライン[__main__/36908][DEBUG ] [idabatchdecompile.set_ctrl ] [+] IdaDecompileBatchPlugin.set_ctrl(<__main__.IdaDecompileBatchController オブジェクト0x056FCF90>) [__main__/36908][DEBUG ] [idabatchdecompile.init ] [+] IdaDecompileBatchPlugin.init() [__main__/36908][DEBUG ] [idabatchdecompile.init ] [+] メニューの設定[__main__/36908][INFO ] [idabatchdecompile.PLUGIN_ENTRY ] [i] IdaDecompileBatch がロードされました。メニューを参照してください: ('File/Produce file/', 'IdaDecompileBatch ...') ...アプリケーションは完全に逆コンパイルされました。 [__main__/36908][DEBUG ] [idabatchdecompile.decompile_all ] [+] 'dbghelp.dll' を 'dbghelp.c' として逆コンパイルしました
//----- (03052800) -------------------------------------- ----------------// **** 変数 ****// * スタック サイズ: 20// {"diff_size": 4, "offset_text": "[bp +0h]", "size": 4, "name": " s", "offset": 0}// {"diff_size": 4, "offset_text": "[bp+4h]", "size": 4, "name": " r", "offset": 4}// {"diff_size": 4, "offset_text": "[bp+8h]", " size": 4, "name": "arg_0", "offset": 8}// {"diff_size": 4, "offset_text": "[bp+Ch]", "size": 4, "name": "dwBytes", "offset": 12}// {"diff_size": 4, "offset_text": "[bp+10h]", "サイズ": 4, "名前": "arg_8", "オフセット": 16}// *******************// ***** XREFS *****// * # 1// sub_30733D0+30// *******************int __stdcall sub_3052800(int a1, SIZE_T) dwBytes、int a3) { int 結果; // eax@17 ハンドル v4; // eax@21...
//github.com/tintinweb