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

汉化资料 xmle文件的破解

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

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

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

xmle文件的破解

饿...本来想还是自己注册个号的,取个有点个性点的名字,结果发现今天不能注册 [s:70]. q: g) S9 b- u6 L
. Q. z9 U: J8 D- U0 H
PS.一下,偶是粥粥兽啊,HOHOHOHO) F9 d1 |6 f0 V( R
6 H/ h/ z- `1 Z9 ?# f* S, r
那么就来说一下我对大鱼游戏中经常出现的xmle文件的发现吧
3 l3 Q. m$ }, s( i, l因为一个偶然的巧合,咖啡发给我的游戏里有个XML文件夹,我粉高兴,觉得这下肯定很好解决了,结果打开一看) P4 ]6 u  A( y6 Y$ I( y
却是xmle文件,改成xml却也是打不开
% Q7 C; L& r, ~5 }% `' R
# O: k7 |. `: r5 `. c/ l  |用CT打开一看才发现这哪是XML啊: f$ M7 W& i# L
网上查了查无果,可琢磨着,这不是XML为什么要放在XML文件夹呢,于是我再次运用CT,盯着那些文件看,总算发现' ^$ _) z. j3 g( [0 z
他们的文件头. O/ [5 Z. n' O$ m
=>ylm!wdsrhno<#0/1#!dobnehof<#tug,9#>?5 Q+ d* I& d8 A6 q9 c% [
感觉有<有>还有?怎么看都有点像是XML文件的开头啊,怎么回事呢?于是我找来了份XML文件做比较
1 ?. \$ T- x( x: s% S' z一开始还没发现这么明显的破绽,哈哈,硬是对着ASCII表去看的,发现
+ N7 W% y/ w  f8 T% t/ W# J=<, >和? 都在一块,才发现原来只是+1的关系啊
& k$ ^+ |3 q  R3 l* N/ h; j原来没看仔细,哈哈,破解一下后还不对再仔细研究的时候发现了这个秘密(已经圈出)
4 S! x; c9 _# o- B一开始还没看懂呢,心里纳闷,怎么一会儿是+1一会儿是-1,到底是怎么回事呢?这么没规律,后来追踪了某个字母(好像是e): @/ v! }8 ?" \: o  a) E' |
才发现在那文件里,e一直是+1的,
8 g! z& p& a. v+ G9 D" m- P+ |+ @2 g3 {( B, u; X2 l* P
才发现原来从xmle到xml的转换完全是按照ASCII代码来的
. [: D+ c8 J3 J+1 -1 是看ASCII的单,双数决定 (不好意思,我记性不好,又忘了哪个是+哪个是-了...后来写CODE也是....只能在解开来发现不对再改一下.....)1 C# \5 R& ^4 O7 [8 c, \7 f& c0 x# n
9 v# v  U- q* {: C) u$ }
于是我就开始写代码了,很简单的C++代码
( w4 Z, z3 p! A9 R- y
3 d" r3 G0 [9 l3 {int main()* H* ?6 i6 a4 r- V0 ]
{
' b- T  p# M- u; I- y  r/ b    fstream fin;0 N# t: ~  H. R; ?' m
    fstream fout;
1 M( b/ v0 l: K/ w' I* [& L    //right now we are decoding *e files
. F6 F5 g& w: `# W9 I4 D" X$ N* ^7 c2 S    fin.open("test.xml",ios::binary|ios::in);
, u% w2 G& q+ |- x# ~1 s; [    fout.open("text.xmle",ios::binary|ios::out);- ^) n. V# O! h1 |
/ P$ n8 S' X4 f' S" L
    if (!fout.is_open()) printf("outfile cannot be opened\n");
: b+ k7 v( _7 t6 P5 g% P
7 t4 E# B+ D4 m8 a% O    fout.seekp(0,ios::beg);% A) b1 S. H' Q, m" `
    fin.seekg(0,ios::end);( @1 I! t2 d5 V0 ]
    int size = fin.tellg();
! s/ k+ Z0 z9 J, N! N4 f    fin.seekg(0,ios::beg);7 Y' }7 f/ b. Q0 j, D* u0 o( W+ Q6 ]

3 n. t6 ]1 c1 d! q! `/ G! ~    char *buffer;
# H3 o) ~& ?. C    buffer = new char[size];  s* l4 a" I: J$ G8 P2 ^7 E
    fin.read(buffer,size);: |3 a. Y4 B2 ]
    printf("size = %d\n",size);  R& V) i& ]6 p+ I2 Z, Q7 a9 o
    int count;
0 E+ p/ U  |+ |( K' R! o    for (int i = 0;i<size;i++)
, G7 d5 ]' o8 F( F- a6 V; }7 K; A    {
) f9 n7 i6 ~! V# t/ }! e        //encoding0 Z) S: i# l, \; N( A! x6 S/ p
        if ((buffer % 2) ==0) fout.put(buffer+1); //if even subtract one- I1 \( x/ @$ M( N: ~
        else fout.put(buffer - 1); //elsewise we add 1) b( A0 F7 u3 g- F' k6 I9 Q1 F0 O
    }! G9 n" c$ s/ ^$ r

( i2 U% d$ p6 C+ M$ o, ^9 A    fin.close();& a1 g% i. y& l' P1 F, k+ q. e( L6 U
    fout.close();
! d/ I# p+ S, z0 z}
: x6 t' d0 a6 Q! i6 E$ c5 I8 y8 E1 F( h3 o. l$ C3 Y) [; J" b  I
那么,需要破xmle文件的朋友们,enjoy

本帖子中包含更多资源

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

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

使用道具 举报

沙发
发表于 2010-3-30 11:40 | 只看该作者
非常感谢粥粥兽给我们带来这么精彩的汉化分析贴。
4 g' J+ @1 T# I& d枫叶给加威望吧。
回复 支持 反对

使用道具 举报

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

使用道具 举报

地板
 楼主| 发表于 2010-3-30 20:34 | 只看该作者
xmle只是XML文件,只是配置而已,字体文件就不一样了. W  d8 h" s3 L* l; ^5 _% g' n8 m0 ?

6 E$ W" l8 m; _7 Y5 j$ y: D1 P不过我上次看到的那个游戏BT的很,连JPG,DDS都带这样编码的...至少我觉得是,因为后面都带了个e,不过我没仔细检查,估计是一样的 [s:73]
回复 支持 反对

使用道具 举报

5#
发表于 2010-3-30 21:29 | 只看该作者
粥粥兽做个还原程序和加密程序放上来吧,要能批量操作文件夹内全部文件的~~~~
  l, y& j2 T& ~. i- x$ O" V
9 M) V- T$ }. i! i+ W感谢
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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