正文

CE(CHEAT(ENGINE)修改器新手入門教程)

5424

大家好,小太來為大家解答以上問題。CE(CHEAT,ENGINE)修改器新手入門教程這個很多人還不知道,現(xiàn)在讓我們一起來看看吧!

目錄準備:下載安裝CE第2級:精確掃描數(shù)值第3級:掃描未知數(shù)值第4級:掃描浮點數(shù)第5級:代碼替換函數(shù)第6級:關(guān)于指針第7級:簡單代碼注入第8級:尋找多級指針。

作弊引擎一般簡稱CE,是一款開源的作弊軟件。它的功能包括:內(nèi)存掃描,十六進制編輯器,和調(diào)試工具。作弊引擎本身自帶一個插件制作工具,可以用來直接生成插件工具。CE可以說是目前最好的游戲修改器之一,這個工具絕對值得學習(只需要一點時間)。

本章將引導小白學習如何使用CE。因為是入門教程,所以不會講解一些深奧的原理。它的目的是教你如何使用這個工具修改一些游戲中的數(shù)據(jù),快速上手。在這里,我們將使用CE中內(nèi)置的Tutorial-i386.exe工具進行教學演示。如果你能在演示工具中靈活掌握每個關(guān)卡的通關(guān)流程,相信你也能把學到的技術(shù)運用到其他任何游戲中。除非做好充分準備,否則暫時不要嘗試附加網(wǎng)游。

更多教程:https://www.cnblogs.com/LyShark/category/1496775.html

準備:下載并安裝CE

首先,CE工具的官網(wǎng)是https://www.cheatengine.org/.下載后,解壓到指定目錄直接打開作弊Engine.exe,即可使用。給你準備好了。

CE6.8中文版CE7.1中文版

鏈接:https://pan.baidu.com/s/19YliG62wh8BOnl6fDKZPSg提取代碼:p926

Ce(作弊引擎)中文入門課程[原CCB]

類型:其他工具尺寸:語言:時間:2021年10月2日查看詳情

工具打開后,默認為英文。你需要修改一下,如下圖。選擇編輯-設(shè)置-選擇中文,重啟。

1.解壓后打開CE目錄,可以看到下面的目錄結(jié)構(gòu),其中作弊Engine.exe是CE的主進程,而Tutorial-i386.exe是一個練習環(huán)境,我們后續(xù)的內(nèi)容會重點介紹這個練習環(huán)境。

2.然后我們打開作弊Engine.exe(或cheatengine-i386.exe,如果系統(tǒng)是32位)。請確保以管理員權(quán)限運行CE修改器,如下所示:

3.使用CE修飾符來附加cheatengine-i386.exe進程。操作過程如下:

教程到此結(jié)束。第一關(guān)就是這么簡單。

好,點擊下一步按鈕進入下一步(或者輸入密碼進入你要練習的步驟)

第二關(guān):精確掃描數(shù)值。

附加Tutorial-i386.exe進程后,我們單擊教程的下一步按鈕,然后繼續(xù)第二個級別。第二關(guān)的功能還是很簡單的,主要目的是遍歷我們想要的動態(tài)數(shù)據(jù),比如人物的壽命,人物的魔力等。將被準確掃描。可以說這個關(guān)卡既簡單又實用,也是以后外掛制作中最常用的環(huán)節(jié)。那么,我們來看看Tutorial-i386.exe程序?qū)@一關(guān)通關(guān)流程的描述:

第二步:掃描精確值(密碼=090453)

現(xiàn)在,您已經(jīng)在作弊引擎中打開了培訓計劃,您已經(jīng)為我們的下一個練習做好了準備。

該窗口左下方顯示的“健康:XXX”,

每次你點擊“打我”按鈕,它的值就會減少。

要進入下一個級別,必須找到這個值并將其更改為1000。

有很多方法可以找到這個值的位置,但我會告訴你一個最簡單的方法,‘精確值’掃描:

上面簡單描述的意思是,如果你需要把100換成1000,就過關(guān)了。具體步驟見下面。

1.首先,游戲的規(guī)則是我們每點擊一次打我按鈕,生命值就會減一。首先,我們搜索這100,看看是否能找到什么。

