当前,我正在反转Windows驱动程序,并且IDA无法自动识别很多结构,这意味着我必须通过解析C头文件来手动导入它们。

但是,有一些方法嵌套的结构/联合太多,我必须修改每个嵌套的结构/联合,以便IDA可以正确解析它。它们是如此之深,它们使我花更多的时间在添加结构上而不是实际上进行反向操作。

有什么方法可以这样做吗?需要使用Ctrl + F9,但是IDA不了解例如#include和错误,使得该选项无法使用

#1 楼

View->Open subviews->Type Libraries(Shift-F11),右键单击,Load Type Library...wdk8_km

#2 楼

创建一个空文件,包括所需的任何头文件,添加一个DriverEntry并在启用调试符号且未进行优化的情况下进行编译。现在将测试驱动程序加载到IDA中。如果操作正确,则所有类型都应该可用。
您应该能够通过File->Produce File->Dump typeinfo to IDC file...导出所有类型,然后将脚本加载回File->Script File...

评论


很聪明的把戏!这次我将回答Igor的问题,但是您肯定会赞成我的,因为即使IDA不支持我需要的类型库,这也可以工作。

–rev
16年7月31日在9:33