實驗目標:找到向日葵的吐出陽光的速度,向日葵生產陽光是一個周期性的,所以其內部是有一個計時器控制的,我們只要找到這個計時器並改寫它的定時時間即可完成無限吐陽光的作用
向日葵的遍歷技巧:
首先種下一個向日葵 -> 然后CE馬上搜索->未知初始化
回到游戲->然后在切回CE->搜索減少的數值->一步一步排查
最終找到一個地址->鎖定1即可無限出陽光
1.首先打開CE附加植物大戰僵屍,然后種下一顆向日葵,選擇未知的初始值然后選擇首次掃描。
2.回到游戲馬上切回CE,直接搜索減少的數值,然后再次切回游戲依次循環。
3.經過我的不懈的努力,我終於找到了,如下圖所示。
4.將第2個數值鎖定為1,回到游戲,向日葵或無限的吐出陽光,說明我們找對了。
5.我們選擇下方的地址【13DED068】然后按下【F6】查找是誰改寫了這個地址,然后回到游戲,觀察CE的代碼框,會出現以下代碼,沒錯這就是計時器,我們記錄下【0045FA48】這個內存地址,然后關閉CE。
6.OD直接附加游戲進程,並運行起來,按下【Ctrl + G】輸入【00401000】來到程序領空。
7.然后再次按下,【Ctrl + G】並輸入【0045FA48】然后會跟蹤到如下位置,我們直接下一個【F2】斷點。
8.代碼如下,我已經做了分析,備注了一些關鍵點,如下可以看到我們的破解思路有多重,第一種是將計時器的數值該大一點這樣吐出陽光的速度就會變快。
而另一種方法則是將下面的關鍵跳轉直接Nop掉,同樣也可以完成無限陽光功能。此時我們就用第二種方法試試吧。
9.多種幾顆向日葵,然后將JG改為NOP,然后回到游戲會發現,所有的向日葵都會沒命的吐出陽光,注意這里會很卡。
這里游戲崩潰了,電腦卡死,如果你要測試,注意一下哈。
詳細分析筆記,猛戳這里:https://blib.cn/post/4ed8.html