最近分析了一下凡尔赛宫廷疑云2,这个游戏采用Cryo公司自己的CryoBf格式打包,网上有文件格式以及解包器的源代码。
8 C& P1 r( D0 M$ b# T' g- O- L* K: G
Safecracker 破箱人也是采用了这个格式,不知道当初是否用了解包器,可能直接在包上修改的吧。 5 X7 Y" k9 a! h8 y
https://www.chinaavg.com/read.ph ... ;page=1&fpage=4 1 v# H: ^ D4 Q& J
; V; t7 D# _0 i5 j; S$ w
文件格式 / L- z* A$ x/ [( y+ o5 j9 i& c
http://wiki.xentax.com/index.php?title=CyroBF
% Y2 w, U3 @0 y+ z2 f& \+ Z6 n H5 [( O0 k+ j9 v7 ?8 E
解包器的源代码 4 u4 c; z; f8 m$ m) A3 c3 a
http://pygments.org/demo/599/
) D& [+ W* _8 j" ^. s, i9 _; {7 @( o7 R9 p0 ?9 I
用autodebug发现此游戏对ExttextoutA,MultiByteToWide ,ExttextoutW顺次调用。 - K( g: Y( K0 z$ d$ X' T+ ?
用HOOK工具修改MultiByteToWide 中的codepage为中国后,可以使中文显示出来。 # A* ~8 X4 h6 }+ ]* d+ T7 y+ q
但是有问题,显示多个汉字的时候都挤在了一起。暂时没找到解决的方法。 / I/ [) |0 k; h, s! E( W6 m
( w- l R( a4 a( j4 _( D4 W2 e# _0 D6 g
不知道是否有人对这个游戏感兴趣呢?3 U& D) {4 ]' r- G. v. X
4 t) i5 R w4 t! T5 K1 }
抓图
$ r/ t2 m0 \* X: q1 `, s7 ?% z |