.idb
批量生成一堆idaw.exe -B <FILE>
文件。 (我使用的是IDA Pro 6.8。)此过程还会创建许多.asm
文件-每个创建的.idb
文件一个。我不需要这些文件,因此它们只会被忽略/删除。是否可以从命令行生成
.idb
文件而不生成.asm
文件?#1 楼
在帮助页面的底部,您可以看到以下内容:对于批处理模式,必须使用以下命令行来调用IDA:
ida -B input-file
ida -c -A -Sanalysis.idc input-file
即.asm的实际分析和编写由
analysis.idc
完成。查看它,我们可以看到:static main()
{
// turn on coagulation of data in the final pass of analysis
set_inf_attr(INF_AF, get_inf_attr(INF_AF) | AF_DODATA | AF_FINAL);
// .. and plan the entire address space for the final pass
auto_mark_range(0, BADADDR, AU_FINAL);
msg("Waiting for the end of the auto analysis...\n");
auto_wait();
msg("\n\n------ Creating the output file.... --------\n");
auto file = get_idb_path()[0:-4] + ".asm";
auto fhandle = fopen(file, "w");
gen_file(OFILE_ASM, fhandle, 0, BADADDR, 0); // create the assembler file
msg("All done, exiting...\n");
qexit(0); // exit to OS, error code 0 - success
}
,所以只需制作自己的脚本副本,删除写出
.asm
文件的部分(调用gen_file
),然后使用自己的脚本运行IDA: > ida -c -A -Smyanalysis.idc -Lida.log input-file
评论
这是前一阵子,但是味精打印在哪里呢?该脚本文件看起来仍然与您在此处发布的文件相同。如图所示,运行脚本时我看不到任何这些打印件。
– sherrellbc
5月13日17:03
@sherrellbc设置IDALOG = ida.log或使用-Lida.log开关
–伊戈尔·斯科钦斯基♦
5月19日7:04
如果将Python脚本用作-S的参数,那么ida_auto.auto_wait()是否足以作为与analysis.idc脚本中的auto_wait相似的调用?
– sherrellbc
9月30日15:59