如何使用可执行文件的基地址定位函数的地址?
How to locate address of a function using base address of the executable?
好的,所以我有 ntoskrnl.exe 的基地址,并且想要定位既不导出也不导入的内部函数的地址。这如何在内核模式下完成?
您可以对该功能进行模式扫描,或者它具有静态RVA。方法有很多种,但最简单的方法是创建一个签名(例如使用 IDA Pro 中的 SigMaker)并在您的模块中扫描它。
对于导出的例程,这要容易得多:
https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-mmgetsystemroutineaddress
对于特定模块内,您可以手动遍历 EAT(导出地址 Table)。
好的,所以我有 ntoskrnl.exe 的基地址,并且想要定位既不导出也不导入的内部函数的地址。这如何在内核模式下完成?
您可以对该功能进行模式扫描,或者它具有静态RVA。方法有很多种,但最简单的方法是创建一个签名(例如使用 IDA Pro 中的 SigMaker)并在您的模块中扫描它。
对于导出的例程,这要容易得多:
https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-mmgetsystemroutineaddress
对于特定模块内,您可以手动遍历 EAT(导出地址 Table)。