從本節課開始我們將進入實戰環節,我們將手動分析植物大戰僵屍的一些功能的實現並編寫輔助,並根據章節的深入一步一步的完善我們的輔助,為啥這里使用植物大戰僵屍呢?本來想使用網絡游戲的,但涉及到驅動過保護和版權的問題暫時不能夠分析,准備分析一些大型單機游戲的后來發現調試起來不太方便,不如就用植物大戰僵屍。
這一小關我們將完成植物大戰僵屍里面的陽光值的修改,以下實戰內容使用了CE基礎篇的第1關與第4關的搜索技巧,如果你不是很熟的話,可以去看一下這兩關,本關是最簡單也是最重要的一關
游戲內存的遍歷(找到基地址與偏移)
1.打開游戲進程,並打開CE 選擇電腦圖標,選擇進程,並點擊打開。

2.在CE基礎篇里面,你已經學會了遍歷一些數據,此時我們來搜索這個150,使用4字節搜索即可。

3.讓陽光發生變化,並快速的找到陽光地址,將其加入到最下方的內存地址欄中。

完成基礎篇CE使用教程的你,相信能快速的找到這個動態地址了。
觀察這個地址,會發現這是一個動態地址,即每次游戲重新載入則這個地址都會發生變化,所以我們要繼續尋找。
4.繼續在這個地址上面,右鍵選擇查找改寫的地址,當我們選擇查找改寫地址的時候,CE就為我們在這個地址上下了一個內存寫入斷點。

在上面的選項中其實也是可以選擇內存訪問的,只不過那樣的話准確性不是很高,這里我們第一次找基址就選擇內存寫入吧。
選擇了內存寫入后,CE並沒有出現任何指令,此時我們回到游戲,等待增加陽光,增加后會出現一條匯編指令。

5.點開這條匯編代碼,add [eax+5560],ecx 這條指令很明顯,就是將ecx的數值,賦值給[eax+5560],一級偏移找到了5560,那么我們繼續記下EAX=146C1B60,並再次完成搜索。

6.我們首先關閉上面的那兩個窗口,然后在CE中勾選十六進制搜索,繼續搜索146C1B60這個內存地址。搜索完后會發現一堆地址,我們並不確定那一個是,所以CE會為我們將最靠譜的地址放在最前面,也就是我們標紅的這幾個,后面的地址14...這樣的地址太多並且是重復的,盡量不要考慮了,總之盡量去尋找前綴不重復的,成功率會大一些,這個要靠經驗自己摸索了。

將上面的前4個地址,加入到下方的地址欄中,依次分析。

7.先來搞第一個,001292AC這個內存地址,右鍵選擇內存訪問,可以看到很多地址,我們盡量排除,盡量看是不是有給[eax]賦值的指令,且后面有數字的。這里沒有

再看一下第二個,我們把mov eax,[esi+00768],我們把768記下來!!

然后,打開這個地址,並記錄下esi的地址。此處是 ESI=00FE7E60

此時,關閉上方的兩個窗口,我們繼續使用CE工具,搜索00FE7E60這個內存地址,好了,我們看到了幾個綠色的地址,在CE中,綠色的就是全局地址,也就是基地址,我們下面就來添加這個指針,看一下是不是這幾個綠色地址里面的其中一個,這種情況下,只能一個一個的嘗試

8.選擇第一個綠色的地址,並將其加入到下方地址欄中,右鍵查看訪問地址。

公式: 006A9EC0+768+5560=動態地址
9.用CE添加一個指針確認一下,這里讀取到了數據,等於75,回到游戲發現陽光是75說明查找正確了。

如下,游戲中與CE中顯示的數值相同。

使用易語言制作輔助
1.打開易語言創建一個窗口應用,然后添加內存讀寫模塊,內存讀寫模塊已給大家整理好了,下載地址在上面。

2.繪制以下界面,並點擊啟動窗口。

3.寫入以下代碼。

4.點擊讀取,與改寫依次測試

5.最后生成作弊器,即可步驟如下。

ok,易語言很強大,后期的所有實戰教程都會與易語言和CE打交道。當然用VC++也是可以的,但是沒有這個來的方便!

模塊的話,可以使用黑羽模塊,網上可以查到的!!!
https://dl.pconline.com.cn/download/539424.html
http://www.downxia.com/downinfo/33941.html
寫教程不容易,轉載請說明出處,謝謝!
