【发布时间】:2021-07-09 15:48:27
【问题描述】:
我需要在WinDBG中获取.fnret命令所需函数的地址。
例如,我想获取有关 apphelp!ApphelpCheckRunApp 函数的返回值的信息。
首先,我在这个函数上设置了一个断点:
bp apphelp!ApphelpCheckRunApp
然后我将继续执行,直到它在该函数上中断。
破解后,我正在执行.fnret [Address]命令。
我已经尝试使用断点上显示的77b345d5地址:
Breakpoint 0 hit
eax=77b345d5 ebx=7ed320f5 ecx=7ffac000 edx=7c886920 esi=7ffac000 edi=00000018
eip=77b345d5 esp=0378ce90 ebp=0378d108 iopl=0 nv up ei pl nz ac po cy
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000213
appHelp!ApphelpCheckRunApp:
77b345d5 8bff mov edi,edi
但这似乎不是我需要的,因为我收到以下错误:
^ Unknown or unsupported return type in '.fnret 77b345d5'
我还使用了调用堆栈中此函数的返回地址7c818cdf(通过kb 命令获得):
ChildEBP RetAddr Args to Child
0283ce8c 7c818cdf 00000474 046bb7d0 00000000 appHelp!ApphelpCheckRunApp
但这会导致我犯同样的错误。
我应该使用哪个 WinDBG 命令以及它将显示哪个返回地址(以防断点上尚未显示)?那么它是否适用于.fnret 或.fnret /s 命令?不幸的是,在 MSDN 上没有任何使用它们的示例,只有文档。
希望得到您的帮助。提前致谢。
【问题讨论】:
标签: windbg