CE修改器使用教程 [基礎篇]

Cheat Engine 一般簡稱CE,是一個開放源代碼的作弊軟件,其功能包括,內存掃描、十六進制編輯器、調試工具,Cheat Engine 自身附帶了外掛製作工具,可以用它直接生成外掛工具,CE可以說是目前最優秀的遊戲修改器不是之一,這個工具絕對值得你去學習,只要花一點時間就夠了。

 

本教程中你可以學到以下知識:

第一關:下載並安裝CE
第二關:精確掃描
第三關:未知數值掃描
第四關:浮點數的搜索過程
第五關:代碼替換
第六關:關於指針
第七關:簡單的代碼注入
第八關:多級指針

 

本教程只是轉載文章,具體地址不詳(可能是我愛祕籍),後期我將會以一些單機遊戲爲分析對象,通過實戰的方式學習CE這款強大的修改器,敬請關注。

 

第一關:下載並安裝CE



一、先下載CE ,打開CE目錄下的2個文件:

三、附加進程(圖示):

操作到此就結束了。這個教程就是如此簡單,下一關同樣如此。

 

第二關:精確掃描

 緊接着,我們繼續第二關,第二關的作用還是很簡單的,主要目的是遍歷出我們想要的動態數據,比如角色的生命,人物的魔法,某火線上飛刀的搜索等,都會用到精確掃面,可以說這一關是既簡單又實用的東西

教程第二關,需要掃描的精確數值是100

 

 現在開始搜索精確數值 100   數值中輸入 100 點擊 首次掃描 按鈕

一般遊戲就是4字節,這裏不需要改動,默認就好。
這次掃描我們得到 59 個結果,裏面肯定有我們要找的那個血值,不過好像太多了。

 關鍵一步:回到 Tutorial 點擊 打我 按鈕,此時血值已有變化了:

我們再輸入 96 點擊 再次掃描 按鈕 結果只剩1個(這就是我們要找的),我們雙擊此地址將其添加到地址欄:

 只有1個結果了,這個就是我們要找的內存地址,雙擊將其加入到地址欄

圖示操作:

95 改成 1000 點擊 確定 按鈕

此時教程的 下一步 按鈕變成可用

闖關成功。

 

第三關:未知數值掃描

 第三關,主要用來搜索進度條,任務血條等,我們無法直接看到的數據,我們通過變更的數據一步步找到動態地址

第3關的密碼是 419482
這一關很重要,因爲某些遊戲中血顯示的不是數字而是血條,這樣的話教程2中的方法就失效了。
本關就你要教會你如何修改這些討厭的未知數

 

此時點擊 新掃描 然後選擇 未知初始數值

點擊 首次掃描 然後出現了肯定是N多的結果,因爲太多了,CE沒有顯示出來。

 

老辦法,回到 Tutorial ,點擊打我 ,CE會告訴你血量減了多少,比如-1
這裏面我們換個思路,假設CE沒告訴我減少了多少或者我根本沒看清,這時應該怎麼辦呢?注意看下面的操作

 

一、掃描減少的數值

下拉框,選擇減少了的數值,按再次掃描(此時血量減少了)

 

 二、掃描不變的數值

然後選擇 沒變動的數值(此時血量沒有變化)

 

三、反覆操作

再回到Tutorial ,點擊 打我 => 掃描減少了的數值 => 掃描沒變動的數值 反覆操作,最後就會只剩14個地址

四、簡單判斷

簡單判斷下(Tutorial中告訴你了這個數值是小於500的),很容易就找到了最終的地址。

 

 雙擊把地址加到地址欄,然後更改數值爲5000,就可以過關了(前面教程有說過,這裏就不再重複了)闖關成功。

大家一定要明白這樣操作的思路:

血量減少=>CE搜索減少的數值
血量不變=>CE搜索不變的數值
血量增加=>CE搜索增加的數值


這樣反覆篩減,就能很容易找到最終的結果。

 

第四關:浮點數的搜索過程 

 

第4關的密碼是 890124
這一關的操作和前面和基本相同,主要是介紹一下什麼浮點數:
浮點數就是帶小數點的數字

 

如何掃描呢:
1、首先將數值類型改成 浮點數。
2、浮點數掃描時不必輸入後的小數 94.444 掃描時輸入94就可以了
其它的操作和前面的基本相同。

大家也注意到了(上圖),浮點數也分爲2種:
1、浮點數 也叫單精度浮點數 英文是Single Float
2、雙浮點數 也叫雙精度浮點數 英文是Double Float

這裏面要強調的是:
浮點數的長度是4字節,使用4字節也可搜索到浮點數,但需要使用模糊搜索。
下圖:

 雙浮點數的長度是8字節,使用8字節也可搜索到浮點數,但需要使用模糊搜索


小技巧:
1、雙擊圖中紅圈處可快速更改數值類型。

 

2、浮點數在4字節中大多以11開頭。

 

