1

这个问题有点复杂。我想从一些检测程序中隐藏“作弊引擎”。他们正在运行程序列表中检查作弊引擎名称,并检查内存中是否有一些特殊的字符串或数据以检测该程序。我怎样才能制作完全无法检测的程序(已知)。

我尝试了一些技巧,例如“Windows Title Changer”。但是那些检测器正在检查内存以进行检测。所以我应该更改该程序的内存数据。但我不知道我该怎么做。任何想法?
先感谢您..

4

1 回答 1

1

您的目标不是让程序“完全未被检测到”,而是绕过开发人员使用的反作弊/反调试例程中存在的检测机制。原因是你不能做出“完全不被发现”的事情,这是一场猫捉老鼠的游戏,你只需要领先一步或在必要时更新,一旦被检测到就可以再次绕过。

解决方案是对检测方法进行逆向工程,其中一半是反复试验,另一半是反转正在执行的汇编指令并弄清楚它们的作用。这确实是一种艺术形式。您还需要考虑了解作弊引擎是如何工作的,因为它使用的某些技术(例如附加调试器和打开进程句柄)可以被检测到。

要绕过字符串检测,您可以使用十六进制编辑器打开 CheatEngine.exe,对字符串“Cheat Engine”进行查找和替换,然后将其替换为乱码,不要忘记也使用 unicode。您还必须更改文件夹名称,因为它还包含有问题的字符串。这检测作弊引擎的基本检测。下一步是通过使用IsDebuggerPresent()或通过手动检查进程环境块或 PEB 中的调试器标志来检测调试器。您可以通过修补函数或覆盖 PEB 中的标志来绕过这些。

有几乎无限的方法来检测对进程内存的未经授权的访问。

Peter Ferrie 撰写了必读的“终极反调试参考”。

于 2017-11-22T05:28:34.047 回答