现在,我想获取脚本的执行时间,但是找不到合适的IDC函数。有没有人告诉我如何编写脚本来获得执行时间?
预先感谢。
#1 楼
解决Ida中缺少时间支持的变通办法是:IDC有一个“ Exec”命令(如注释中所述),允许您对操作系统进行任意调用。这可能会有所帮助。在“ Exec”括号中,您输入的命令与在命令行中键入命令的方式几乎相同。将带有一些注释的日期和时间写入文件C:\ tmp \ mytime.tim。
读取此文件并将其内容分配给Ida的输出
窗口。
static main()
{
writeTime();
}
static writeTime()
{
Exec ("echo Date of script run #1234 was %date% >> c:\tmp\mytime.tim");
Exec ("echo Time of script run #1234 %time% >> c:\tmp\mytime.tim");
print("Time written into C:\tmp\mytime.tim");
auto h = fopen("c:\tmp\mytime.tim", "r");
auto date = readstr(h);
auto time = readstr(h);
if (date != -1 && time != -1)
{
Message("%s", date);
Message("%s", time);
}
else
Message("error\n");
fclose(h);
}
Ida的输出窗口显示以下内容:
评论
如果您允许我提出建议,我强烈建议您使用idapython而不是idc。据我所知,使用/提供所有python运行时似乎也更容易。@Abigail:可能有理由在Python上使用IDC;我们应该尝试按要求回答该问题,除非明显地被误导了。
很公平。 @ user6903,您可以尝试在IDC中使用call_system以某种方式获取系统时间,并将功能包装在调用中以获取系统时间。
@阿比盖尔我在IDA Pro 6.8的IDC功能列表中找不到call_system。您是说其他版本的IDA Pro吗?
在6.8中可能称为Exec。我不知道-因为我没有IDA Pro。由于您是客户,因此如果没有其他人可以提供帮助,我会尝试他们的支持。