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

汉化资料 xmle文件的破解

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

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

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

xmle文件的破解

饿...本来想还是自己注册个号的,取个有点个性点的名字,结果发现今天不能注册 [s:70]/ N6 |. S! y6 Z: k# \  H

3 q2 K8 G8 C$ M: W: S! X+ K& YPS.一下,偶是粥粥兽啊,HOHOHOHO
9 i; L/ j6 ~8 v0 Z
" v* v! d+ w3 J9 t5 o) o那么就来说一下我对大鱼游戏中经常出现的xmle文件的发现吧
/ y5 d- T& q1 g% B2 g因为一个偶然的巧合,咖啡发给我的游戏里有个XML文件夹,我粉高兴,觉得这下肯定很好解决了,结果打开一看
: {7 F: l" {8 s$ w1 y1 R; h; o却是xmle文件,改成xml却也是打不开
+ x$ p- Z( _) O) `' I) D3 `. N* i, I9 I5 O2 l9 b& u  V
用CT打开一看才发现这哪是XML啊* G, j4 q4 @2 K5 x8 M  I! H+ b
网上查了查无果,可琢磨着,这不是XML为什么要放在XML文件夹呢,于是我再次运用CT,盯着那些文件看,总算发现
; }% @7 X' d/ W1 h2 y4 r. k他们的文件头
5 I& T- v5 [. `! y! ~2 ^=>ylm!wdsrhno<#0/1#!dobnehof<#tug,9#>?
, L# j8 q+ P4 M- i感觉有<有>还有?怎么看都有点像是XML文件的开头啊,怎么回事呢?于是我找来了份XML文件做比较8 e9 i0 t- k' V$ _; X: ^# U
一开始还没发现这么明显的破绽,哈哈,硬是对着ASCII表去看的,发现9 L7 L- t4 A$ W9 J' o# K% _( m
=<, >和? 都在一块,才发现原来只是+1的关系啊0 _: q4 F9 G: y" c* ?/ J0 ~
原来没看仔细,哈哈,破解一下后还不对再仔细研究的时候发现了这个秘密(已经圈出); K1 T. W* f5 n& I" b/ Z2 g" E: J9 H
一开始还没看懂呢,心里纳闷,怎么一会儿是+1一会儿是-1,到底是怎么回事呢?这么没规律,后来追踪了某个字母(好像是e)3 M7 _2 H( ?8 [# F0 x+ y) j$ M% F
才发现在那文件里,e一直是+1的,
+ s' t$ u5 u2 N0 N
* f+ \5 Z4 |# a: G2 N- ~才发现原来从xmle到xml的转换完全是按照ASCII代码来的
! }2 N- U7 K; n* t7 i+1 -1 是看ASCII的单,双数决定 (不好意思,我记性不好,又忘了哪个是+哪个是-了...后来写CODE也是....只能在解开来发现不对再改一下.....)3 c. _! _& U; E# ?. \

; C' P) G1 t- p% Y. e( @. }于是我就开始写代码了,很简单的C++代码- L2 X  t7 {$ k8 C) y0 j- {
# |" _1 Y$ N9 k$ }
int main()
# P  V% l/ _0 q$ e0 K6 z$ b, F{
  F( T- B  s& X    fstream fin;  |1 e/ Y: D! z" |/ b
    fstream fout;# E4 X& ]+ q, U" B2 B
    //right now we are decoding *e files7 w( _9 E. v2 A! J
    fin.open("test.xml",ios::binary|ios::in);
8 m3 z+ j: }9 D1 P! Z2 y    fout.open("text.xmle",ios::binary|ios::out);
0 T) H& _: P& h( z% E! p! A: q* z% v6 H! [
    if (!fout.is_open()) printf("outfile cannot be opened\n");
' |6 A7 R/ G. _; b1 C
* j8 `% l9 M0 @" q0 ^    fout.seekp(0,ios::beg);
$ e/ y; h8 E% ]" e4 H    fin.seekg(0,ios::end);
* _8 s: B# N3 h1 f2 x    int size = fin.tellg();9 |9 g. `, b! X4 \+ H% E+ ?  V9 @
    fin.seekg(0,ios::beg);
/ s/ m, j( z# v5 j) L. F) w' i, c- x& u8 I+ h& x# f# \
    char *buffer;6 U- x  ?- N7 ]+ o$ T  I. e, y+ ~
    buffer = new char[size];
2 D6 e- V1 B  D+ a0 z0 s    fin.read(buffer,size);
; C! Y1 j6 D5 i2 X* v5 F    printf("size = %d\n",size);# l% |9 J. V' v$ P9 |: c
    int count;
4 P8 I" q- Q, I/ z+ P    for (int i = 0;i<size;i++)
2 z8 O4 U; R. E  T0 @  j  G    {
& T9 ?0 h5 L; k9 Y1 a9 M& N$ c        //encoding7 G  K7 ?8 e+ X- @/ k, x1 [) [
        if ((buffer % 2) ==0) fout.put(buffer+1); //if even subtract one6 V5 ]7 g% G3 ?, a4 B
        else fout.put(buffer - 1); //elsewise we add 1
4 ~# h2 k5 j* G& U    }( J( m# ~+ z( `: [# U) s

& Z4 a- P. U  N$ I( Q! i5 B    fin.close();
+ }/ T1 D7 T: S6 }. T+ {" M    fout.close();  F8 ~6 ?3 p  }- o" S  `& h% L
}5 [# J8 X8 e, D8 A0 r1 x; f/ j- \

+ ~  o, p6 \$ x; e4 e0 _% J8 [/ n那么,需要破xmle文件的朋友们,enjoy

本帖子中包含更多资源

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

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

使用道具 举报

沙发
发表于 2010-3-30 11:40 | 只看该作者
非常感谢粥粥兽给我们带来这么精彩的汉化分析贴。9 z  w/ @0 I) W" \3 Z
枫叶给加威望吧。
回复 支持 反对

使用道具 举报

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

使用道具 举报

地板
 楼主| 发表于 2010-3-30 20:34 | 只看该作者
xmle只是XML文件,只是配置而已,字体文件就不一样了
+ N: P7 t/ v6 d" T9 |
1 P" \2 a8 n1 ?  D" E- i2 t9 U不过我上次看到的那个游戏BT的很,连JPG,DDS都带这样编码的...至少我觉得是,因为后面都带了个e,不过我没仔细检查,估计是一样的 [s:73]
回复 支持 反对

使用道具 举报

5#
发表于 2010-3-30 21:29 | 只看该作者
粥粥兽做个还原程序和加密程序放上来吧,要能批量操作文件夹内全部文件的~~~~
# E! V+ _7 a% p! a9 ]' C& X
. R, I8 M1 x) y- L2 F7 k感谢
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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