今天我們分析的遊戲:
遊戲引擎:SOFTPAL ADV SYSTEM
檔案:漢化補丁中的data.pac
工具 Winhex 或者你自己喜歡的二進位工具
開啟
0000h: 68 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 h...............
0010h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
68 00 -> winhex 顯示為 104
我們猜測這是檔案數量
然後後面跟著一大段不知道的資料 大小有1018位元組
咱們跳過去,(二進位工具都有定位的功能比如Winhex 的 Alt+G)
03F0h: 00 00 68 00 00 00 68 00 00 00 68 00 00 00 42 54 ..h...h...h...BT
0400h: 4E 5F 53 43 52 4F 4C 4C 5F 49 4E 5F 31 2E 41 4E N_SCROLL_IN_1.AN
0410h: 49 00 00 00 00 00 00 00 00 00 00 00 00 00 1C 00 I...............
0420h: 00 00 3E 14 00 00 42 54 4E 5F 53 43 52 4F 4C 4C ..>...BTN_SCROLL
42 54 這裡開始很明顯是檔案名稱
1C 00 00 00 檔案長度
3E 14 00 00 檔案位移
這裡很明顯,反過來 1C 00 00 00這裡是位移地址顯然說不通,
這個檔案頭28位元組以及這裡前後28 位元組都沒有檔案的跡象
我現在來提取遊戲劇本
這個可以用英文判斷(當程式猿英文是必須,這個就別爭了)
SCRIPT.SRC 顯然就是劇本 我們提取看看
0C60h: 00 00 00 00 00 00 3D 00 00 00 6F 99 09 00 53 43 ......=...o?.SC
0C70h: 52 49 50 54 2E 53 52 43 00 00 00 00 00 00 00 00 RIPT.SRC........
0C80h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 D6 ...............?
04 D6 46 00 -〉 4642308 檔案長度 (Winhex 的 define block)
AC 99 09 00 -〉629164 檔案位移(Winhex 的 Alt+G)
也就是說把629164 位元置長度4642308 提取出來作為一個新檔案(winhex: Ctrl+shift+N)
不過我們發現 這個檔案不包含劇本。。。OTZ
再來 我們發現有個這樣的檔案
TEXT.DAT
把它提取出來。。。
劇本都在裡面沒有加密。。記事本可以直接看
自己去看
4F60h: 02 00 00 CC EC D2 F4 00 F7 02 00 00 A1 B8 B9 FE ...天音.?..「哈
4F70h: B0 A1 A3 AC B9 FB C8 BB C1 BD CE BB D5 BE D4 DA 啊,果然兩位站在
4F80h: D2 BB C6 F0 B5 C4 BB B0 BE CD CF F1 D2 BB B7 F9 一起的話就像一幅
4F90h: BB AD C4 D8 A1 B9 00 F8 02 00 00 D1 A7 C9 FA 31 畫呢」.?..學生1
完工