現在好多遊戲都採用浮點數來處理,比如瘋狂農場中的時間。例如您在掃描遊戲時發現一個數值是 1120403456 這時候您就要想到它是浮點數。
4字節的 1120403456 = 浮點數的 100
目前的遊戲大多以4字節(含浮點數)爲主,雙浮點數大家知道就行了。

將 血 和 子彈 都改成 5000 就可進入下一關,操作和第二關基本相同。

 

第五關:代碼替換

 

本關的目的就是要讓改變數值的按鈕失效,很神奇,但是有什麼用呢?

1、在遊戲中我們可以利用此功能使金錢數量不會發生變化。
2、可以利用此功能讓怪物攻擊失效,從而實現無敵的效果。
3、讓彈藥不會減少,從而實現無限彈藥的效果

好處太多了,本關的方法就可以輕鬆實現上面的功能。

 

先找到血量的內存地址,不會找的先去看前面幾關,這裏就不重複了,然後 在地址上 右鍵=>找出是什麼改寫了這個地址

 

點擊確定

彈出一個小窗口

然後點擊教程中的 改變數值 按鈕

 

小窗口中會出現一行代碼,選中代碼,然後點擊替換

 

最後一步:直接按確定就可以

 

然後回到 按改變數值的按鈕,你會發現按鈕已經沒有用了。本關操作已經結束了

操作非常簡單,但是爲什麼這樣就會使按鈕的功能失效:

改變數值按鈕其實是通過 代碼 0045aecb - 89 10 - mov [eax],edx 來實現數值改變的。
我們在的最後一步操作就是要把這行代碼替換成什麼也不做(英文是 Nop),這樣就會讓按鈕的功能失效。

 

第六關:關於指針

 

 爲什麼要找指針,在前面的教程中,如果各位細心觀察的話就會發現 在我截圖中的出現地址和你的地址並不相同。
也就是說,這些地址是一直在變化的,我們把它叫做動態地址。

問題:電腦是如何每次都知道這個動態地址究竟是多少的?

其實並不是所有的地址都會變化的,不會變化的地址,我們把它叫做基址。

實現思路:用不變的地址定位會變化的地址,即用基址定位動態地址。

上面介紹了2個簡單的概念,現在開始我們的具體操作 

 

首先找到血量的地址,加入到地址欄,然後在地址上按 右鍵=>找出是什麼改寫了這個地址,然後點擊 改變數值 按鈕,出現一行代碼(見第五關),雙擊那行代碼(或者點擊詳細信息)

 

然後出現一個信息框,具體的代碼是什麼意思就不解釋了,CE會告訴你下一步該做什麼,圖:

CE讓我們下一步找 01da6d48(在你電腦顯示可能不是這個地址,因爲它是動態地址),繼續操作:

回到CE,點擊新掃描,先勾上HEX,點擊首次掃描

 

一定要勾上HEX,否則CE在搜索16進制字母時會報錯。

搜索結果出來了:

這個地址 460c34 顯示的是 綠色 的,你的電腦上也應該是這個地址,因爲它就是基址

記住:在CE中顯示綠色的地址是基址,黑色的地址是動態地址

添加指針:


點擊 手動添加地址

 

圖示操作,輸入 460c34 然後點擊確定

 

注意看:指針在地址欄顯示的是 p-> 地址 這種類型的

我們將數值改成5000,再點擊前面的鎖定

 

然後點擊 Tutorial 中的 改變指針 按鈕,這關就可以過了。

注意

前面一個概念沒有說明,添加指針的時候出現,就是偏移,這個指針的偏移就是 0。

 

這一關相當重要,大家一定要多多練習(學會前六關,你已經可以修改大部分的遊戲了)

小說明:

1、並不是所有的遊戲都要找基址然後做指針,有的遊戲直接就是基址

2、基址是綠色的,如果找到最後有多個綠色地址,在一般情況下選擇第1個

 

最後介紹下CE中的模塊地址:

 

雙擊基址

您會發現顯示的竟然是 Tutorial.exe+60C34 而不是  00460c34 這是爲什麼呢?

其實 Tutorial.exe+60C34 就等於 00460c34 

一般來說遊戲在電腦中申請的地址是從00400000開始的,Tutorial.exe代表的就是 00400000 然後加上 60c34 自然就等於  00460c34。

但是在某些情況下游戲的起始地址並不是從00400000開始的,或者說每次啓動申請的地址都不相同;那麼就不能用 00460c34 來添加指針了,真正科學添加指針的方法是:

 

 

第七關:簡單的代碼注入

 

從本關開始,各位會初步接觸到CE的反彙編功能,這也是CE最強大的功能之一。在第6關的時候我們說到指針的找法,用基址定位動態地址。但這一關不用指針也可以進行修改,即使對方是動態地址,且功能更加強大。

看看教程讓我們做什麼:原來每按一次按鈕減少1點血,改成每按一次按鈕增加2點血。
還記得第5關的不傷血的修改方法嗎?這一關就是第5關的加強版。

 

查找血量的地址,然後再地址上 右鍵=> 查找寫入的地址

 

然後按一下打我按鈕,會出現一行彙編代碼 0045a063 - ff 8b 10 03 00 00 - dec [ebx+00000310]

