我试图找出如何获得模块的功能+线程的偏移量。与Process Explorer在其线程显示中的工作方式类似。实施例....
NTDLL!TplsTimerSet + 0x07c0
我可以毫无问题地拉出起始地址,我也可以解析模块的起始地址。我可以得到起始地址显示“ntdll.dll”加上偏移量(startaddress - baseaddress),但不是函数。所以我看起来像这样..
NTDLL + 3BC0C
我想找到偏移量所在的ntdll dll的哪个函数。在这种情况下,函数是Tplstimerset。我知道我必须计算偏移的差异和函数的地址,但这应该很容易。这段代码可以用Delphi / Pascal的C ++编写。谢谢你提前。
答案 0 :(得分:0)
在Process Explorer->选项->配置符号中,您可以看到使用符号文件来解析功能。
这些符号来自Microsoft,调试时windbg和Visual Studio都在使用它们。
如果您启动了windbg并加载了一个可执行文件,请键入“ x ntdll!*”以显示ntdll的所有命名函数,星号表示它匹配所有。
我假设您需要以编程方式获取命名函数的地址,可能需要.pdb file specification。