目前,我正在.idb
通过idaw.exe -B <FILE>
. (我使用的是 IDA Pro 6.8。)这个过程还创建了许多.asm
文件 - 每个.idb
创建的文件一个。我不需要这些文件,所以它们只是被忽略/删除。
有没有办法.idb
从命令行生成文件而不生成.asm
文件?
目前,我正在.idb
通过idaw.exe -B <FILE>
. (我使用的是 IDA Pro 6.8。)这个过程还创建了许多.asm
文件 - 每个.idb
创建的文件一个。我不需要这些文件,所以它们只是被忽略/删除。
有没有办法.idb
从命令行生成文件而不生成.asm
文件?
在帮助页面的底部,您可以看到以下内容:
对于批处理模式,必须使用以下命令行调用 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