目前我正在反转 Windows 驱动程序,并且有很多结构 IDA 无法自动识别,这意味着我必须通过解析 C 头文件手动导入它们。
但是,嵌套的结构/联合太多了,我必须修改每一个,这样 IDA 才能正确解析它。它们如此深入,让我花更多的时间在添加结构上,而不是真正地反转。
有没有办法做到这一点?
我确实尝试用Ctrl+解析我需要的文件F9,但 IDA 不理解诸如#include
s 和错误之类的东西,因此无法使用此选项
目前我正在反转 Windows 驱动程序,并且有很多结构 IDA 无法自动识别,这意味着我必须通过解析 C 头文件手动导入它们。
但是,嵌套的结构/联合太多了,我必须修改每一个,这样 IDA 才能正确解析它。它们如此深入,让我花更多的时间在添加结构上,而不是真正地反转。
有没有办法做到这一点?
我确实尝试用Ctrl+解析我需要的文件F9,但 IDA 不理解诸如#include
s 和错误之类的东西,因此无法使用此选项
View->Open subviews->Type Libraries
( Shift-F11), 右键单击, Load Type Library...
, wdk8_km
。
创建一个空文件,包含您想要的任何头文件,添加一个DriverEntry
并在启用调试符号且不进行优化的情况下进行编译。现在将测试驱动程序加载到 IDA 中。如果操作正确,所有类型都应该可用。您应该能够导出所有类型,File->Produce File->Dump typeinfo to IDC file...
然后重新加载脚本File->Script File...
。