現(xiàn)在開始搜索100的精確值。在值中輸入100,然后單擊第一個掃描按鈕。

一般游戲默認是4字節(jié)。您不需要在這里更改掃描類型和數(shù)值類型。默認就可以了。

這次掃描我們得到了35個結(jié)果,肯定有我們要找的血量值,但是好像太多了,繼續(xù)找。

關(guān)鍵步驟:為了找到更準確的數(shù)據(jù),我們回到教程,并點擊擊中我按鈕。這時,血量值發(fā)生了變化:

讓我們再次輸入95,然后單擊“再次掃描”按鈕。只剩下一個結(jié)果(這是我們正在尋找的)。我們雙擊該地址,將其添加到地址欄中:

此時,地址欄中只有一個結(jié)果。這是我們正在尋找的內(nèi)存地址。雙擊它,將其添加到地址欄中。

雙擊值95,將其更改為1000。點擊確定按鈕,通關(guān)即完成。

此時,當您返回Tutorial-i386.exe程序時,您會發(fā)現(xiàn)教程的“下一步”按鈕變?yōu)榭捎谩T俅螁螕簟按蛭摇卑粹o,值會變大。繼續(xù)點擊下一步進入第三關(guān)。

第三關(guān):未知值掃描

經(jīng)過第二關(guān)的練習,你已經(jīng)明白了如何用‘精確值’去掃描求值。讓我們進入下一步。

這個入口主要用來搜索進度條,人的血條等。因為這些數(shù)據(jù)通常是一個進度條,我們無法直接看到數(shù)據(jù)。這時候就可以通過篩選變化的數(shù)據(jù),一步步找到動態(tài)地址。

步驟3:未知的初始值(密碼=419482)

上一遍,我們知道初始值的大小,所以可以用‘精確值’掃描,但是這一遍只有一個狀態(tài)欄,不知道它的初始值。

我們只知道這個值在0到500之間,每點擊一次‘打我’就會減少一次,減少的生命值會顯示在進度條的頂端。

這一點很重要,因為在某些游戲中,血顯示的不是數(shù)字而是血條,所以教程2中的方法會失效。

就看你教你怎么修改這些討厭的未知數(shù)了。

此時,單擊CE修改中的新掃描,然后選擇未知初始值。其他選項不需要移動。

點擊第一次掃描,然后肯定有超過N個結(jié)果,因為有這么多的CE沒有顯示出來。

老辦法,回Tutorial.exe,打我,CE會告訴你血量減少了多少,比如-6。

這里換個思路吧。假設(shè)CE沒告訴我減了多少或者我根本沒看清楚。那我們該怎么辦?觀看下面的操作。

一、掃描減少的數(shù)值:下拉框,選擇減少的數(shù)值,再次按掃描(此時血容量減少)。

二、掃描不變的數(shù)值:拉框,然后選擇不變值(此時血量沒有變化)。

三、反復操作:回到教程,點擊打我=掃描減少的值=掃描不變的值。重復操作,最后只剩下4個地址。

四、簡單判斷:簡單判斷(教程告訴你這個值小于500)很容易找到最終地址。

雙擊地址將其添加到地址欄,然后將值更改為5000。

就可以通過考試了(前面的教程里有提到,這里就不贅述了)。

每個人都必須理解這次行動的想法:

血容量減少=CE搜索減少的值

恒定血容量=CE搜索的恒定值

血量增加=通過CE搜索增加的值。

通過反復篩選,很容易找到最終結(jié)果。

第四關(guān):浮點數(shù)掃描。

在之前的教程中,我們使用了4字節(jié)掃描,但有些游戲使用了‘浮點數(shù)’來存儲數(shù)值(這樣做是為了給新手制造一些麻煩,讓他們修改游戲不那么容易)。

浮點數(shù)是帶小數(shù)點的數(shù)值(如5.12或11321.1)。就像關(guān)中的衛(wèi)生和彈藥,都是用浮點方式存儲數(shù)據(jù)。不同的是,生命值是單精度浮點數(shù),而彈藥值是雙精度浮點數(shù)。

第四步:浮點數(shù)(密碼=890124)

點擊‘打我’減少一些生命值,點擊‘開火’消耗0.5彈藥。

