跳转到内容

Cheat Engine

本页使用了标题或全文手工转换
维基百科,自由的百科全书
Cheat Engine
原作者Eric "Dark Byte" Heijnen
开发者社群
当前版本
  • 7.5(2023年2月23日;稳定版本)[1]
编辑维基数据链接
源代码库https://github.com/cheat-engine/cheat-engine
编程语言Lazarus, C (内核模块)
操作系统WindowsMac[2]Linux (Wine, Server/Client for linux processes) [3]
语言英语 (主要), 西班牙语, 巴西葡萄牙语, 俄语, 波兰语, 中文
类型逆向工程, 调试, 反汇编
许可协议专有看源
网站官网

Cheat Engine,一般简称CE,是一个专有的看源软件,作者为Eric ("Dark Byte"),功能包括:内存扫描、十六进制编辑器调试工具,供WindowsMac操作系统运行。[4]Cheat Engine最常在电脑游戏中当做游戏外挂,有时会更新以避免被其他软件检测到。这个程序类似于L. Spiro的 "Memory Hacking Software"[5]、TSearch、以及ArtMoney[6]。透过Cheat Engine,用户可以查找与修改电脑的内存。

特色

[编辑]

Cheat Engine可以查询与修改程序经过反汇编后的内存。透过修改内存,用户可以在游戏里获得一些好处,例如无限的生命值、时间或弹药。它还包含一些Direct3D的工具让你可以透视墙壁,在一些高级选项里还可以替你移动鼠标,这功能可以用来制作aimbot。不过Cheat Engine主要使用在单人游戏,在多人游戏方面并不鼓励。[7]

Cheat Engine可以将代码注入其他进程,因此大多数的杀毒软件会将它误认为病毒。有一些版本可以避免这个问题,但许多功能会因此无法使用。产生这个问题的主要原因是因为Cheat Engine使用了一些与特洛伊木马相同的rootkits以获取部分系统的权限,除非停用杀毒软件的启发式扫描,否则将被视为可疑的程序。新版的Cheat Engine已渐渐不易被杀毒软件所阻挡,像是代码注入的一些功能也能运作无误。

6.1版的Cheat Engine可以制作专属的游戏插件——Trainer,并可输出成可执行文件。不过透过CEtrainer制成的trainer一般来说大小都很大。一些制作Trainer的团体会将成品做为"最终"版本发布在网络上。[8]因为用Cheat Engine做Trainer的容易性,一些热门网站甚至以CE的Trainer为讨论主题。[9]不过CEtrainer自6.1版以来就没有再更新,而是强调用Lua来制作trainer。[10]

实现方式

[编辑]

Cheat Engine有两个分支,Cheat Engine Delphi 和 Cheat Engine Lazarus。Cheat Engine Delphi主要提供给32位Windows XP。Cheat Engine Lazarus设计给32与64位的Windows 7。除了内核模块以外,Cheat Engine以Object Pascal所写成。

在Cheat Engine里,dbk32.dll这个动态链接数据库负责加载和初始化Cheat Engine的设备驱动程序以及调用替代Windows内核功能。因为Lazarus里关于异常处理有一个编程的错误,Cheat Engine Lazarus取消使用dbk32.dll,并且将驱动程序合并在主程序里。

内核模块可以用来设置硬件断点,并且可避开在Ring 3当中hook过的API,一些Ring 1的API也可避开。该模块被编译在Windows里的驱动程序开发工具包,以C语言写成。[11]

Cheat Engine也提供插件的架构给不想分享源代码的人,不过Cheat Engine引入插件的主要目的是成为一个通用共享的作弊工具,所以它们更常用于游戏中的特定功能。这些插件可以自Cheat Engine的官网与相关网站获取。[12]

因为DBVM此一虚拟机允许自用户模式访问内核空间,所以在Windows Vista与后期版本的Windows x64里使用DBVM之后,Cheat Engine Lazarus也可以加载它的无号64位设备驱动程序。DBVM被用于分配非标签页内存、内核模式、手动执行可执行的影像、在DriverEntry页面存档备份,存于互联网档案馆)里创造系统线程。然而,因为DriverEntry里的参数没有实际效果,所以驱动程序必须特别为DBVM再做修改。

窗体

[编辑]

"作弊窗体"是Cheat Engine的一种文件格式,它存储了地址、包括Lua在内的脚本、以及代码位置,通常以.CT为扩展名。Cheat Engine的用户可以透过它与其他人分享他们的地址和代码位置。[13]

作弊窗体使用简易,只需透过Cheat Engine打开窗体,然后激活/勾选已经存档好的作弊文件即可。由于保存与分享的容易,网络上一个庞大的Cheat Engine Forums已经形成。许多热门的作弊窗体会放在Cheat Engine官网上的专属区域里。[14]除了简单的内存地址之外,作弊窗体可以包含Lua脚本语言来扩展更多功能。所有Cheat Engine的行为都可以脚本化,甚至可以订制对话框以便跟脚本交互。[15]

参考

[编辑]
  1. ^ Release 7.5. 2023年2月23日 [2023年3月9日]. 
  2. ^ Port To Mac. [17 June 2011]. (原始内容存档于2014-11-03). 
  3. ^ Linux port. CE can be used on wine in windows processes and linux processes with the server/client (run the client in wine). [17 February 2014]. (原始内容存档于2015-01-01). 
  4. ^ About Cheat Engine. www.CheatEngine.org. [2008-03-20]. (原始内容存档于2008-03-17). 
  5. ^ 存档副本. [2015-01-01]. (原始内容存档于2014-12-17). 
  6. ^ 存档副本. [2015-01-01]. (原始内容存档于2014-12-30). 
  7. ^ CE Online Games Use. CE Discourages online games hacking. [2014-02-17]. (原始内容存档于2014-02-26). 
  8. ^ CE Trainers Mass Use. Deviated Trainers. 2012-05-18 [2012-05-18]. (原始内容存档于2013-01-21). 
  9. ^ Cheat Engine trainers popularity. [17 February 2014]. (原始内容存档于2015-01-01). 
  10. ^ CE Trainer maker using Lua scripts. Dec 3, 2012 [17 February 2014]. (原始内容存档于2015-01-01). 
  11. ^ Valk, Kevin. Cheat Engine - Trac - compileinfo.txt. Cheat Engine trac. 2008-12-20 [2008-03-20]. (原始内容存档于2009-08-19). 
  12. ^ Contributing to CE. Cheat Engine forums. 2007-01-24 [2008-03-20]. (原始内容存档于2008-03-03). 
  13. ^ Cheat Tables and their usage. DVT Gamehacking. [2013-03-27]. (原始内容存档于2013-04-10). 
  14. ^ Popular Cheat Tables on Main Site.. Cheat Engine Forums. 2004-10-14 [2013-03-27]. (原始内容存档于2013-01-22). 
  15. ^ Lua. Cheat Engine Wiki. 2013-06-11 [2014-01-04]. (原始内容存档于2014-01-04). 

外部链接

[编辑]