繁体   English   中英

如何检测作弊引擎?

[英]How detect Cheat Engine?

我想问你我如何检测作弊引擎?

这是我发现的:

  • 进程名
  • 进程主窗口标题
  • 进程图标文件 (?)
  • 处理 EXE 文件哈希
  • 进程EXE全路径

你知道其他方法吗?

我不是这个领域的专业人士,但我认为你提到的参数都不可靠。请记住,它是一个开源软件,因此所有这些都可以轻松更改(自定义构建)以欺骗您。

我认为像 CE 之类的所有程序中最常见的方面是DLL 注入(这是一个 Windows 术语,但在其他操作系统中也有类似的技术)。尽管这只是 CE 提供的功能之一。

所以你必须检查进程地址空间中所有加载的 DLL。你知道那里应该有什么,其他任何东西都被注入到你的进程中。你可以通过进程资源管理器检查它(确实存在可用于检测的相关 API自动(即没有用户与图形软件交互),但对不起,我不是 Windows 人。如果您想阅读更多内容, Chris Hoffman一篇很好的文章

如果有人提出更好的答案,我很高兴听到。

您可以将CreateToolhelp32Snapshot与此 api 一起使用,您可以获得系统中运行的每个进程信息,您可以使用EnumWindows获取 Windows 名称您可以绕道钩LoadLibraryALoadLibraryExA以检测是否有任何 dll 被注入并使用IsDebuggerPresentCheckRemoteDebuggerPresent来阻止进程调试

你说的大部分是外部扫描,基本上只是扫描作弊引擎的某些方面来检测它。

如果您计划检测它的反作弊,那么您提到的方法就不走运了,因为所有所说的东西都很容易被欺骗,如果您开始开发反作弊,我建议检测诸如代码注入或十六进制修改之类的东西。

如果您在一个项目上工作只是为了检测 CE 来表示一个功能,而不是专注于停止作弊引擎,那么您可以编写一个脚本来检测进程名称或 PID,对于 EXE 文件哈希和 EXE 完整路径,这些不可靠因为它们可以轻松地更改整个脚本历史记录并通过图标文件检测进程,您也很不走运,因为您需要知道进程名称或 PID 以获取有关进程的信息并 RIP 图标以读取它然后匹配图像.

窗口标题也确实不可靠,因为当内存黑客和其他与 CE 相关的东西时,CE 标题会发生很大变化。

进程名称也非常不可靠,因为在内存黑客等情况下,CE 标题会再次更改。

检测 CE 的可靠方法是检测其调试器,尝试检测 CE 何时将其调试器附加到进程,并扫描 CE 注入和使用的未知库。

对于检测 CE,我建议您尝试检测 CE 调试器的基地址,您也可以尝试检测某些程序集运动,例如此处

alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem:
// NULL

originalcode:
mov [ecx+38],eax
mov eax,[edx+3C]

exit:
jmp returnhere

"process.exe" +B5B23
jmp newmem
nop
returnhere:

这是 CE Debugger 使用的代码注入脚本

这只是您需要检测的示例,但是您需要一个非常优化的脚本和快速脚本来尝试扫描程序集字节和地址的过程以查找特定的字节数组。 如果您打算这样做,我建议使用 C++ 或 C# 对其进行编码,在这种情况下 Python 并不可靠,因为您需要扫描内存地址,并且使用当前的 Python 内存黑客库工具集,它无法在其中工作这种情况所以我推荐 C++ 或 C#。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM