找到核函数的地址

逆向工程 视窗 内核模式
2021-06-13 21:53:42

假设我有一个内核驱动程序 abc.sys。我没有 abc.sys 的符号。在 IDA 中,我找到了一个函数 sub_1400AAAAA,我想在 WinDbg 中找到它。我附上 WinDbg (kd),然后输入 lm。我发现 abc.sys 从 0xFFFF... 开始,所以要转到 sub_1400AAAA,我首先添加起始地址和 0xAAAAA,然后执行“db [添加的结果]”。但是,当我将 WinDbg 中显示的字节与 IDA 中显示的字节进行比较时,它们是不同的。我究竟做错了什么?

编辑:即使在加法的基础上减去 -0x1000,它也没有落在正确的位置。

1个回答

键入lm m abc.sys在WinDbg中,并找出哪些是加载地址。假设windbg显示

abc.sys  0x97370000   

现在转到 IDA 并在 IDA 中重新设置加载的图像。

如果我没记错的话,菜单段-> rebase 使用您在windbg 中找到的地址。

变基后,您不必添加减法或摸索,两者将具有相同的地址。