【发布时间】:2010-06-20 22:12:59
【问题描述】:
我刚刚发现了如何闯入 Windows dll (user32.dll) 中的 SetTimer 函数。 link text
但是我需要知道它用什么参数调用。我认为在调用函数之前将参数推送到数据堆栈中,但我发现无法在 Visual Studio 2010 中显示线程数据堆栈。
【问题讨论】:
标签: debugging winapi visual-studio-2010 pe-exports
我刚刚发现了如何闯入 Windows dll (user32.dll) 中的 SetTimer 函数。 link text
但是我需要知道它用什么参数调用。我认为在调用函数之前将参数推送到数据堆栈中,但我发现无法在 Visual Studio 2010 中显示线程数据堆栈。
【问题讨论】:
标签: debugging winapi visual-studio-2010 pe-exports
打开内存调试窗口,并在 ESP 处加载地址(您可以从寄存器窗口中获取)。 ESP 指向栈顶。如果您稍微向上滚动窗口,您会看到最近被压入堆栈的内容。确保将内存窗口设置为显示一列 4 字节整数(除非您是 64 位应用程序,否则使用 8 字节)。
【讨论】:
如果你打开调用堆栈窗口(调试 -> 窗口 -> 调用堆栈),你应该能够双击调用堆栈上的函数,查看参数、局部变量等。
【讨论】:
SetTimer,那么你可以只查找调用堆栈以查看调用了 SetTimer:假设你有源代码/符号(我假设他有)那么它应该没问题。