At the bottom of the help page you can see the following:
For batch mode, IDA must be invoked with the following command line:
ida -B input-file
which is equivalent to:
ida -c -A -Sanalysis.idc input-file
I.e. the actual analysis and writing of .asm is done by analysis.idc. Looking into it, we can see:
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
}
So just make your own copy of the script, remove the part writing out .asm file (gen_file call), and run IDA with your own script:
ida -c -A -Smyanalysis.idc -Lida.log input-file
msgprints directed? This script file still looks identical to what you have posted here. I don't see any of those prints when running the script as shown. – sherrellbc May 13 '20 at 17:03-Lida.logswitch – Igor Skochinsky May 19 '20 at 07:04-S, isida_auto.auto_wait()a sufficient call to have a similar effect asauto_waitfrom theanalysis.idcscript? – sherrellbc Sep 30 '20 at 15:59