雙擊那行代碼,看下詳細信息:

這行代碼什麼意思呢?dec 大家都知道是英文減少的意思

圖示紅框處:EBX=01e0ee18

我們用計算器算一下(注意是16進制的)

01e0ee18 + 310  = 01E0F128 正好是血量的地址

dec [ebx+00000310] = dec [01E0F128] 夠清楚了吧,這就是讓血量減1的代碼(1省略了),其實CE中也有提示 Decrement by 1 。

明白了這行代碼的意思,我們回去看看Tutorial的要求:把減1改成加2。

繼續操作。選擇反彙編程序

點擊工具,選擇自動彙編

 

第一步  選擇作弊框架代碼

 

 第二步  選擇代碼注入

 

 對應的地址不要搞錯了,是0045A063

 

然後按確定,會自動生成彙編代碼,這些代碼是什麼意思,我們先不管,找到關鍵的一行:dec [ebx+00000310]

 

把代碼註釋掉(刪除也行),改成 add [ebx+00000310],2

保存即可,然後在地址欄就可以看到這個腳本了,點擊前面的 單選框 執行,然後點擊Tutorial中的打我,這關就可以過了。

 

 你感覺到他的神奇了嗎?逆天級的修改:

1、怪物每次打我從傷血變成加血。
2、子彈越打越多。
3、錢越花越多。

如果你學會了這一關,你已經脫離菜鳥的行列了,不要再提金山遊俠,FPE,GM8之類的修改工具了,告訴你們的朋友快來學習CE吧

 

 最後,再強調一下CE中的模塊地址:

在第6關的後面有提到過CE的模塊地址,我說過這是科學的添加方法。這一關也同樣適用,就是在代碼注入的時候。

0045A063 變成了 Tutorial.exe+5A063

注入的時候也應該是

 

 小技巧:

這種方法並不是百試百靈的,對於某些變態的遊戲可能並不好使。如何判斷這種方法是否有效呢?很簡單:
在上面選中 顯示模塊地址 後,如果 0045A063 變成了 Tutorial.exe+5A063 說明這種方法好使。反之如果 0045A063 還是 0045A063 則說明這種方法失效了。至於爲什麼,你以後會明白。

當然CE也有解決的方法,有興趣的話,大家可以學習下大象教程4中的 Aobscan。

學會此關,您已經可以對付絕大部分的遊戲了。

 

第八關:多級指針

 

這關是第6關的加強版,CE 5.6.1教程中的4級指針比5.4的要簡單些。

多級指針就像玩解謎遊戲一樣,謎團不只一個,盒子中還有盒子。這裏面是4級指針,遊戲中也有比如8級指針,12級指針等等,思路都是一樣的。

 

查找一級指針:

找到血量地址 01E13B3C (動態地址),然後右鍵 => 查找寫入

然後點擊改變 數值按鈕

出現代碼的詳細信息。

這個該怎麼看呢?EBX = 01E13B24 

EBX + 18 =  01E13B3C 就是血量的地址,也就是說。想找到血量的地址就要找到EBX(01E13B24 ),注意看了圖中一行字:

要查找地址的指針的可能值是 01E13B24 

如果您覺得分析太麻煩,就按CE的建議來,這裏面要提醒各位注意 可能 這個詞,也就是說不一定全對。

第6關也提到過偏移的概念。這裏面的一級偏移是 18

查找二級指針:

下面找EBX,勾上HEX(16進制),輸入 01E13B24 新掃描

然後把新地址 01E136D4 添加到地址欄,在地址上右鍵=>選擇 查找訪問的地址

一定要注意:這裏面和上面的操作不同,第一次是查找寫入的地址,這次選擇的是查找訪問的地址

如果沒有出現代碼信息。我們就到 Tutorial 中點擊一下 改變數值 按鈕

這裏分析和上面一樣的,直接看CE的建議就好了。二級偏移是 0

查找三級指針:

再搜索  01E136D4 得到 01E12414

在地址01E12414上 右鍵=>選擇 查找訪問的地址

如果沒有出現代碼信息。我們就到 Tutorial 中點擊一下 改變數值 按鈕

三級偏移是 14 

查找四級指針:

重複操作(和前面一樣,該找什麼CE會告訴你的)

4級偏移是 c

再查找 1e12f64 得到一個綠色地址,這就是最終結果了。

一定要記住:在CE中顯示綠色的地址是基址,黑色的是動態地址。如果有多個綠色地址,一般情況下我們選擇第一個。

最後添加指針


點擊手動添加地址 

如下操作

輸入基址和偏移:

這樣輸入才完全對(第6關和第7關有提到模塊地址的概念):

然後把數值改成5000,點擊前面的鎖定,再點擊 Tutorial 改變指針按鈕,這關就可以過了。

多級指針要注意的地方:

1、1級指針是 查找寫入,其餘全是 查找訪問。
2、綠色的地址是基址,黑色是動態地址。
3、添加指針時注意用模塊地址。
指針是由基址在偏移組成的,所以在教程中我們只要找到4個偏移和1個基址就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章