如何使用ntoskrnl.exe的基地址计算函数的地址

How to calculate the address of a function using the base address of ntoskrnl.exe

这是我迄今为止在测试机上确定的:

  1. ntoskrnl.exe的基地址是0xFFFFF802C8803000
  2. 使用 IDA imagebase 的地址是 0x0000000140000000
  3. 使用IDA函数地址为0x00000001401422D0
  4. 偏移量(3减2)确定为0x1422d0
  5. 函数地址确定为0xFFFFF802C8803000 + 0x1422d0 = 0xfffff802c89452d0
  6. Windbg 说地址是 0xfffff802c89454d0

以上计算是否正确?请告诉我我做错了什么?

感谢 Neitsa 找到了解决方案。我正在使用两个不同版本的 ntoskrnl.exe 一个版本用于 Windbg,另一个版本使用 IDA Free。