Cheat Engine
原作者 | Eric "Dark Byte" Heijnen |
---|---|
开发者 | 社群 |
当前版本 |
|
原始码库 | https://github.com/cheat-engine/cheat-engine |
编程语言 | Lazarus, C (内核模块) |
操作系统 | Windows,Mac[2],Linux (Wine, Server/Client for linux processes) [3] |
语言 | 英语 (主要), 西班牙语, 巴西葡萄牙语, 俄语, 波兰语, 中文 |
类型 | 逆向工程, 调试, 反汇编 |
许可协议 | 专有、看源 |
网站 | 官网 |
Cheat Engine,一般简称CE,是一个专有的看源软件,作者为Eric ("Dark Byte"),功能包括:内存扫描、十六进制编辑器、调试工具,供Windows和Mac操作系统运行。[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]
参考
[编辑]- ^ Release 7.5. 2023年2月23日 [2023年3月9日].
- ^ Port To Mac. [17 June 2011]. (原始内容存档于2014-11-03).
- ^ 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).
- ^ About Cheat Engine. www.CheatEngine.org. [2008-03-20]. (原始内容存档于2008-03-17).
- ^ 存档副本. [2015-01-01]. (原始内容存档于2014-12-17).
- ^ 存档副本. [2015-01-01]. (原始内容存档于2014-12-30).
- ^ CE Online Games Use. CE Discourages online games hacking. [2014-02-17]. (原始内容存档于2014-02-26).
- ^ CE Trainers Mass Use. Deviated Trainers. 2012-05-18 [2012-05-18]. (原始内容存档于2013-01-21).
- ^ Cheat Engine trainers popularity. [17 February 2014]. (原始内容存档于2015-01-01).
- ^ CE Trainer maker using Lua scripts. Dec 3, 2012 [17 February 2014]. (原始内容存档于2015-01-01).
- ^ Valk, Kevin. Cheat Engine - Trac - compileinfo.txt. Cheat Engine trac. 2008-12-20 [2008-03-20]. (原始内容存档于2009-08-19).
- ^ Contributing to CE. Cheat Engine forums. 2007-01-24 [2008-03-20]. (原始内容存档于2008-03-03).
- ^ Cheat Tables and their usage. DVT Gamehacking. [2013-03-27]. (原始内容存档于2013-04-10).
- ^ Popular Cheat Tables on Main Site.. Cheat Engine Forums. 2004-10-14 [2013-03-27]. (原始内容存档于2013-01-22).
- ^ Lua. Cheat Engine Wiki. 2013-06-11 [2014-01-04]. (原始内容存档于2014-01-04).