在前面的課程 FPS 游戲實現方框透視
中我們實現了對CS中游戲人物的透視效果,今天我們就來研究下狙擊槍如何變成機關槍!原理很簡單,直接去掉槍的上膛動畫,配合無線子彈就完事了,這里只提供一種分析思路。
1.打開游戲,我們直接購買一把狙擊槍,然后CE直接附加游戲進程,輸入當前子彈數量10,點擊首次掃描。
2.打兩發子彈,然后直接輸入8,點擊再次搜索,一般就四個結果,分別鎖定后打幾槍試試,只要子彈不減少說明找對了。
3.記下上圖中的 22065273 - 89 10 - mov [eax],edx <<
這條匯編指令,當我們開槍時會出現這條指令,直接關閉CE,打開X64DBG然后附加游戲進程,按下F9讓游戲跑起來。
4.在調試器中點擊【符號】並雙擊 【hl2.exe】跳到程序領空,在程序領空按下【Ctrl +G】並輸入剛才得到的內存地址。
5.回到游戲開一槍,x64dbg會斷在【22065275】地址上,經過分析這層沒有關鍵的東西,我們取消此處的斷點並向上返回一層
6.直接【F8】單步到返回到上一層,此處【2206e390】的JE改為jmp直接跳過,即可實現子彈加速。
7.直接調用易語言模塊,寫內存字節集命令寫入匯編代碼即可。
具體的效果沒有測試,不過分析的思路就是這個樣子的。