我正在对这个程序进行逆向工程。在开始之前,我想明确表示我合法拥有该程序,并且不打算以再分发为目的“破解”它。
该程序使用了“书本”中的大量反调试技术。我决定 Hook GetProcAddress 并记录所有 API,然后识别可能用于反调试的 API。使用本教程中的代码后 http://www.codeproject.com/Articles/30140/API-Hooking-with-MS-Detours该程序最终因堆栈损坏而崩溃。我用谷歌搜索,发现其他人在连接 GetProcAddress https://easyhook.codeplex.com/discussions/55039 时也会出现堆栈损坏。
我的问题是 Hook GetProcAddress 是否会导致堆栈损坏,或者程序的反调试技术检测到干预并导致堆栈本身损坏?
最佳答案
通常, Hook GetProcAddress 不会导致堆栈损坏。我编写了多种工具,这些工具一直都在执行此操作,这些工具多年来一直适用于从 Windows 95 到 Windows 8.1 的所有 Windows 版本。
所以这可能是他们正在做的明确惹恼你的事情;)
关于c - Hook GetProcAddress 会导致堆栈损坏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24366154/