FC外星戰(zhàn)將按鍵hack教程_第1頁
FC外星戰(zhàn)將按鍵hack教程_第2頁
FC外星戰(zhàn)將按鍵hack教程_第3頁
FC外星戰(zhàn)將按鍵hack教程_第4頁
FC外星戰(zhàn)將按鍵hack教程_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、FC 外星戰(zhàn)將 按鍵 hack 教程2010-10-23 14:04游戲資料是Konami根據(jù)著名連環(huán)畫兔子巴奇(Bucky OHare)改編的街機游戲。1、漫畫介紹:兔子巴奇是由美國漫畫作家 Larry Hama于1978 至 1979創(chuàng)作的,兔子巴奇漫畫主要講述的是在一個平行宇宙一場發(fā)生在有哺乳動物領導的動物聯(lián)盟與毒蟾蜍帝國的戰(zhàn)爭,蟾蜍帝國的領導者是一臺巨大的電子系統(tǒng)坎普斯,它將蟾蜍一族進行了洗腦。漫畫不僅被拍成動畫片,還被改編成多款游戲,其中較著名的就是街機游戲外星戰(zhàn)將。2、主要人物介紹:兔子巴奇(BuckyOHare):隊長,綠色的兔子,駕駛一架名為正義之憤怒的太空飛船,他的隊友包括:

2、貓女詹尼(Jenny):巴奇的第一位隊友,領航員,擁有神秘力量的貓族,具有讀心術(shù),治愈,能量釋放等多種力量,平時總是隱藏自己的能力,只有對另一位隊員威利才會展露出原本的力量,對威利是母親一般的人物機器人布靈奇(Blinky):只有一只眼睛的高級機器人,使用特殊的語言為隊員們判別形勢神槍手鴨(Deadeye Duck )狙擊手,是有四只手的鴨子,一只眼睛瞎了,脾氣很暴躁,不喜歡說話,更多時候是喜歡瘋狂射擊威利杜偉(Willy DuWitt )飛船的工程師,來自舊金山的十幾歲的地球男孩,通過自己制作的加速裝置來到巴奇的飛船,原來的工程師布魯斯(游戲中未提及)犧牲后,威利代替他的位置。3、游戲發(fā)行商

3、:Konami 發(fā)行年份:1992運行平臺:NES/FC游戲類型:單機動作類游戲4、游戲介紹:游戲講述了隊長兔子巴奇在一系列的星球中要求拯救他的其他四位隊員,每當救出一位隊員,玩家即可獲得一種在巴奇和其他隊員轉(zhuǎn)換的能力,每個隊員都有其特殊的能力,主要有巴奇跳躍,布靈奇飛行融冰,詹尼發(fā)射能量球,神槍手鴨爬墻散彈,威利高能量射擊,以應對各種不同的挑戰(zhàn),當巴奇成功救出其他的隊員之時,卻馬上被敵人捕獲被囚禁于一架名為蟾蜍之母的飛船中,巴奇和布靈奇被囚禁于同一囚室中,并成功越獄,他們必須救出其他的成員。最后,巴奇與其隊友繼續(xù)突破怪獸飛船。5、游戲評價:是KONAMI旗下財寶公司的三大杰作之一。財寶公司有

4、專門做超高難度的游戲之美譽,最著名的第一大杰作就是斑鳩,第二是宇宙巡航機5,都是難度非常高的游戲,而外星戰(zhàn)將則是財寶公司成立之前的作品,也是同樣出色,游戲需要較高的操作技巧,很考驗玩家的應變能力,游戲關卡的設定十分新穎,且都有一定的難度,游戲類型與 Capcom的洛克人系列很相似。-以上游戲資料轉(zhuǎn)自百度百科原文鏈接:/view/.htm#3以下內(nèi)容轉(zhuǎn)載請注明 本人的辛苦成果不希望成為別人的作品。-貓美玲Mermailing相關資料:初級hack方法請到我空間查看/貓美玲/blog狼哥(疾風之狼)的博客,里面有狼哥的教

5、程/游戲下載:/貓美玲/blog當我會了按鍵hack后,發(fā)現(xiàn)其實并不難,代碼是早早的準備好了,真正費時間的,是在尋找rom中空閑代碼太麻煩了,也許只是我的方法不對吧?;镜脑O置斷點查找指令的方法可以看上面的相關資料,現(xiàn)在來說說這次的重點。按鍵hack方法,就是在游戲中,通過按特定的鍵,執(zhí)行我們準備好的程序,一般是恢復血量能量等功能的程序(話說如果是病毒程序.太不道德了,鄙視一下,我們的目的是要讓游戲能正常運行.)。游戲中有內(nèi)存是存放輸入狀態(tài)的,在這個游戲中,可以找到內(nèi)存00F7是存放輸入狀態(tài)的,一個字節(jié)8位,

