最近分析了一下凡尔赛宫廷疑云2,这个游戏采用Cryo公司自己的CryoBf格式打包,网上有文件格式以及解包器的源代码。 + y! u* t0 A' F; ?. n3 f
1 H. y- \" v. U4 {Safecracker 破箱人也是采用了这个格式,不知道当初是否用了解包器,可能直接在包上修改的吧。 & F; B, m- l0 |) g) K c/ m
https://www.chinaavg.com/read.ph ... ;page=1&fpage=4
# X% a4 B; h, h6 u1 g d8 ~7 h7 r% k. o( y8 S) U1 m" J4 K
文件格式
# v" K+ {) e1 l7 X0 fhttp://wiki.xentax.com/index.php?title=CyroBF
! ?, V- e/ r |" i1 e8 `
' d; p9 |9 k# s4 T. b0 U, g解包器的源代码
) i+ \+ [. P0 B( K4 P$ R$ D5 phttp://pygments.org/demo/599/ + D# ~6 U2 Y8 P! y9 N5 ~3 i% G4 e
_, I8 D5 C' u& r用autodebug发现此游戏对ExttextoutA,MultiByteToWide ,ExttextoutW顺次调用。 " R3 a6 h; R( D0 e" {6 C9 P
用HOOK工具修改MultiByteToWide 中的codepage为中国后,可以使中文显示出来。 . q8 [8 u+ T Z5 E6 }
但是有问题,显示多个汉字的时候都挤在了一起。暂时没找到解决的方法。
9 k) D; X. r) A' U8 \" g
8 g2 |& \3 C3 c0 S5 X0 `不知道是否有人对这个游戏感兴趣呢? `+ ]. u) x1 z% i$ Q! R4 r% t
o$ l- p' L; e. v+ \: }0 z/ i
抓图 5 b' q* J" `2 \9 X4 E5 O9 p
|