Cheat Engine

維基百科,自由的百科全書
跳至導覽 跳至搜尋
Cheat Engine
File:Cheat Engine Logo.png
原作者Eric "Dark Byte" Heijnen
開發者社羣
目前版本
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    原始碼庫https://github.com/cheat-engine/cheat-engine
    程式語言Lazarus, C (內核模組)
    引擎
      Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
      作業系統WindowsMac[1]Linux (Wine, Server/Client for linux processes) [2]
      語言英語 (主要)、西班牙語巴西葡萄牙語俄語波蘭語簡體中文繁體中文
      類型逆向工程除錯反彙編
      許可協定專有看源
      網站官網

      Cheat Engine又稱CE修改器,一般簡稱CE,是一個專有的看源軟體,作者為Eric ("Dark Byte")。功能包括:記憶體掃描、十六進制編輯器除錯工具,供WindowsMac作業系統運行。[3]Cheat Engine最常在電腦遊戲中當做遊戲外掛,有時會更新以避免被其他軟體檢測到。這個程式類似於L. Spiro的 "Memory Hacking Software"[4]、TSearch、以及ArtMoney[5]。透過Cheat Engine,使用者可以尋找與修改電腦的記憶體。

      特色[編輯]

      Cheat Engine可以查詢與修改程式經過反組譯後的記憶體。透過修改記憶體,使用者可以在遊戲裡獲得一些好處,例如無限的生命值、時間或彈藥。它還包含一些Direct3D的工具讓你可以透視牆壁,在一些高級選項裡還可以替你移動滑鼠,這功能可以用來製作aimbot。不過Cheat Engine主要使用在單人遊戲,在多人遊戲方面並不鼓勵。[6]

      Cheat Engine可以將代碼注入其他進程,因此大多數的防毒軟體會將它誤認為病毒。有一些版本可以避免這個問題,但許多功能會因此無法使用。產生這個問題的主要原因是因為Cheat Engine使用了一些與特洛伊木馬相同的rootkits以取得部分系統的權限,除非停用防毒軟體的啟發式掃描,否則將被視為可疑的程式。新版的Cheat Engine已漸漸不易被防毒軟體所阻擋,像是代碼注入的一些功能也能運作無誤。

      6.1版的Cheat Engine可以製作專屬的遊戲外掛程式——Trainer,並可輸出成執行檔。不過透過CEtrainer製成的trainer一般來說大小都很大。一些製作Trainer的團體會將成品做為"最終"版本發布在網路上。[7]因為用Cheat Engine做Trainer的容易性,一些熱門網站甚至以CE的Trainer為討論主題。[8]不過CEtrainer自6.1版以來就沒有再更新,而是強調用Lua來製作trainer。[9]

      實現方式[編輯]

      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語言寫成。[10]

      Cheat Engine也提供外掛程式的架構給不想分享原始碼的人,不過Cheat Engine引入外掛程式的主要目的是成為一個通用共享的作弊工具,所以它們更常用於遊戲中的特定功能。這些外掛程式可以自Cheat Engine的官網與相關網站取得。[11]

      因為DBVM此一虛擬機允許自使用者模式訪問內核空間,所以在Windows Vista與後期版本的Windows x64裡使用DBVM之後,Cheat Engine Lazarus也可以載入它的無號64位元裝置驅動程式。DBVM被用於分配非分頁主記憶體、內核模式、手動執行可執行的影像、在DriverEntry頁面存檔備份,存於網際網路檔案館)裡創造系統執行緒。然而,因為DriverEntry裡的參數沒有實際效果,所以驅動程式必須特別為DBVM再做修改。

      表單[編輯]

      "作弊表單"是Cheat Engine的一種檔案格式,它儲存了位址、包括Lua在內的指令碼、以及代碼位置,通常以.CT為副檔名。Cheat Engine的使用者可以透過它與其他人分享他們的位址和代碼位置。[12]

      作弊表單使用簡易,只需透過Cheat Engine打開表單,然後啟用/勾選已經存檔好的作弊檔案即可。由於儲存與分享的容易,網路上一個龐大的Cheat Engine Forums已經形成。許多熱門的作弊表單會放在Cheat Engine官網上的專屬區域裡。[13]除了簡單的主記憶體位址之外,作弊表單可以包含Lua手稿語言來擴充更多功能。所有Cheat Engine的行為都可以指令碼化,甚至可以訂製對話框以便跟指令碼互動。[14]

      參考[編輯]

      1. ^ Port To Mac. [17 June 2011]. (原始內容存檔於2014-11-03). 
      2. ^ 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). 
      3. ^ About Cheat Engine. www.CheatEngine.org. [2008-03-20]. (原始內容存檔於2008-03-17). 
      4. ^ L. Spiro's Memory Hacking Software. [2025-11-15]. (原始內容存檔於2014-12-17). 
      5. ^ ArtMoney Game Cheater - Powerful and easy to use game cheat engine utility.. [2025-11-15]. (原始內容存檔於2014-12-30). 
      6. ^ CE Online Games Use. CE Discourages online games hacking. [2014-02-17]. (原始內容存檔於2014-02-26). 
      7. ^ CE Trainers Mass Use. Deviated Trainers. 2012-05-18 [2012-05-18]. (原始內容存檔於2013-01-21). 
      8. ^ Cheat Engine trainers popularity. [17 February 2014]. (原始內容存檔於2015-01-01). 
      9. ^ CE Trainer maker using Lua scripts. Dec 3, 2012 [17 February 2014]. (原始內容存檔於2015-01-01). 
      10. ^ Valk, Kevin. Cheat Engine - Trac - compileinfo.txt. Cheat Engine trac. 2008-12-20 [2008-03-20]. (原始內容存檔於2009-08-19). 
      11. ^ Contributing to CE. Cheat Engine forums. 2007-01-24 [2008-03-20]. (原始內容存檔於2008-03-03). 
      12. ^ Cheat Tables and their usage. DVT Gamehacking. [2013-03-27]. (原始內容存檔於2013-04-10). 
      13. ^ Popular Cheat Tables on Main Site.. Cheat Engine Forums. 2004-10-14 [2013-03-27]. (原始內容存檔於2013-01-22). 
      14. ^ Lua. Cheat Engine Wiki. 2013-06-11 [2014-01-04]. (原始內容存檔於2014-01-04). 

      外部連結[編輯]