6、存放fc上的8個按鍵狀態(tài)。按下各鍵測試到該字節(jié)狀態(tài)對應方式為:0 0000000(此為該字節(jié)的2進制表現(xiàn)形式,左邊是高位,右邊是低位)A B SE ST 上 下 左 右當按住上不放的時候,表示上的那位就變成1,而這個字節(jié)就變成080000 1000,而如果再同時按住B不放的話,B位置變成1,這個字節(jié)就變成了480100 1000。我們只需要在游戲?qū)@個值修改的地方加入對鍵的判斷再執(zhí)行我們準備好的程序即可。hack內(nèi)容:初始隱身并且隱身時間不減:0xB1F0改為D0說明:雖然為隱身了,但是碰到像巖漿尖刺等特殊障礙還是會直接掛的。這里是改的跳轉(zhuǎn)判斷,原本是判斷如果隱身時間不為0就跳轉(zhuǎn)到隱身時間自減

7、指令,改成D0后就成了如果隱身時間為0就跳轉(zhuǎn)到隱身時間自減指令,而游戲一開始隱身時間就是0的通過這里執(zhí)行后隱身時間變?yōu)?1(內(nèi)存中為FF,無符號的話數(shù)值為255),變成隱身狀態(tài),而由于這個時候隱身時間已經(jīng)不是0了,不再執(zhí)行隱身時間自減指令,從而達到持續(xù)保持隱身狀態(tài)。本操作其實可以用隱身時間自減指令改為EA的方式替換,很可惜碰到敵人觸發(fā)隱身會卡住,如果僅僅是血量不減,那么后面有無限能量飛行的時候也很麻煩,所以這里的改法有點特殊。能量不減:0x00000B7BC6 43改為EA EA0x00000B97C6 44改為EA EA0x00000C1DC6 42改為EA EA說明:0042為貓女詹尼(J

8、enny)的能量地址,0043為神槍手鴨(Deadeye Duck)的能量地址,0044為機器人布靈奇(Blinky)的能量地址,上面3個地方都是能量減少的指令,改為EA空操作后,能量不再減少。但是這個時候問題出現(xiàn)了,貓女的能量可以在能量球飛出屏幕后恢復正常,但機器人和鴨子的能量不減少后,無法恢復正常狀態(tài),所以我們要增加個能量恢復的功能,其他2名角色能量用完就釋放的,而且沒有什么太大的功能所以不需要修改,目前有了隱身+無限飛行,已經(jīng)很方便了。以上都是基本的修改法就好了,下面是重點。按下B的時候清空能量:(確保能恢復正常狀態(tài))0x0001FD1985 F5 84 F7改為4C 10 BC EA說

9、明:這里是當按下某個鍵時,將修改內(nèi)存00F7的操作,我們把這里改為轉(zhuǎn)向到rom指令空白區(qū)域去執(zhí)行我們自己的程序。注意被改掉的85 F5 84 F7是必須需要的,所以轉(zhuǎn)過去后要將這條指令補回來。地址16進制碼ASM指令注釋說明FD09:4C 10 BCJMP $BC10;跳轉(zhuǎn)到BC10 轉(zhuǎn)向BC10去執(zhí)行我們增加的操作FD0C:EANOP;空操作 其實這里被跳過了寫什么都無所謂的FD0D:60RTS;由子程序返回注意這里的地址,我們的程序執(zhí)行完了 就轉(zhuǎn)回到這里繼續(xù)運行內(nèi)存中的BC10處為BC00:5C 5D 5E 5F 5F 5F 5F 5F 00 00 00 00 00 00 00 00BC1

10、0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00BC20:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00通過在rom里查找5C 5D 5E 5F 5F 5F 5F 5F 00 00可以找到BC10對應的rom地址為0x00003C20。0x00003C20寫入85 F5 84 F7 C9 40 D0 08 A9 00 85 42 85 43 85 44 4C 0D FD地址16進制碼ASM指令注釋說明BC10:85 F5 STA $F5;00F5=A=0x40增加跳轉(zhuǎn)時跳轉(zhuǎn)指令覆蓋了這條指令,所以

