自动绕过反调试检查

逆向工程 开箱 x64dbg 自动化
2021-06-17 08:27:01

我正在努力绕过 x64dbg 中解包程序的反调试检查。我的最终目标是绕过所有检查,以便我可以运行带有调试器的(未修改的)进程而不会出现任何问题。

为了绕过我到目前为止遇到的检查,我有一个大约 15 个动作的过程,包括设置断点、跳过指令、在某些条件下跳过系统调用等,至少需要几分钟才能达到这一点我离开的地方。

由于手动执行这些操作既耗时又容易出错,我想将其自动化。

我正在考虑构建一个 C++ 应用程序,它将启动可执行文件,附加并绕过我迄今为止解决的所有检查,然后挂起程序并分离,以便我可以使用 x64dbg 附加并恢复我的倒车......或也许用 x64dbg 插件来做这件事是一个更好的主意?做到这一点的最佳方法是什么?

2个回答

你可以做什么:

  1. 对于每个找到的反调试,用旁路修补 exe 并继续修补修补程序。

  2. 如果您的调试器可编写脚本(例如 Ida),请在脚本下运行它,在脚本中插入断点并绕过脚本中的反调试。这在静态修补不可能或困难的“动态”反调试情况下特别有用。

后一种方法类似于您的 C++ 想法,但更灵活,因为您可以完全在调试器中工作。

您不需要任何外部插件,这已经是 x64dbg 中的内置功能:

在此处输入图片说明