這兩項都要修改到5000以上才能過關(guān)。

雖然‘精確值’掃描方式也可以完成這一級別的工作,但是你應該嘗試其他更簡潔的掃描方式。

1.掃描浮點數(shù)時,我們需要將數(shù)值類型改為浮點數(shù)。掃描浮點數(shù)時,不必輸入小數(shù)97.0000。掃描浮點數(shù)時,輸入97即可。

2.此時,將浮點數(shù)97更改為6000。

3.然后搜索雙浮點數(shù),也就是找到彈藥的內(nèi)存地址。

4.最后重寫彈藥,從99.5改成6000通關(guān)。

5.最后,點擊下一步,這一關(guān)。

這里應該強調(diào)的是:

浮點數(shù)的長度為4個字節(jié),可以用4個字節(jié)搜索浮點數(shù),但需要模糊搜索。

雙浮點數(shù)的長度為8個字節(jié),使用8個字節(jié)可以搜索浮點數(shù),但需要模糊搜索。

現(xiàn)在很多游戲都是用浮點數(shù)處理的。比如你掃描一個游戲,發(fā)現(xiàn)一個值是1120403456,然后你就要把它當成一個浮點數(shù)。

4字節(jié)1120403456=浮點數(shù)100。目前大部分游戲都是基于4字節(jié)(包括浮點數(shù))。

第五關(guān):代碼替換功能

有些游戲重啟時,數(shù)據(jù)會存儲在與上次不同的地方,甚至在游戲過程中數(shù)據(jù)的存儲位置也會發(fā)生變化。在這種情況下,您仍然可以通過幾個簡單的步驟來修復它。

這一次,我將盡力解釋如何使用'代碼替換'功能。第五級的值會在每次啟動教程時存儲在內(nèi)存中的不同位置,因此地址列表中的固定地址不起作用。

步驟5:代碼替換(密碼=88899)

此開關(guān)的目的是禁用改變數(shù)值的按鈕。很神奇,但是有什么用呢?

1.在游戲中,我們可以用這個功能來保持錢數(shù)不變。

2.可以使用該功能禁用怪物攻擊,從而達到無敵效果。

3.讓彈藥不減,達到無限彈藥的效果。

好處太多了,用這種方法可以輕松實現(xiàn)上述功能。

提示:如果你鎖定地址的速度足夠快,“下一步”按鈕也會變成可點擊的。

1.首先,找到血容量的內(nèi)存地址。如果找不到,先看看前面的關(guān)卡,這里就不贅述了。然后,右鍵單擊該地址=找出是什么重寫了該地址:

2.在彈出的小窗口中點擊是按鈕,會彈出如下所示的小窗口。該窗口目前沒有任何數(shù)據(jù)。

3.然后,我們返回教程,并單擊教程中的“更改數(shù)值”按鈕。將出現(xiàn)以下代碼MOV[EAX]。EDX不在乎他的意思。

4.一行代碼將出現(xiàn)在小窗口中。選擇代碼并單擊替換按鈕。

5.最后一步:按OK即可。

6.然后回到附加程序,單擊按鈕更改值。你會發(fā)現(xiàn)按鈕沒用。此關(guān)閉操作已經(jīng)結(jié)束。

操作很簡單,但為什么這會使按鈕的功能失效:

實際上,更改按鈕通過代碼0045aecb-8910-mov[eax],edx更改值。

我們操作的最后一步是把這行代碼替換成什么都不做(英文是Nop),這樣會禁用按鈕的功能。

第6級:關(guān)于指針

在上一步中,我們解釋了如何使用'代碼替換'函數(shù)來處理改變位置的數(shù)據(jù)地址,但這種方法往往達不到預期的效果,所以我們需要學習如何使用指針。

在Tutorial.exe窗口的底部有兩個按鈕。一個按鈕可以更改值,另一個按鈕不僅可以更改值,還可以更改值在內(nèi)存中的存儲位置。

接下來,我們將找到內(nèi)存中的基址。為什么我們需要找到指針?在之前的教程中,如果你仔細觀察,你會發(fā)現(xiàn)我截圖中的地址和你的不一樣。

也就是說,這些地址總是在變化的,我們稱之為動態(tài)地址。

第六步:指針:(密碼=098712)