11、先補回來BC12:84 F7 STY $F7;00F7=Y=0x40增加跳轉(zhuǎn)時跳轉(zhuǎn)指令覆蓋了這條指令,所以先補回來BC14:C9 40 CMP #$40 ;0x40和A比較判斷是否是B鍵被按下BC16:D0 08 BNE #$08 ;Z=0?BRA BC18是則繼續(xù)下一條指令,不是則指令往后8個字節(jié)(即轉(zhuǎn)向BC20處)BC18:A9 00 LDA #$00 ;A=0x00 將0寫入寄存器ABC1A:85 42 STA $42;0042=A=0x00將寄存器A中的值存入0042地址BC1C:85 43 STA $43;0043=A=0x00將寄存器A中的值存入0043地址BC1E:85 44 S

12、TA $44;0044=A=0x00將寄存器A中的值存入0044地址BC20:4C 0D FDJMP $FD0D;跳轉(zhuǎn)到FD0D 轉(zhuǎn)回原來來的地方繼續(xù)執(zhí)行下一條好了測試游戲,隱身狀態(tài)不怕普通的小嘍啰了,無限能量的飛行效果很好,需要停下來的時候按B就可以了,貓女的能量球可以慢慢控制,對BOSS的必殺也很棒,鴨子的爬墻,在機器人飛行不好控制的地方也很好用。自殺功能:測試到水星BOSS時,被BOSS凍住后由于不能移動,子彈也無法擊中BOSS,出現(xiàn)想死都死不了的情況,所以,還得增加自殺功能,先在游戲里測試,將血量改為0,人物是沒有掛的,所以再試試直接跳轉(zhuǎn)到死亡處理的指令處,將斷點設置為“注釋內(nèi)出現(xiàn)05

13、A0暫停”,然后到游戲里去跳崖,死前的一瞬間,游戲暫停了.地址16進制碼ASM指令注釋說明FCEF:85 76 STA $76;0076=A=0x00FCF1:60RTS;由子程序返回這里剛好是一個子程序結(jié)束的位置8560:AD A0 05LDA $05A0;A=0x14 我們從這里開始調(diào)用8563:38SEC;C=1也就是使按特定鍵的時候之間轉(zhuǎn)向8560處開始執(zhí)行8564:E5 02 SBC $02;A-=0x808566:8D A0 05STA $05A0;05A0=A=0x94自殺功能太過強大,要避免玩家不小心操作到了,所以我決定設置成同時按【上、B 開始鍵】的時候自殺,同時按【上、B

14、開始鍵】,00F7的值為58,所以在0x00003C30處開始修改代碼為:A5 F7 C9 58 D0 03 4C 60 85 4C 0D FD地址16進制碼ASM指令注釋說明BC20:A5 F7 LDA $00F7;A=0x58 將00F7的值存入寄存器ABC22:C9 58 CMP #$58 ;0x58和A比較判斷是否同時按下上、B 開始鍵BC24:D0 03 BNE #$03 ;Z=0?BRA BC26是則繼續(xù)執(zhí)行,不是則指令往后3字節(jié)(即轉(zhuǎn)向BC29處)BC26:4C 60 85JMP $8560;跳轉(zhuǎn)到8560 轉(zhuǎn)向死亡處理指令前,準備死BC29:4C 0D FDJMP $FD0D;

15、跳轉(zhuǎn)到FD0D 轉(zhuǎn)回原來來的地方繼續(xù)執(zhí)行下一條回到游戲后發(fā)現(xiàn)開始鍵按下后是暫停游戲,如果不在暫停中死亡,一切正常,如果在暫停中死亡,不會有死亡音效,不過效果還是正常。游戲測試前面都基本正常,到最后兩關,出現(xiàn)花屏情況,會卡死人,說明這里找的BC10BC29的地址并非空白rom,等再找到合適的空白rom再改了。不過按鍵hack的方法是正確的了。目前沒有找到空白rom,但有了解決辦法:花屏原因:0x00003C20其實是最后1大關的第6小關到第7小關之間的背景,原本00的位置,其實是中間的過道,而0E表示的是下面的尖刺,將hack代碼加入到這里當然會照成花屏。解決辦法:仔細分析后發(fā)現(xiàn),0x00003C18開始,每8個字節(jié)控制一行背景,每個背景48字節(jié)即6排,考慮到通關時最后的背景都是星星,而主角是在中間飛行,所以決定保留中間兩排過道,上下4排星星換成hack代碼,這樣小部分的花屏也不影響游戲了。最后修改后的代碼變動處為:0xB1F0改為D00x00000B7BC6 43改為EA EA0x00000B97C6 44改為EA EA0x00000C1DC6 42改為EA EA0x0001FD1985 F5 84 F7改為4C F8 BC E

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論