我正在调试一个我没有源代码的第三方 DLL。此 DLL 维护一个字符串池。我想捕获这些字符串之一被传递给函数的最早出现......任何函数......
换句话说,我想检测具有某种格式的指向空终止字符串的指针何时被任何人推入堆栈......并且我想在发生这种情况时执行调试中断。
我知道您可以设置一个“访问中断”断点,该断点将在 CPU 读取/写入/执行特定地址时触发。我想要的是类似于这样:对于每个压入堆栈的字符串,我想针对某种格式对其进行测试,如果匹配,则执行中断。
使用 WinDbg、OllyDb、VS2008 等等……有什么想法吗?
谢谢!