《異教危機》的修改方法
- 作者:不死鳥
- 編輯:ChunTian

子彈在內(nèi)存中存放上,是以4的倍數(shù)存的,也就是說,出門是你有,14發(fā)子彈,內(nèi)存中就是56,而且如果你只是這樣找,恐怕你也不一定找的到,因為游戲存儲內(nèi)存時,好像并不是正常的雙字節(jié)格式,這里建議用TS,用他可以很容易找到。找到后就可以下斷點,找到代碼了,改起來也容易,一個NOP,就搞定。
現(xiàn)在要說最關(guān)鍵的地方了,這個游戲的內(nèi)存是固定的,但為什么我還是無法做出真正通用的修改呢?因為它的代碼居然是動態(tài)的,具體我就不說了,我也不明白他怎么實現(xiàn)的,不過怎么回事我是看清了,就是沒想明白怎么處理,知道的請跟下貼。
我亂七八糟說了一堆,相信有修改能力的人,在自己的機器上,無限彈是不成問題了,沒能力的,等有人找到辦法做出修改再說吧,這個我目前還沒想到辦法。最后提供點有用的數(shù)據(jù)(生命我還沒有找到(沒找呢))。
子彈的地址:一般是0x17e52fdd | 0x17e62fdd
子彈代碼地址:0x18e61953 | 0x18e71953
子彈內(nèi)存數(shù)值:子彈數(shù)*4
子彈處代碼:
18E71920 55 push ebp
18E71921 8BEC mov ebp, esp
18E71923 53 push ebx
18E71924 A1 F8782318 mov eax, [182378F8]
18E71929 C1E8 08 shr eax, 8
18E7192C BB D82FE617 mov ebx, 17E62FD8
18E71931 01D8 add eax, ebx
18E71933 8B00 mov eax, [eax]
18E71935 50 push eax
18E71936 B8 00040000 mov eax, 400
18E7193B 5B pop ebx
18E7193C 29C3 sub ebx, eax
18E7193E 89D8 mov eax, ebx
18E71940 50 push eax
18E71941 A1 F8782318 mov eax, [182378F8]
18E71946 C1E8 08 shr eax, 8
18E71949 BB D82FE617 mov ebx, 17E62FD8
18E7194E 01D8 add eax, ebx
18E71950 89C3 mov ebx, eax
18E71952 58 pop eax
18E71953 90 nop //這里原來是mov [ebx],eax,NOP掉,就全槍無限了
18E71954 90 nop
18E71955 5B pop ebx
18E71956 5D pop ebp
18E71957 C3 retn
以上的地址,在XPSP2下,你多進幾次游戲,不行就重啟,100%有相同的時候。
另外我發(fā)現(xiàn)這游戲接上手柄和不接手柄還不一樣,具體差多少,我還沒有細研究。
上面寫的比較亂,不過相信在和我水平一樣,或比我還高的人眼里,應(yīng)該能看出些東西,跟蹤調(diào)試一下,就會知道是怎么回事了,希望有能夠解決動態(tài)分配空間及代碼的,在這里跟貼貼出方法。
順便說一下,我就是JACK。 JACK==gamehack
在一樓貼上最近更新的V1。10修改器,如果可以使用,可以無限生命,無限武器,效果很不錯。(未通關(guān),后期不知,應(yīng)無問題)。
使用方法: 打開修改器,進游戲后把畫面停在開始那里,就是可以選新游戲,讀檔那里,按修改器里的,讀取數(shù)值,如果是56,點對應(yīng)下方的修改代碼,就可以無敵了,沒有提供代碼恢復(fù)功能,重開游戲才能恢復(fù)。
接手柄和不接手柄時,游戲的內(nèi)存狀態(tài)不一樣,而且同樣是不接手柄,內(nèi)存狀態(tài)也并不每次都一樣。所以兩邊的按鈕都試試,只要讀出來的是56(手槍的子彈數(shù)*4,默認為14發(fā)),就可以點擊下面的修改代碼按鈕啦。
做的有夠累,游戲有夠BT,請使用了的玩家,發(fā)貼支持一下。
剛剛忘說了,包里我還放了一個網(wǎng)友制做的漢化,我試了,好用,替換文件就可以,是腳本。
注意,全屏游戲時要是不行,請換成窗口化再試試。也許可以。游戲累人,不準備繼續(xù)研究了。

玩家點評 (0人參與,0條評論)
熱門評論
全部評論