天天看點

開發者逆向工程将《星際争霸》移植到ARM平台

醒來吧,我的孩子們。擁抱你們與生俱來的榮耀。你們須知,我是你們的主宰,蟲族永恒的意志。你們生來就是為我服務的。

-- 《星際争霸》蟲族隐藏音樂

開發者逆向工程将《星際争霸》移植到ARM平台
OpenPandora 團隊的 notaz

通過反彙編技術将《星際争霸》移植到了ARM上。

“無源碼、無移植”的原則并不是完全正确的。你可以通過靜态重新編譯技術得到和原程式類似的程式。M-HT之前就)經将

DOS 遊戲

移植

到ARM平台上。

整個移植過程是這樣的:

  • 使用IDA對《星際争霸》程式進行反彙編
  • 将反彙編的代碼轉化為C(使用了notaz自己開發的定制工具)
  • 連結了ARM版的winelib(ARM版的wine提供了Win32 API)

聽起來這很容易?顯然不是。notaz從去年秋天就開始了這一項目,原以為一個多月就可以搞定,結果到了新年還沒弄好。有太多的意料之外的問題。也許“無源碼、無移

植”的原則是正确的,Windows遊戲應該通過虛拟技術運作,靜态重新編譯是可能的,但是實踐起來問題太多了。

但是最終notaz還是完成了這個移植。他的成果,《星際争霸》的ARM版可以從這裡

下載下傳

。注意

,下載下傳的檔案不包括遊戲的資料檔案,你需要從原來的遊戲中導出資料檔案:

  • 在PC上安裝遊戲
  • 安裝遊戲的擴充包
  • 安裝官方的1.16.1.1更新檔
  • 從CD複制檔案:
    • 對于StarCraft,從StarCraft CD複制

      INSTALL.EXE

      到你的StarCraft檔案夾,然後重命名為

      StarCraft.mpq

    • 對于Brood War,從Brood War CD複制

      INSTALL.EXE

      BroodWar.mpq

  • 嘗試在PC上運作遊戲(不插入CD光牒),確定可以正常運作。
  • 将整個遊戲檔案夾複制到SD卡的pandora/appdata檔案夾内,命名為

    starcraft

繼續閱讀