《異教危機》的修改方法

來源:樂享遊戲吧 2.4W

子彈在記憶體中存放上,是以4的倍數存的,也就是說,出門是你有,14發子彈,記憶體中就是56,而且如果你只是這樣找,恐怕你也不一定找的到,因為遊戲儲存記憶體時,好像並不是正常的雙位元組格式,這裡建議用TS,用他可以很容易找到。找到後就可以下斷點,找到程式碼了,改起來也容易,一個NOP,就搞定。

《異教危機》的修改方法

現在要說最關鍵的地方了,這個遊戲的記憶體是固定的,但為什麼我還是無法做出真正通用的修改呢?因為它的程式碼居然是動態的,具體我就不說了,我也不明白他怎麼實現的,不過怎麼回事我是看清了,就是沒想明白怎麼處理,知道的請跟下貼。

我亂七八糟說了一堆,相信有修改能力的人,在自己的機器上,無限彈是不成問題了,沒能力的,等有人找到辦法做出修改再說吧,這個我目前還沒想到辦法。最後提供點有用的資料(生命我還沒有找到(沒找呢))。

子彈的地址:一般是0x17e52fdd  | 0x17e62fdd

子彈程式碼地址:0x18e61953  | 0x18e71953

子彈記憶體數值:子彈數*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%有相同的時候。

另外我發現這遊戲接上手柄和不接手柄還不一樣,具體差多少,我還沒有細研究。

上面寫的比較亂,不過相信在和我水平一樣,或比我還高的人眼裡,應該能看出些東西,跟蹤除錯一下,就會知道是怎麼回事了,希望有能夠解決動態分配空間及程式碼的,在這裡跟貼貼出方法。

順便說一下,我就是JACK。   JACK==gamehack

一樓貼上最近更新的V1。10修改器,如果可以使用,可以無限生命,無限武器,效果很不錯。(未通關,後期不知,應無問題)。

使用方法: 開啟修改器,進遊戲後把畫面停在開始那裡,就是可以選新遊戲,讀檔那裡,按修改器裡的,讀取數值,如果是56,點對應下方的修改程式碼,就可以無敵了,沒有提供程式碼恢復功能,重開遊戲才能恢復。

接手柄和不接手柄時,遊戲的記憶體狀態不一樣,而且同樣是不接手柄,記憶體狀態也並不每次都一樣。所以兩邊的按鈕都試試,只要讀出來的是56(手槍的子彈數*4,預設為14發),就可以點選下面的修改程式碼按鈕啦。

做的有夠累,遊戲有夠BT,請使用了的玩家,發貼支援一下。

剛剛忘說了,包裡我還放了一個網友製做的漢化,我試了,好用,替換檔案就可以,是指令碼。

注意,全屏遊戲時要是不行,請換成視窗化再試試。也許可以。遊戲累人,不準備繼續研究了。

熱門標籤