第53部分(第1/5 頁)
他用LIST命令檢視了一下檔案的大小,大概4兆大小。
林鴻看到,微微一愣,疑惑道:“怎麼只有這麼小?”
“沒錯。”顧偉解釋道,“遊戲機卡帶裡面的容量普遍採用兆位BIT來計算,而電腦都採用兆位元組BYTE來計算,一個位元組等於八個位元,所以匯出來的資料在計算機裡面只有原來的八分之一大小。”
顧偉先用文字編輯器檢視了一下資料包,發現是十六進位制的機器碼,看不懂,於是將其和之前DUMP出來的資料一起打包,放到街機模擬器裡面執行。
結果還是一片黑屏,沒有任何東西,按鍵盤也沒有任何反應。
“奇怪,怎麼回事……”
費了這麼大的心思匯出來的資料竟然沒用,這不禁讓他感到非常鬱悶。
“難道是匯出資料的時候出了問題?”
顧偉轉頭看了看林鴻。
如果在DUMP資料的時候出了問題,的確也會出現這樣的現象,軟體就是這樣,講究完整性,缺少任何一點程式碼都可能會導致運轉不了。
林鴻也在默默思考著到底哪個環節出了問題。
顧偉退出遊戲介面,然後重新開始分析匯出來的那個資料包裡面的程式碼。
他決定對那部分程式碼做一個反編譯,仔細看看裡面到底是什麼結構,以此來判斷是否匯出的時候出了問題。
這個過程是他經常做的,所以非常熟練。
直接調出一個小軟體,對資料進行還原,這個軟體可以將機器碼進行反彙編,最終以彙編程式碼的形式展現出來,雖然可能會和源程式的程式碼有區別,但是其完成的功能卻是一樣的,甚至經過編譯器最佳化過後的程式碼甚至比原始碼的執行效率更高。
當然,顧偉的這個小軟體並不能將整個遊戲的完整程式碼都還原出來,因為遊戲在進行編譯的時候,通常會加入一些反破解的程式碼,雖然不能百分之百地組織破解和逆向工程,但卻極大地增加了難度。
顧偉還沒達到能夠將整個遊戲的原始碼給逆向出來的水平。
不過,他這麼一反編譯,卻發現了一個異常情況。
“奇怪了,怎麼全部是資料?沒有任何一條指令。”
顧偉發現,整個資料包裡面的程式碼,竟然沒有任何一個操作碼,全部是資料,或者說沒有意義的程式碼。
他再次用文字編輯器開啟了這個資料包,想從中看出點什麼規律,但是滿屏的機器碼,讓他眼睛都看花了也沒看出什麼名堂。於是,他接著將十六進位制編碼轉換為二進位制的,全部由“0”和“1”組成。
他進行這一步轉換也只不過是順手而已,十六進位制和二進位制,實際是一個效果。
他將編輯器關掉,轉過頭來對林鴻說道:
“看來這個資料包完全是亂碼,也不知道哪裡出了問題。”
他說得很委婉,並沒有直接說是林鴻所做的工具或者說編寫的程式有問題。
林鴻眉頭緊皺地回想著剛剛顯示器上顯示地那些二進位制程式碼,並沒有回答顧偉的話。
顧偉回過頭來,從抽屜裡找了一塊其他遊戲的儲存晶片,然後插到燒錄器中,用林鴻的那個工具DUMP了一下,然後打包放到模擬器中,執行。
顯示器上出現了一個乒乓球小遊戲。
“咦?是正常的啊。”
顧偉徹底混亂了。
這說明林鴻改造之後的燒錄器和編寫的軟體都沒有問題,就算是後面那段有問題,前面的資料也不可能連一條指令都不存在。
很顯然,只有一個解釋,那就是27C320裡面的資料原本就是這樣的,根本不是什麼遊戲程式。
“靠了,難道忙活半天,就是一