分析紅色警戒金錢基址.以及確定基址小技巧.
一丶基址簡介
通過第二講.我們尋找植物大戰僵屍無限陽光.學習到了相關的逆向知識.以及認識了基址.動態地址. 靜態地址的區別.現在我們拿紅色警戒這款單擊游戲進行練手.
PS: 主要目的是分析數據.學習逆向知識.並為之所用.並不是教大家如何制作外掛.
1.怎么確定我們尋找到的是基址?
有三種方法.
- CE中綠色表示基址,黑色表示內存地址.一般綠色的很有可能是基址(當然不一定是.不過大部分是)
- 退出游戲重新進入游戲.地址不會改變.其值的內容也不會改變.
- 搜索指針.找不到.那么基址的上一級地址就是指針地址. 這段話可能有點難以理解. 意思就是如果我們找到基址了.再看訪問.如果沒有地址保存這個基址指針.那么這個基址指針就是我們要尋找的基址指針了
二丶運行紅警進行金錢的查找.
紅色警戒我們可以在網絡上下載.也可以在網盤中下載.都會打包上傳.
CE使用方法:
1.附加Game.exe
2.搜索金錢.
3.改變金錢數值.
4.CE點擊再次掃描.
如果執行完上面四步那么剩下的就是我們要找的地址了.
我們說過.綠色的可能表示基址.我們可以一個一個嘗試.
PS: 不一一嘗試了.其中步驟略過.經過嘗試.前兩個綠色的並不是我們要找的基址.最后一個修改我們游戲中才會進行修改.
所以我們找到了動態地址.如下圖所示
所以我們要找什么改寫了這個地址.通過第二節課內容.尋找我們的基址. 如下圖所示
通過上圖.我們得出了匯編指令
mov [ebx + 0x24c],eax
由此得出.一級偏移是24c
那么我們繼續尋找ebx指針. 看看是誰保存了ebx指針 如下圖所示
通過查找.我們找出了三個綠色基址.但是根據第一次查找.我們會發現0x0084開頭的有可能不是.不過我們也不確定.所以三個都要嘗試.
PS: 已經進行過嘗試了. 基址指針是 0x00A1E0C4
嘗試的時候.使用CE的手動添加地址.嘗試. 如下圖所示
所以我們根據我們找基址的三種方法進行嘗試.
可以得出確定我們要找的基址就是我們的找的地址了.
三丶通過編程實現修改金錢.
通過上面我們可以得出. [0xA1E0C4] + 0X24C = 金錢的地址
[[0xA1E0C4] + 0x24c] = 金錢的值.
所以我們可以使用易語言編寫簡單的修改金錢輔助.
當然C++一樣可以修改. 具體API可以參考上一篇文章.
因為易語言好實現.所以使用易語言編寫.
成品:
課堂代碼以及游戲: 鏈接:https://pan.baidu.com/s/1T56c20QIcADoAGc6lhD8Lg 密碼:pf5d