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

汉化资料 xmle文件的破解

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

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

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

xmle文件的破解

饿...本来想还是自己注册个号的,取个有点个性点的名字,结果发现今天不能注册 [s:70]
3 \) R) `' K  C& f2 N
6 g; m) \* z0 J' P9 [4 k; MPS.一下,偶是粥粥兽啊,HOHOHOHO) E' I. x2 u4 `1 h) C3 l& N
7 F4 L$ y# i6 p5 X; t% W
那么就来说一下我对大鱼游戏中经常出现的xmle文件的发现吧
, {' F+ r2 P* P4 M6 e3 @, U' I因为一个偶然的巧合,咖啡发给我的游戏里有个XML文件夹,我粉高兴,觉得这下肯定很好解决了,结果打开一看. c% B9 ]% s7 x% u- ~8 d  j
却是xmle文件,改成xml却也是打不开
- _3 |( y$ [4 O$ b9 c: ^! N. r
5 Q8 D- U4 F4 |; u! f# V用CT打开一看才发现这哪是XML啊
: C9 s/ W+ s3 G网上查了查无果,可琢磨着,这不是XML为什么要放在XML文件夹呢,于是我再次运用CT,盯着那些文件看,总算发现) m7 D; s; X% d, e1 b
他们的文件头
2 Y, {0 A, N2 R4 j( Z8 @5 j=>ylm!wdsrhno<#0/1#!dobnehof<#tug,9#>?
0 `) C* e: k7 w- i5 a0 Y感觉有<有>还有?怎么看都有点像是XML文件的开头啊,怎么回事呢?于是我找来了份XML文件做比较
: x6 X7 u# b- {: I  q& {0 O4 w一开始还没发现这么明显的破绽,哈哈,硬是对着ASCII表去看的,发现
6 t1 @" ]1 W6 u4 Y3 o9 s) K=<, >和? 都在一块,才发现原来只是+1的关系啊7 N4 a( k8 W% L6 @2 e4 J
原来没看仔细,哈哈,破解一下后还不对再仔细研究的时候发现了这个秘密(已经圈出)
$ P: c! V0 i  |0 [3 J一开始还没看懂呢,心里纳闷,怎么一会儿是+1一会儿是-1,到底是怎么回事呢?这么没规律,后来追踪了某个字母(好像是e)0 q% x( D6 s. U6 Z
才发现在那文件里,e一直是+1的,
8 I5 Q( Y2 y) j! q" \! V
2 v7 T6 K, a8 Q# `4 [0 N才发现原来从xmle到xml的转换完全是按照ASCII代码来的  \3 W# k" @4 g# M
+1 -1 是看ASCII的单,双数决定 (不好意思,我记性不好,又忘了哪个是+哪个是-了...后来写CODE也是....只能在解开来发现不对再改一下.....), H  L$ g0 r' Z# W4 ^4 O: `
& I: _- ]2 F: \/ W  F/ a3 A7 W
于是我就开始写代码了,很简单的C++代码6 P% ^$ b( A/ |* g) V

5 n1 K% E( ^7 kint main()4 p0 G: }1 j# {& f
{
- R( K/ o+ S, T# I/ ?    fstream fin;
' f! M: m1 b! `$ V/ X3 `' x% P  V    fstream fout;2 I% q9 Q9 P0 m  U
    //right now we are decoding *e files+ R4 n, M) }* N* b% z2 H
    fin.open("test.xml",ios::binary|ios::in);
7 u8 G$ k$ i& X6 k    fout.open("text.xmle",ios::binary|ios::out);4 I4 @% m# S' P& B( D4 _/ ^

4 U& Y9 k+ X' M4 i8 Q3 T7 A    if (!fout.is_open()) printf("outfile cannot be opened\n");3 j3 T3 g" ]) O: b% v5 a$ q
: j$ x8 I6 r% q6 q. O
    fout.seekp(0,ios::beg);
0 L6 L! U/ ?) c6 R, j: q+ H    fin.seekg(0,ios::end);0 ^  k% }$ C7 ^2 v1 o
    int size = fin.tellg();
. k7 @2 d- \0 t    fin.seekg(0,ios::beg);3 g$ J1 \# Z+ |" e( r

7 ^2 ^/ h' |) I    char *buffer;
! l1 y! [. B) A7 ~7 M; v" Z& ?: K    buffer = new char[size];% e' |' R3 Y. t: l2 a
    fin.read(buffer,size);9 b) E: d6 O/ d4 R% p, Y& P
    printf("size = %d\n",size);- [6 g8 i, }* j& m
    int count;
+ t- e5 _  M6 w, V, G" }0 ?) |    for (int i = 0;i<size;i++)
$ {  G+ q4 D; f1 E    {6 n: N" x1 Y  v$ k: V
        //encoding# F- j, b( j* f- G* A2 T# o  q
        if ((buffer % 2) ==0) fout.put(buffer+1); //if even subtract one8 b3 n2 t% T) t9 n4 B" M# v6 w
        else fout.put(buffer - 1); //elsewise we add 1* e+ s) d. \2 ?! |% u
    }% c. t. B5 p1 y8 M7 k9 e& v/ L5 d
0 m. I) |& s  D2 G
    fin.close();: D+ C7 Z0 d& J) f) ^" ^: Q9 D9 B
    fout.close();( {# q$ g. _  C0 @4 \' @
}  X; z; K( P( z- w7 D8 a

2 `/ P! A5 b6 H4 z8 \那么,需要破xmle文件的朋友们,enjoy

本帖子中包含更多资源

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

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

使用道具 举报

沙发
发表于 2010-3-30 11:40 | 只看该作者
非常感谢粥粥兽给我们带来这么精彩的汉化分析贴。! H3 E# ?$ I7 [7 r4 E
枫叶给加威望吧。
回复 支持 反对

使用道具 举报

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

使用道具 举报

地板
 楼主| 发表于 2010-3-30 20:34 | 只看该作者
xmle只是XML文件,只是配置而已,字体文件就不一样了
2 b# @0 Q6 D0 U0 X9 x: }9 S, Y
不过我上次看到的那个游戏BT的很,连JPG,DDS都带这样编码的...至少我觉得是,因为后面都带了个e,不过我没仔细检查,估计是一样的 [s:73]
回复 支持 反对

使用道具 举报

5#
发表于 2010-3-30 21:29 | 只看该作者
粥粥兽做个还原程序和加密程序放上来吧,要能批量操作文件夹内全部文件的~~~~
$ P* n8 Y8 }. S8 N2 ]: F2 f$ F
5 x& F8 L3 r- S5 X4 @# r感谢
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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