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

汉化资料 xmle文件的破解

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

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

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

xmle文件的破解

饿...本来想还是自己注册个号的,取个有点个性点的名字,结果发现今天不能注册 [s:70]
  f5 A8 e. Z% _" \0 [
$ Z$ ~2 }! h. APS.一下,偶是粥粥兽啊,HOHOHOHO
( R/ A& P8 ?* h  R- S; L' m( h
" k  X' x3 E2 l! j那么就来说一下我对大鱼游戏中经常出现的xmle文件的发现吧) v  b6 q8 s$ T
因为一个偶然的巧合,咖啡发给我的游戏里有个XML文件夹,我粉高兴,觉得这下肯定很好解决了,结果打开一看3 q; L, T2 M! b9 V+ Y* |% Y1 N
却是xmle文件,改成xml却也是打不开- j! T, }$ C7 I0 o0 Y. P
# Y$ x3 P8 z$ v" W
用CT打开一看才发现这哪是XML啊7 B9 |6 {. f8 B2 c6 k
网上查了查无果,可琢磨着,这不是XML为什么要放在XML文件夹呢,于是我再次运用CT,盯着那些文件看,总算发现
9 B6 S. k/ p' P* D他们的文件头- \7 ~! @+ s7 V* i6 q0 i
=>ylm!wdsrhno<#0/1#!dobnehof<#tug,9#>?0 ?+ [" l( p% i/ n! N
感觉有<有>还有?怎么看都有点像是XML文件的开头啊,怎么回事呢?于是我找来了份XML文件做比较$ s- Q" |1 k/ i" O/ a2 I
一开始还没发现这么明显的破绽,哈哈,硬是对着ASCII表去看的,发现
- O' I+ s0 s# E% w. m+ [$ l  q=<, >和? 都在一块,才发现原来只是+1的关系啊2 Q7 o( \7 @+ ~+ a
原来没看仔细,哈哈,破解一下后还不对再仔细研究的时候发现了这个秘密(已经圈出)
% G) G- @' l* z2 A+ @一开始还没看懂呢,心里纳闷,怎么一会儿是+1一会儿是-1,到底是怎么回事呢?这么没规律,后来追踪了某个字母(好像是e)3 A7 \+ l/ C. ~
才发现在那文件里,e一直是+1的,+ H' r' ]- f' q4 y; X8 V  m' h. X0 \9 x
3 {) D1 I8 F. H, I/ `
才发现原来从xmle到xml的转换完全是按照ASCII代码来的& w( j) t  Q- y0 a
+1 -1 是看ASCII的单,双数决定 (不好意思,我记性不好,又忘了哪个是+哪个是-了...后来写CODE也是....只能在解开来发现不对再改一下.....)
, [# }: Y- O" n
: d4 v8 r- [* E, x! _$ E于是我就开始写代码了,很简单的C++代码
: g  Q$ o: z7 b5 Y8 c. q* f
6 T+ g2 d. X. L! X" q1 Z: Aint main()
; |7 I3 D  R9 N' x  G; I& M{& M& i) h3 A2 F% v
    fstream fin;* |* W: s+ t& V1 M8 S
    fstream fout;
. S/ F% J" _( T& \$ U    //right now we are decoding *e files; C# m6 ?- l2 X5 u+ J1 T
    fin.open("test.xml",ios::binary|ios::in);# q- u6 E' n3 a1 k& i6 Q9 u: r2 i
    fout.open("text.xmle",ios::binary|ios::out);( S& L# N. g9 T

1 u! `/ {9 i0 w: w+ h    if (!fout.is_open()) printf("outfile cannot be opened\n");
9 J" L8 x6 Z2 W/ }4 s7 l" g9 x' d- @  |: l" {4 v) B, C
    fout.seekp(0,ios::beg);4 N0 a. F, r) j# n0 E
    fin.seekg(0,ios::end);
7 t2 l' A) B7 \! Q    int size = fin.tellg();
5 N+ ?* Y" u$ G9 j, o' p0 C$ P    fin.seekg(0,ios::beg);
* E5 N) ?) r# ]& g+ i
% x* R6 O5 V: k. x    char *buffer;
) c8 f; p1 n5 W    buffer = new char[size];  H- D1 k! I7 y  \/ Q# a, T
    fin.read(buffer,size);
4 y1 ~% j5 t3 m5 b4 a; @) _: A/ d1 l    printf("size = %d\n",size);
, p4 a: E5 `0 f0 A6 u/ S- s    int count;0 b8 V2 c. }& u' n/ J  s! r; S
    for (int i = 0;i<size;i++), a; W5 }, T- S4 B" N
    {3 N8 V0 q2 R+ }/ h% A6 H8 \
        //encoding
2 ?& o( m7 b- E. T; W; t4 |        if ((buffer % 2) ==0) fout.put(buffer+1); //if even subtract one3 `" N( x6 v; @( Y$ k; B
        else fout.put(buffer - 1); //elsewise we add 1/ J, z( \3 W4 O
    }- L2 P  C* v8 X! {* {% g

+ [, F; T% r" l# f* N    fin.close();$ t) T7 _) M: P. q9 @' n
    fout.close();1 ?8 o& k! i' K" E. i
}
- i4 V: N* |( f) ^( Y5 Z3 Q+ L& W/ p/ Y' I
那么,需要破xmle文件的朋友们,enjoy

本帖子中包含更多资源

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

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

使用道具 举报

沙发
发表于 2010-3-30 11:40 | 只看该作者
非常感谢粥粥兽给我们带来这么精彩的汉化分析贴。
- l5 m% l: |2 {# a枫叶给加威望吧。
回复 支持 反对

使用道具 举报

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

使用道具 举报

地板
 楼主| 发表于 2010-3-30 20:34 | 只看该作者
xmle只是XML文件,只是配置而已,字体文件就不一样了
( b* l# D$ _4 |& w- I8 f/ l
- s3 o4 H$ |* N) z1 N不过我上次看到的那个游戏BT的很,连JPG,DDS都带这样编码的...至少我觉得是,因为后面都带了个e,不过我没仔细检查,估计是一样的 [s:73]
回复 支持 反对

使用道具 举报

5#
发表于 2010-3-30 21:29 | 只看该作者
粥粥兽做个还原程序和加密程序放上来吧,要能批量操作文件夹内全部文件的~~~~
% l, O2 A5 q' x
. w9 i/ ^: K7 d感谢
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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