IDA Pro:有没有命令行方式生成idb文件而不生成asm文件?

逆向工程 艾达
2021-06-11 01:02:34

目前,我正在.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