diff --git a/README.md b/README.md index 9d36fb1..87e4749 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,10 @@ -`extract_c.py`为`idapython`脚本,需要配合使用idat64使用,需要被其他脚本调用使用 +`interface_extract.py`为`idapython`脚本,需要配合使用`idat`使用,相当于接口,调用使用以下语句 -`test.py`是调用`extract_c.py`的脚本,使用提取的时候都是用`test.py`来提取 +``` +cmd=f''' {idat64_path} -A -B -S"interface_extract.py" {file} ''' +``` + +`test.py`是调用`interface_extract.py`的脚本,使用提取的时候都是用`test.py`来提取 执行命令 @@ -13,11 +17,24 @@ python test.py -h ![image-20241015110234709](assets/image-20241015110234709.png) +提取结果包含`c文件(extract.c)`、`结构体文件(Estruct.json)` + 提取结果保存在`result`文件夹下 ``` -提取c的文件格式为 提取二进制文件名+_extract.c -提取汇编的文件格式为 提取二进制文件名+_+函数名+.asm +提取c的文件格式为 提取二进制文件名+"_extract.c" +提取结构体文件格式为 提取二进制文件名+"_Estruct.json" ``` -![image-20241015110309821](assets/image-20241015110309821.png) \ No newline at end of file +![image-20241016180553384](assets/image-20241016180553384.png) + + + +``` +json包含三个信息 +结构体名称:"name" +结构体大小:"size" +结构体定义:"info" +``` + +![image-20241016180957132](assets/image-20241016180957132.png) \ No newline at end of file