聲明﹕
1. 此文章內附資源僅供相關程式研究教學用途!
2. 測試及程式研究後請立即刪除!請尊重智慧財產權。
3. 如有意購買請與軟體作者/代理商或開發商聯絡。
4. 僅供個人使用及為非營利,下載者若觸犯法律,本部落格不對其內容負上任何責任!
5. 如不同意以上聲明,請勿使用,謝謝合作。
CE遊戲修改器製作遊戲修改器圖解教程
傻瓜教程目標是:注重操作,不求深入,主要是為了培養各位的興趣和帶你迅速入門。
先簡單介紹下什麼叫CE,CE的全稱是Cheat Engine,最新的版本是5.6.1
CE是目前最優秀的遊戲修改器,不是之一,這個工具絕對值得你去學習(只要花一點時間就夠了)。
忘記金山遊俠,GM8,FPE之類的修改工具的吧,CE會讓你愛不釋手。
一、先下載CE 最新版本
下載地址: http://cheatengine.org/downloads.php
二、打開CE目錄下的2個文件:

三、附加進程(圖示):

操作到此就結束了。 這個教程就是如此簡單,下一關同樣如此。
(就像玩遊戲一樣,完全是闖關試的操作,請各位按照順序,一關一關的走)
按下一步進入教程第二關,需要掃描的精確數值是100

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

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

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

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

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

圖示操作:

把95 改成1000 點擊確定按鈕

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

闖關成功。
操作雖然簡單,但是大家需要明白這其實是一個篩選的過程,這樣操作就能把地址找出來。
本關的小技巧:
1、雙擊下圖對應位置可快速更改數值。

2、雙擊地址可快速將其加入到地址欄
第3關的密碼是419482
這一關很重要,因為某些遊戲中血顯示的不是數字而是血條,這樣的話教程2中的方法就失效了。
本關就你要教會你如何修改這些討厭的未知數

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

點擊首次掃描然後出現了肯定是N多的結果,因為太多了,CE沒有顯示出來。
老辦法,回到Tutorial ,點擊打我
這裡面我們換個思路,假設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、讓彈藥不會減少,從而實現無限彈藥的效果
好處太多了,本關的方法就可以輕鬆實現上面的功能。
先找到血量的內存地址,不會找的先去看前面幾關,這裡就不重複了,然後在地址上右鍵=>找出是什麼改寫了這個地址:

本關的目的就是要讓改變數值的按鈕失效,很神奇,但是有什麼用呢?
1、在遊戲中我們可以利用此功能使金錢數量不會發生變化。
2、可以利用此功能讓怪物攻擊失效,從而實現無敵的效果。
3、讓彈藥不會減少,從而實現無限彈藥的效果
好處太多了,本關的方法就可以輕鬆實現上面的功能。
先找到血量的內存地址,不會找的先去看前面幾關,這裡就不重複了,然後在地址上右鍵=>找出是什麼改寫了這個地址:

點擊確定

彈出一個小窗口

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

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

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

然後回到按改變數值的按鈕,你會發現按鈕已經沒有用了。 本關操作已經結束了
操作非常簡單,但是為什麼這樣就會使按鈕的功能失效:
改變數值按鈕其實是通過代碼0045aecb - 89 10 - mov [eax],edx 來實現數值改變的。
我們在的最後一步操作就是要把這行代碼替換成什麼也不做(英文是Nop),這樣就會讓按鈕的功能失效。
大家可以找一些小的遊戲改一改,試試這種方法究竟好不好使。
這一關是相當重要的一關,請各位務必要學會找指針的方法。
為什麼要找指針,在前面的教程中,如果各位細心觀察的話就會發現在我截圖中的出現地址和你的地址並不相同。
也就是說,這些地址是一直在變化的,我們把它叫做動態地址 。
問題:電腦是如何每次都知道這個動態地址究竟是多少的?
其實並不是所有的地址都會變化的,不會變化的地址,我們把它叫做基址 。
實現思路:用不變的地址定位會變化的地址,即用基址定位動態地址。
上面介紹了2個簡單的概念,現在開始我們的具體操作
首先找到血量的地址,加入到地址欄,然後在地址上按右鍵=>找出是什麼改寫了這個地址,然後點擊改變數值按鈕,出現一行代碼(見第五關),雙擊那行代碼(或者點擊詳細信息)

為什麼要找指針,在前面的教程中,如果各位細心觀察的話就會發現在我截圖中的出現地址和你的地址並不相同。
也就是說,這些地址是一直在變化的,我們把它叫做動態地址 。
問題:電腦是如何每次都知道這個動態地址究竟是多少的?
其實並不是所有的地址都會變化的,不會變化的地址,我們把它叫做基址 。
實現思路:用不變的地址定位會變化的地址,即用基址定位動態地址。
上面介紹了2個簡單的概念,現在開始我們的具體操作
首先找到血量的地址,加入到地址欄,然後在地址上按右鍵=>找出是什麼改寫了這個地址,然後點擊改變數值按鈕,出現一行代碼(見第五關),雙擊那行代碼(或者點擊詳細信息)

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

CE讓我們下一步找01da6d48(在你電腦顯示可能不是這個地址,因為它是動態地址),繼續操作:
回到CE,點擊新掃描,先勾上HEX,點擊首次掃描

一定要勾上HEX,否則CE在搜索16進製字母時會報錯。
搜索結果出來了:

這個地址460c34 顯示的是綠色的,你的電腦上也應該是這個地址,因為它就是基址。
記住: 在CE中顯示綠色的地址是基址,黑色的地址是動態地址
添加指針:
點擊手動添加地址

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

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

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

然後點擊Tutorial 中的改變指針按鈕,這關就可以過了。
注意
前面一個概念沒有說明,添加指針的時候出現,就是偏移 ,這個指針的偏移就是0。

也有不是0的情況,大家可以對著教程實戰一下:
1、查找紅警的金錢:http://bbs.52miji.com/thread-1456-1-1.html
2、植物大戰殭屍陽光的查找:http://bbs.52miji.com/thread-1210-1-1.html
這一關相當重要,大家一定要多多練習(學會前六關,你已經可以修改大部分的遊戲了)
小說明:
1、並不是所有的遊戲都要找基址然後做指針,有的遊戲直接就是基址,比如這個教程:http://bbs.52miji.com/thread-2622-1-1.html
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關的加強版。
查找血量的地址,然後再地址上右鍵=> 查找寫入的地址

看看教程讓我們做什麼:原來每按一次按鈕減少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。
學會此關,您已經可以對付絕大部分的遊戲了。 但這僅僅開始,CE比您想像中的還要強大。
這關是第6關的加強版,CE 5.6.1教程中的4級指針比5.4的要簡單些。
多級指針就像玩解謎遊戲一樣,謎團不只一個,盒子中還有盒子。 這裡面是4級指針,遊戲中也有比如8級指針,12級指針等等,思路都是一樣的。
查找一級指針:
找到血量地址01E13B3C (動態地址),然後右鍵=> 查找寫入

多級指針就像玩解謎遊戲一樣,謎團不只一個,盒子中還有盒子。 這裡面是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個基址就可以了。
上一教程中我們找到紅警金錢的基址是A35DB4 偏移是24C
圖標,選擇高級選項

圖標,選擇高級選項

圖示選擇

默認即可

圖示:

選擇添加

按圖示操作

增加熱鍵

改圖標+ 生成修改器


最終生成的修改器

圖片贊助感謝"我愛秘笈"讓我輕鬆好多!!
0 意見:
張貼留言