問題:計算機每次是怎么知道這個動態(tài)地址到底是什么的?

其實不是所有的地址都會變。也有在內(nèi)存中不會改變的地址。我們稱它為基址。

實現(xiàn)思路:用不變地址定位可變地址,也就是用基址定位動態(tài)地址。

1.首先,像往常一樣,我們先找到程序的動態(tài)地址。我們搜索100,如下所示。

2.單擊以更改值并繼續(xù)搜索。

3.找到血量的地址后,添加到地址欄,然后右鍵點擊地址=找出是什么重寫了這個地址,然后點擊修改值按鈕,出現(xiàn)一行代碼(見第五級)。雙擊該行代碼(或單擊詳細信息)。

4.然后會出現(xiàn)一個信息框。具體代碼是什么意思就不解釋了。CE會告訴你下一步該做什么。圖:

CE接下來我們找01732898(可能不是你電腦上顯示的這個地址因為是動態(tài)地址)繼續(xù)操作:

5.返回CE,點擊新建掃描,先打勾十六進制,填寫01732898,點擊首次掃描。

確保勾選十六進制,否則CE在搜索十六進制字母時會報告錯誤。搜索結(jié)果出來了:

這個地址00601630用綠色顯示,在你的電腦上也應該是這個地址,因為是基址。

記住:CE中顯示的綠色地址是基址,黑色地址是動態(tài)地址。

6.手動添加指針,然后單擊手動添加地址。

圖,輸入00601630,點擊確定。

7.注意:指針在地址欄中顯示p地址的類型。

我們把值改成5000,然后點前面的鎖。

然后點擊教程里的改變指針按鈕,這一關(guān)就過了。

這一關(guān)很重要。大家一定要多練習(學會前六關(guān),已經(jīng)可以修改大部分游戲了)

描述:

1.并不是所有的游戲都需要找到基址再做指針。有些游戲直接是基址。

2.基址是綠色的。如果末尾有多個綠色地址,一般情況下,選擇第一個。

級別7:簡單的代碼注入

從這個關(guān)卡開始,你會初步接觸到CE的反匯編功能,這也是CE最強大的功能之一。在第6級,我們討論了尋找指針和用基地址定位動態(tài)地址。但是這個級別可以不用指針修改,哪怕對方是動態(tài)地址,功能更強大。

代碼注入是將您編寫的一小段代碼注入目標流程并執(zhí)行它的技能。在本教程中,你將有一個健康值和一個按鈕,每次按下它都會減少你的健康值1點。你的任務是使用‘代碼注入’,每按一次按鈕增加2點生命值。

步驟7:代碼注入:(密碼=013370)

教程里每按一次按鈕,就會自動減1點血。你的任務是每按一次按鈕就換成增加2點血。

還記得5級的無血修改法嗎?這個級別是5級的加強版。

建議您刪除原始代碼中減少生命值的那一行,否則您將不得不添加3個生命值。

照例根據(jù)動態(tài)數(shù)據(jù)反復搜索,找到血量的地址,然后右鍵地址=找到寫的地址。為什么找不到被訪問的地址?這里不需要懂,照做就是了。

然后點擊hitme按鈕,會出現(xiàn)一行匯編代碼0042585d-83ab780400001-subwordptr[ebx00000478],01。

該指令的作用是將[ebx678]地址中的數(shù)據(jù)減1,sub是減法的匯編格式。

雙擊該行代碼以查看詳細信息:

這個代碼是什么意思?眾所周知,Sub的意思是減少

紅框中:EBX=0184D5E0,我們用計算器算一下(注意是十六進制)

14d5e0478=184da58——只是血容量的動態(tài)地址。

夠清楚了嗎?這是血量減1的代碼(1省略)。實際上,在CE中也有減1的提示。

知道了這行代碼的意思,我們再回到教程的要求:把負1改成正2。

繼續(xù)操作。選擇反匯編程序,如下所示

單擊工具并選擇自動裝配。

第一步:選擇ct工作臺框架代碼

第二步:選擇代碼注入。

別搞錯了,對應的地址是'Tutorial-i386.exe'2585D,這里沒必要搬,保持默認就好。

