如何获取IDC脚本的执行时间?

逆向工程 艾达 脚本
2021-06-16 02:57:11

作为初学者,我正在尝试使用 IDA Pro 6.8 反汇编文件。我为耗时的工作编写了一些IDC脚本。

现在,我想获取脚本的执行时间,但找不到合适的 IDC 函数。有没有人告诉我如何编写脚本获取执行时间?

提前致谢。

1个回答

您可以做些什么来解决 Ida 中缺少时间支持的问题:

IDC 有一个“Exec”命令(如评论中所述)允许您对操作系统进行任意调用。这可能会有所帮助。在“Exec”括号中,您输入命令的方式与在命令行中输入命令的方式大致相同。

下面是一个idc脚本文件

  • 将日期和时间和一些注释写入文件 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 的输出窗口显示如下:

在此处输入图片说明