设为首页收藏本站官方微博

汉化资料 xmle文件的破解

[复制链接]
查看: 2236|回复: 4
打印 上一主题 下一主题

[汉化资料] xmle文件的破解

跳转到指定楼层
楼主
发表于 2010-3-30 08:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

xmle文件的破解

饿...本来想还是自己注册个号的,取个有点个性点的名字,结果发现今天不能注册 [s:70]
1 d- m6 }3 m  ^$ V2 }, @9 ?+ h2 s0 X' F  R: `  Q
PS.一下,偶是粥粥兽啊,HOHOHOHO
$ V8 O8 c  x1 f% N& K& W  _; M! ~- v' z, Z1 g4 X# U
那么就来说一下我对大鱼游戏中经常出现的xmle文件的发现吧
1 d4 ]' m& n& i, M& T因为一个偶然的巧合,咖啡发给我的游戏里有个XML文件夹,我粉高兴,觉得这下肯定很好解决了,结果打开一看
" [7 U8 F/ J' ]1 H8 t! g' z却是xmle文件,改成xml却也是打不开
& o. n% M( L5 v  M! J; O  A$ `: V8 w6 f) n( r# }2 c: {
用CT打开一看才发现这哪是XML啊; g8 E3 O$ S8 s  H+ y
网上查了查无果,可琢磨着,这不是XML为什么要放在XML文件夹呢,于是我再次运用CT,盯着那些文件看,总算发现6 M7 v  Y2 C5 Z& E$ @% Q8 A
他们的文件头
( V! [! C( w+ S5 u) D, F, P=>ylm!wdsrhno<#0/1#!dobnehof<#tug,9#>?
& n( P, X" C! y8 A0 j/ Y$ d- ^) [8 D感觉有<有>还有?怎么看都有点像是XML文件的开头啊,怎么回事呢?于是我找来了份XML文件做比较' Z9 ^" U3 a3 R; M& q
一开始还没发现这么明显的破绽,哈哈,硬是对着ASCII表去看的,发现
& ?) o5 ^8 {# W1 Q, g! K=<, >和? 都在一块,才发现原来只是+1的关系啊" g5 @- |& F% \2 X+ [% u+ U. p
原来没看仔细,哈哈,破解一下后还不对再仔细研究的时候发现了这个秘密(已经圈出)
" h5 }- O' ]' A+ Z% Z一开始还没看懂呢,心里纳闷,怎么一会儿是+1一会儿是-1,到底是怎么回事呢?这么没规律,后来追踪了某个字母(好像是e)
' R! Z- {4 ?! {6 |& K6 \才发现在那文件里,e一直是+1的,, w/ Z1 p2 L1 Y6 ?/ q

: @; M% B% F4 E$ F  D才发现原来从xmle到xml的转换完全是按照ASCII代码来的
# A" t4 ?" C- z+1 -1 是看ASCII的单,双数决定 (不好意思,我记性不好,又忘了哪个是+哪个是-了...后来写CODE也是....只能在解开来发现不对再改一下.....)
0 D. \$ b, v  T/ @# [- b5 r* y) v# e
于是我就开始写代码了,很简单的C++代码3 B7 q4 h" w" |% f, D* |' T8 ]. W. ]$ [
# |& C9 Q% R- u- E5 k7 X4 |
int main()& u8 u/ Z+ X% N/ `' M9 n; p
{3 Y2 c! u* f9 O. t
    fstream fin;
8 }5 A* V9 B' v8 ]    fstream fout;
9 @/ c: X& F* t  r    //right now we are decoding *e files
( s: B1 S/ l4 i( [+ r    fin.open("test.xml",ios::binary|ios::in);
5 _5 y1 t$ o$ \% P0 s: H  v1 u+ {/ r* S    fout.open("text.xmle",ios::binary|ios::out);1 _7 V7 U, k( }

$ s# ]* s/ M8 F; `, B    if (!fout.is_open()) printf("outfile cannot be opened\n");+ a# j: U3 D. }# k7 e
2 g/ f# K; d; }* {: ?/ Z4 d
    fout.seekp(0,ios::beg);
% \% Q# k4 y" w: I    fin.seekg(0,ios::end);
% E0 S2 \/ r6 o+ D" ^1 y9 b) N+ |    int size = fin.tellg();
9 ^2 H. Z3 `' r4 x) A    fin.seekg(0,ios::beg);0 z2 u( q8 c. h" a' t' t1 n5 ]
& e" o& ~; X6 y
    char *buffer;
) u* H: \# |7 {) r2 H! M# o    buffer = new char[size];9 G1 M; R& o' v6 G/ q, _# y
    fin.read(buffer,size);
, T) |1 ~  C+ i- X; r9 \: E    printf("size = %d\n",size);$ ]! h1 D3 d: r, @, r! s
    int count;0 E- Y/ y" U! G, o
    for (int i = 0;i<size;i++)4 H% A2 q' R7 i4 [/ `3 e- r
    {4 k/ G/ L' d+ h6 A$ c" W5 R
        //encoding
" L$ A2 a( ^$ ?7 w        if ((buffer % 2) ==0) fout.put(buffer+1); //if even subtract one" a3 f0 G9 c' D; Y" C7 _
        else fout.put(buffer - 1); //elsewise we add 1
2 s; W/ D( T! ]    }
" l! h7 X) J2 j. V7 S, q. |+ g  C6 t% D: _- r$ V' {
    fin.close();( {! O# j: |$ s
    fout.close();" }, n& y! ~* ~7 b% [
}+ h# s$ T$ G3 ^4 r, o% Z

0 q8 h7 P' Q2 t0 Z5 @那么,需要破xmle文件的朋友们,enjoy

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2010-3-30 11:40 | 只看该作者
非常感谢粥粥兽给我们带来这么精彩的汉化分析贴。
( }1 ?0 a1 K' g% x$ {; |6 ?# F1 x枫叶给加威望吧。
回复 支持 反对

使用道具 举报

板凳
发表于 2010-3-30 12:18 | 只看该作者
那它的字体文件呢?一般也不是标准的官方后缀,粥粥兽继续拓展分析一下
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2010-3-30 20:34 | 只看该作者
xmle只是XML文件,只是配置而已,字体文件就不一样了
& A9 P$ Q, E0 d  j  h' Z6 h" w4 _
; o; c1 x- @1 S. ^不过我上次看到的那个游戏BT的很,连JPG,DDS都带这样编码的...至少我觉得是,因为后面都带了个e,不过我没仔细检查,估计是一样的 [s:73]
回复 支持 反对

使用道具 举报

5#
发表于 2010-3-30 21:29 | 只看该作者
粥粥兽做个还原程序和加密程序放上来吧,要能批量操作文件夹内全部文件的~~~~# j0 C1 {* v" {3 j6 N4 _

# e3 M) D9 u5 X4 g4 d  A感谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

快速回复 返回顶部 返回列表