然后按確定,匯編代碼就會自動生成。這些代碼是什么意思?我們不需要擔心,找到關(guān)鍵行:subdwordptr[ebx00000478],01

將原來的子dwordptr[ebx00000478],01改為添加dwordptr[ebx00000478],02,每次增加2。

然后你可以在地址欄看到這個腳本。點擊前面的單選框執(zhí)行,然后點擊教程里的打我。這個水平是可以過的。

你感覺到他的魔力了嗎?逆水平的修改:

1.每次怪物打我,都是從傷血變成加血。

2.發(fā)射更多的子彈。

3.錢花得越多,花得越多。

如果你學會了這個水平,你就脫離了菜鳥的行列,已經(jīng)可以應付大部分比賽了。

第八層:尋找多級指針。

這是6級的加強版,也是CE6中的4級指針。x教程比5.x中的簡單,多級指針就像玩益智游戲。拼圖不止一個,盒子里還有盒子。有四級指針,也有八級指針,十二級指針等。在游戲中。想法是一樣的。

在這一步,我們將解釋如何使用多級指針。在第6步中,您已經(jīng)知道了一級指針的概念和用途,您可以使用值的第一個地址來查找存儲數(shù)據(jù)的真實基址。

在這一遍中,您將看到四級指針,它們從第一個指針指向第二個指針,然后從第二個指針指向第三個指針,再從第三個指針指向第四個指針,最后指向健康值的真實基址。

第八步:多級指針:(密碼=525927)

第一步與第六步基本相同。找出是什么訪問了這個地址,然后記錄下動態(tài)地址。

然后我們一步一步向下搜索。在搜索的過程中,我們分別記錄動態(tài)地址和對應的偏移地址。

最后把這些地址加起來,鎖定值為5000,點擊改變指針,就可以通關(guān)了。

1.第一步,你需要按照第二遍中的方法找到動態(tài)地址,然后添加到地址欄中。

查找一級指針:找到血容量地址0169B5F8(動態(tài)地址),然后右鍵=查找寫入。

然后返回到教程程序,并單擊更改值按鈕,如下所示

單擊詳細信息。

出現(xiàn)的代碼的詳細信息。

這個怎么看?ESI=0169B5E0

ESI18=0169B5F8是血容量的地址,也就是。要找血容量的地址,就得找ESI。注意圖中的一行:

用于查找地址的指針的可能值是0169B5E0。

如果覺得分析太麻煩,就按照CE的建議做吧。這里要提醒你的是可能這個詞,也就是說可能不全對。

六級也提到了偏移的概念。這里的一階失調(diào)為18。

總結(jié):一級偏移量為18,下一個搜索目標為0169B5E0。

查找二級指針:,查找ESI,勾選hex(十六進制),輸入0169B5E0進行新的掃描。

然后在地址欄添加新地址0169B5E0,右鍵地址=選擇要訪問的地址。

一定要注意:這里的操作和上面的不一樣。第一次是找寫的地址,這一次的選擇是找訪問的地址。

如果沒有代碼信息出現(xiàn)。我們只需點擊教程中的更改值按鈕,然后將收集兩個指令。cmp指令與指針無關(guān),但對我們有用的是第二條指令movesi,[esi]。

由于這是movesi,[esi]默認情況下,我們將其偏移地址視為0。

然而,問題來了。我們發(fā)現(xiàn)這里顯示的地址與上次顯示的地址相同。為什么?

CE默認使用硬件斷點,只有在指令執(zhí)行后才能停止,而這條指令只是將esi原來指向的地址中的值重新賦值給esi,所以esi的值在執(zhí)行后已經(jīng)被覆蓋,而我們想知道的恰恰是執(zhí)行這條指令前esi的值,esi就是我們監(jiān)控的地址。

所以直接搜這個地址就行了。

在下面添加地址0168495C,然后使用找出訪問此地址的內(nèi)容,并再次執(zhí)行此操作。

最后二階偏置為0,下一個目標為0169B5E0。

查找三級指針:接下來,和找一級指針一樣。這里,我們選擇彈出框中的第二條指令。可以看出,次級偏移是14。

繼續(xù)尋找三級指針,方法同上。這里,三級指針是0c。

最后得出第三級偏移為0c,下一個目標為01684628。

