ida batch_decompile
0.1
모든 것을 디컴파일하세요!
IDA Batch Decompile은 여러 파일을 일괄 디컴파일하고 추가 주석(xref, stack var size)을 사용하여 의사 코드 .c 파일에 가져오는 기능을 추가하는 Hex-Ray의 IDA Pro용 플러그인입니다.
쉿! - ida-batch_decompile 도 프로젝트의 일부입니다: unbox - 모든 종류의 압축을 풀고 디컴파일하는 nobrainer 명령줄 도구입니다.
대상을 열고 분석이 완료될 때까지 기다립니다.
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_analytic_to_finish] [+] 분석이 완료되기를 기다리는 중... [__main__/36908][DEBUG ] [idabatchdecompile.wait_for_analytic_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 로드됨, 메뉴 참조: ('파일/생산 파일/', 'IdaDecompileBatch ...') ... 애플리케이션이 완전히 디컴파일되었습니다. [__main__/36908][DEBUG ] [idabatchdecompile.decompile_all ] [+] 'dbghelp.dll'을 'dbghelp.c'로 디컴파일을 완료했습니다.
//------ (03052800) --------------------------- ----------------// **** 변수 ****// * 스택 크기: 20// {"diff_size": 4, "offset_text": "[bp +0h]", "크기": 4, "이름": " s", "오프셋": 0}// {"diff_size": 4, "offset_text": "[bp+4h]", "크기": 4, "이름": " r", "오프셋": 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]", "size": 4, "name": "arg_8" , "오프셋": 16}// *******************// ***** XREFS *****// * # 1// sub_30733D0+ 30// *******************int __stdcall sub_3052800(int a1, SIZE_T dwBytes, int a3) { 결과; // eax@17 v4를 처리합니다. // eax@21...
//github.com/tintinweb