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

汉化资料 xmle文件的破解

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

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

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

xmle文件的破解

饿...本来想还是自己注册个号的,取个有点个性点的名字,结果发现今天不能注册 [s:70]
) Q: [5 A# w4 U, e5 ?' j+ j2 m& Q
/ f7 o( B7 B3 U- D4 Q8 y9 Q+ X; fPS.一下,偶是粥粥兽啊,HOHOHOHO' }+ d& Y1 _' b9 X( s6 i; n

1 ^$ B1 R) p. v' C那么就来说一下我对大鱼游戏中经常出现的xmle文件的发现吧
( f" }  e0 b& B9 g0 U因为一个偶然的巧合,咖啡发给我的游戏里有个XML文件夹,我粉高兴,觉得这下肯定很好解决了,结果打开一看/ Y7 Q2 F$ E9 T" `3 V
却是xmle文件,改成xml却也是打不开( n7 T8 O) H6 O# w

% b4 F1 R# @1 p7 Y/ S+ k. r9 b用CT打开一看才发现这哪是XML啊
: g+ H& D) F) i网上查了查无果,可琢磨着,这不是XML为什么要放在XML文件夹呢,于是我再次运用CT,盯着那些文件看,总算发现
0 E% z' m+ P- i4 o- c他们的文件头
2 Y( S) s; Y* M! q1 B3 \, u; w. A3 ^=>ylm!wdsrhno<#0/1#!dobnehof<#tug,9#>?  g+ S+ K2 c# E1 T: Y& K1 ?
感觉有<有>还有?怎么看都有点像是XML文件的开头啊,怎么回事呢?于是我找来了份XML文件做比较
# R: [+ [  d: \一开始还没发现这么明显的破绽,哈哈,硬是对着ASCII表去看的,发现
1 q! b' h5 T+ @. e- o1 G=<, >和? 都在一块,才发现原来只是+1的关系啊8 D) F- L3 X5 @$ @+ Q
原来没看仔细,哈哈,破解一下后还不对再仔细研究的时候发现了这个秘密(已经圈出)
: Y8 _( `# F* i+ q: G; C* B一开始还没看懂呢,心里纳闷,怎么一会儿是+1一会儿是-1,到底是怎么回事呢?这么没规律,后来追踪了某个字母(好像是e)
% Z. [- c5 q' P/ m1 F才发现在那文件里,e一直是+1的,
) N& h* \) Y8 I: E- H5 W
% g% X) }- Q8 u9 H6 o8 H$ y% s才发现原来从xmle到xml的转换完全是按照ASCII代码来的
. e6 y0 q8 t" w! {5 b2 r+ ]: T8 L+1 -1 是看ASCII的单,双数决定 (不好意思,我记性不好,又忘了哪个是+哪个是-了...后来写CODE也是....只能在解开来发现不对再改一下.....)0 M& p9 H  h, I2 y2 s/ L

$ a0 c- F+ ?. x, {5 r$ y. o4 C于是我就开始写代码了,很简单的C++代码
& J9 C( K3 I# n& c( m+ K8 X1 k5 y  S- Q4 z2 P" m# d
int main()
! t; {% Q* _8 U; l+ ~" F{/ I5 S9 Z6 @6 l2 ^/ \( x) F" [7 m* y
    fstream fin;
1 Z, _* F1 t" ?4 h# _# p    fstream fout;) o3 N( _$ V* R" s- M8 ~
    //right now we are decoding *e files9 @5 W+ A6 C- ~
    fin.open("test.xml",ios::binary|ios::in);- E, |# s8 h9 w- H
    fout.open("text.xmle",ios::binary|ios::out);
/ ?$ G- u4 _5 _( ^9 C8 n. A$ f; s2 S8 E4 V3 L+ I- ~" N
    if (!fout.is_open()) printf("outfile cannot be opened\n");) w* O- f  Y, a4 }% n
# s) v5 K7 z4 B0 a$ B3 ~6 q6 d
    fout.seekp(0,ios::beg);
/ h* h$ @' o2 J6 e    fin.seekg(0,ios::end);
& \* H  {+ r/ \6 A0 k1 k: J- |7 ?    int size = fin.tellg();9 x; V3 l/ Q% \; R% z, P- y, @4 f
    fin.seekg(0,ios::beg);
1 N0 a" {* d3 g# x* {4 \3 G% e! p  t# N! k2 H$ K! P4 c
    char *buffer;7 j4 q6 S" |. c  @1 V& m: ~$ P4 O+ L
    buffer = new char[size];
* X6 P7 p4 |* ^3 w: A- |4 D8 M+ _2 \1 ?& z$ O    fin.read(buffer,size);/ O* s8 z5 |5 r2 _$ b0 U; P/ x+ \
    printf("size = %d\n",size);- ^' O8 G6 i+ f# ~
    int count;
* w$ l2 M0 x# z- }8 o    for (int i = 0;i<size;i++); y6 i* N: a  z# V9 m% O
    {9 X* f! j7 t) `+ f9 n# M( }
        //encoding
8 F' E- V- J( q- q        if ((buffer % 2) ==0) fout.put(buffer+1); //if even subtract one% z  z- U4 w9 r' A9 Q# U* V) u
        else fout.put(buffer - 1); //elsewise we add 1
7 v) l; B1 e6 @& C    }9 g) M& e* p9 @1 H9 b

. L" G7 ^4 V! x4 C    fin.close();% r+ t* z3 Q/ Y6 J$ m, R0 R6 h0 x
    fout.close();+ L% o# S$ N& i. I6 E# P2 a
}
, U8 g" g7 B( H/ |
7 y* \8 L8 P# f那么,需要破xmle文件的朋友们,enjoy

本帖子中包含更多资源

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

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

使用道具 举报

沙发
发表于 2010-3-30 11:40 | 只看该作者
非常感谢粥粥兽给我们带来这么精彩的汉化分析贴。
0 V. T+ ]( y! q$ l1 `  }! A8 c9 J7 U枫叶给加威望吧。
回复 支持 反对

使用道具 举报

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

使用道具 举报

地板
 楼主| 发表于 2010-3-30 20:34 | 只看该作者
xmle只是XML文件,只是配置而已,字体文件就不一样了6 g2 W9 ~- |5 ]9 }# B& n4 i
6 D- @, s1 V9 q' o; P9 ~4 P, m
不过我上次看到的那个游戏BT的很,连JPG,DDS都带这样编码的...至少我觉得是,因为后面都带了个e,不过我没仔细检查,估计是一样的 [s:73]
回复 支持 反对

使用道具 举报

5#
发表于 2010-3-30 21:29 | 只看该作者
粥粥兽做个还原程序和加密程序放上来吧,要能批量操作文件夹内全部文件的~~~~
9 z  i; `: o7 ~8 A* E" g- }
2 ]* Q! u0 t7 i  o感谢
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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