当我在特定应用程序上尝试的每个调试器中遇到断点时,Windows UI 会冻结,但调试器本身除外

逆向工程 视窗 调试器 反调试 视窗 10
2021-06-16 01:17:37

我正在尝试“跟踪”(只是设置断点、介入、跨步以了解某些事情是如何工作的)应用程序。但是如果应用程序通过断点进入挂起状态,屏幕上的所有内容都没有响应,我无法点击任务栏上的任何东西切换到另一个应用程序,我什至无法按Alt+Tab切换应用程序。唯一仍在工作的是调试器。

Windbg 是最糟糕的情况,当断点被击中时,它甚至对我的鼠标点击没有反应,我必须使用任务管理器来终止调试器和目标应用程序。

那么,这可能是某种反调试技术?有没有人知道这个?

我使用的调试器:

  • Visual Studio 2019(有效,但其他一切都冻结)
  • x64dbg(工作但其他一切都冻结)
  • Windbg(与其余部分一起冻结)
  • IDA Pro(与其余部分一起冻结)。
1个回答

我在一些应用程序中遇到过这个问题,发现在虚拟桌面上安装调试器意味着我可以回到另一个虚拟桌面,一切都 100% 正常

重新阅读后编辑,我没有得到确切的结果(通常使用旧版本的 Directx 之类的东西,屏幕可能会冻结,这有帮助)

尝试使用 ScyllaHide 进行调试并打开一堆选项,AFAIK 很多反调试器技巧会直接崩溃,但有可能他们使用了 NtSetInformationThread 的组合来阻止您的调试器,然后设置自己的调试器来捕获 int3并冻结系统