查找四級指針:繼續(xù)搜索動態(tài)地址01684628,如下。

記住:CE中綠色的地址是基址,黑色的地址是動態(tài)地址。如果有多個綠色地址,我們通常選擇第一個。

我們已經(jīng)找到了這里的所有地址。讓我們把它們串起來看一看。

00601660c14018

取出基址(一級指針)的值'Tutorial-i386.exe'1FD660,加上一級偏移量0C作為地址,這是二級指針的地址,然后取出二級指針的值,加上14,這是三級指針的地址,以此類推。

添加并測試指針:最終測試,指針是否有效。

添加鎖值5000,然后單擊示例中的更改指針按鈕,看看是否可以清除。

多級指針需要注意什么:

1.1級指針是查找寫,其余的是查找訪問。

2.綠色地址是基址,黑色地址是動態(tài)地址。

3.添加指針時注意模塊地址。

4.指針是由偏移量處的基址組成的,所以在教程中我們只需要找到4個偏移量和1個基址。

我建議如果想深入學習,最好學習Windows32位匯編語言。

第9級:找到共享代碼

我們將學習共享代碼。在C語言中,字符屬性以結(jié)構(gòu)的形式存儲,結(jié)構(gòu)中存儲的信息是連續(xù)的。我們將解釋如何處理游戲中的共享代碼,這種代碼通常用在除了我們自己之外的其他同類型對象上。

往往你在修改游戲的時候,會發(fā)現(xiàn)一個單位的生命值,或者自己角色的生命值。你會發(fā)現(xiàn)一個情況:如果去掉生命值相關(guān)代碼,結(jié)果是你的角色無敵,但你的敵人也無敵。這就是共享代碼造成的鬼。

第九步:注入:(密碼=31337157)

這個游戲模擬了一個游戲,左邊是我方,右邊是敵方。當我們點擊重啟自動執(zhí)行的時候,我們這邊會因為血量不足而死亡。

你的任務是找到重寫生命值的代碼,并修改它,這樣你就能贏,但永遠不要使用鎖定生命值的方法。

提示:遍歷血容量時,應該使用單個浮點數(shù)進行搜索。

1.首先,你需要按照第一關(guān)的搜索方法,搜索以下四個角色的血量。我搜索了一下,在下面做了備注。

2.你可以右擊每個動態(tài)地址,選擇【找出是什么重寫了這個地址】,你會發(fā)現(xiàn)四個地址都指向同一個匯編代碼,也就是說它們使用的是共享代碼。

3.我們直接在每個地址上點擊右鍵選擇【瀏覽相關(guān)內(nèi)存區(qū)】,然后對比四個地址,找出一些規(guī)律。

我們隊友的結(jié)構(gòu)

敵人的結(jié)構(gòu)

從上面四張圖可以看出,我們的隊友編號為1,敵人編號為2。我們可以通過數(shù)字判斷它是不是敵人,決定是否讓它流血。

當然也可以通過判斷名字的首字母來決定。如果是D或者E開頭,說明隊友不能讓它失血。否則直接執(zhí)行扣血碼。

4.接下來,我們必須注入代碼。CE切換到內(nèi)存瀏覽窗口,然后選擇【工具-自動組裝】、【模板-代碼注入】,點擊確定。

最上面的原碼是mov[ebx04],eax,表示血量在ebx04的位置。

5.為了遍歷狀態(tài)位,我們需要計算隊號和血量的偏移值,

下圖顯示戴夫血量地址為019E0794,隊號地址為019E07A0,兩者之間的十六進制減法(019E07A0-019E0794=0C)給出0C。如果血量是ebx04,那么隊號應該是ebx040C或者ebx10。

6.直接寫下面的匯編代碼,然后執(zhí)行。注射完成后,返回練習程序,點擊【重啟游戲,自動執(zhí)行】。這一關(guān)就順利過關(guān)了。

關(guān)于CE(CHEATENGINE)修改器新手入門教程的這篇文章到此為止。更多相關(guān)CE修改器使用教程,請搜索腳本之家之前的文章或者繼續(xù)瀏覽下面的相關(guān)文章。希望大家以后多多支持劇本之家!

本文到此結(jié)束,希望對大家有所幫助。