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

汉化资料 xmle文件的破解

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

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

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

xmle文件的破解

饿...本来想还是自己注册个号的,取个有点个性点的名字,结果发现今天不能注册 [s:70]: u% G5 C! c1 j

: H1 d( u/ f# e* k+ U' gPS.一下,偶是粥粥兽啊,HOHOHOHO; I3 p4 Z9 k- ~3 d: P' Y% [: ~
' R; q) ^; G/ G3 S& d; c$ s, o- g
那么就来说一下我对大鱼游戏中经常出现的xmle文件的发现吧  s' N. [: o2 _" e/ g/ M; w7 M
因为一个偶然的巧合,咖啡发给我的游戏里有个XML文件夹,我粉高兴,觉得这下肯定很好解决了,结果打开一看5 C2 |: {: B2 d% h6 W! T
却是xmle文件,改成xml却也是打不开
8 {4 G% L  ]# |* d2 R# P0 [( g$ ]$ `. G/ ]$ k- Q) B
用CT打开一看才发现这哪是XML啊4 S6 R2 H( P% Q' R% P+ m5 y
网上查了查无果,可琢磨着,这不是XML为什么要放在XML文件夹呢,于是我再次运用CT,盯着那些文件看,总算发现8 `' I6 [- p* M/ P6 A1 a  X
他们的文件头
% w" Z7 g  g- K0 w: B=>ylm!wdsrhno<#0/1#!dobnehof<#tug,9#>?
: Y* L0 x  c& s& c/ E$ Y7 Y; f: U感觉有<有>还有?怎么看都有点像是XML文件的开头啊,怎么回事呢?于是我找来了份XML文件做比较# t6 Z* A: X$ ?" A& [, D1 {& A
一开始还没发现这么明显的破绽,哈哈,硬是对着ASCII表去看的,发现( U7 |% P8 p7 ~) u; g% m
=<, >和? 都在一块,才发现原来只是+1的关系啊3 x/ ?2 z6 O' O* a
原来没看仔细,哈哈,破解一下后还不对再仔细研究的时候发现了这个秘密(已经圈出), A2 c' F4 _4 B' \+ V
一开始还没看懂呢,心里纳闷,怎么一会儿是+1一会儿是-1,到底是怎么回事呢?这么没规律,后来追踪了某个字母(好像是e)- I( l( e* W8 {+ `
才发现在那文件里,e一直是+1的,, Q$ L; ^1 K" K; K
) e# t. m) Q. K" }5 r1 k% l0 y* R: W
才发现原来从xmle到xml的转换完全是按照ASCII代码来的
* C! |( b) w$ q9 [: G. t+1 -1 是看ASCII的单,双数决定 (不好意思,我记性不好,又忘了哪个是+哪个是-了...后来写CODE也是....只能在解开来发现不对再改一下.....)
* E5 H( N% ^) y* Z( [* |4 B! e! D' L* B8 g8 f* G, {* ~" F
于是我就开始写代码了,很简单的C++代码  `1 V) M& O8 h8 T! R- I8 @

8 o6 k( v. s4 ?7 A& N* Mint main(). r0 y/ f" w4 g  a/ F; u
{0 m0 u! r5 y1 c1 d
    fstream fin;
7 ~" Y9 t2 K- Y. s4 L; s9 f0 G8 _    fstream fout;( w# z( x& [+ f; Z
    //right now we are decoding *e files
8 R5 F$ [' J5 Y# X    fin.open("test.xml",ios::binary|ios::in);8 i6 G, f- x& M; `
    fout.open("text.xmle",ios::binary|ios::out);" Y, [. o4 X9 A/ H7 s
: q: e$ z- n" j1 }! K! G6 S, t; T
    if (!fout.is_open()) printf("outfile cannot be opened\n");8 c4 V% V5 p7 Q
9 ]( E2 q  X9 s5 X, k5 Z$ p6 Z2 L0 H
    fout.seekp(0,ios::beg);
- p1 Q7 Y( ^$ ?4 a+ m. {9 W# ?    fin.seekg(0,ios::end);
* e7 C# n3 R! L    int size = fin.tellg();
. G) o! o$ w: ~0 o. `; b    fin.seekg(0,ios::beg);
9 l' x* ?) p! U7 F9 q8 S) Q9 P% Z5 p& [
    char *buffer;# f: J0 a' s- H7 t6 p9 T
    buffer = new char[size];/ k; @& B- t3 c  C2 j
    fin.read(buffer,size);8 m) v. [% s; F5 R+ ~1 c# ~/ }
    printf("size = %d\n",size);
) s# g- M* r% P8 o    int count;; [# Z  f- {) n: i/ l3 N
    for (int i = 0;i<size;i++)
% `: Q) S2 n8 N# Z    {
1 O$ S5 ?' R* n4 k6 ]4 F, R8 f        //encoding) p- }, a. y' N3 X% e( d8 R" N, b
        if ((buffer % 2) ==0) fout.put(buffer+1); //if even subtract one
. T' [0 {0 y9 `" p6 \        else fout.put(buffer - 1); //elsewise we add 1
6 r5 ^7 J6 p* x: S    }
6 L" K; t: S6 L' |
& I" |, Q( d0 ?% m4 a) p  j7 K* K( }    fin.close();
: e5 g  X4 u8 m) e# @% I    fout.close();
: S! t6 S6 x2 H: R" Y}
9 n4 g" z. O3 e$ P$ X+ g; K3 a2 x# l
那么,需要破xmle文件的朋友们,enjoy

本帖子中包含更多资源

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

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

使用道具 举报

沙发
发表于 2010-3-30 11:40 | 只看该作者
非常感谢粥粥兽给我们带来这么精彩的汉化分析贴。9 q  E& U% c2 T# a9 j1 o# \/ c4 B
枫叶给加威望吧。
回复 支持 反对

使用道具 举报

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

使用道具 举报

地板
 楼主| 发表于 2010-3-30 20:34 | 只看该作者
xmle只是XML文件,只是配置而已,字体文件就不一样了" k+ w: @! W. ~) O" h
$ z2 ?! n* N% t2 k4 V
不过我上次看到的那个游戏BT的很,连JPG,DDS都带这样编码的...至少我觉得是,因为后面都带了个e,不过我没仔细检查,估计是一样的 [s:73]
回复 支持 反对

使用道具 举报

5#
发表于 2010-3-30 21:29 | 只看该作者
粥粥兽做个还原程序和加密程序放上来吧,要能批量操作文件夹内全部文件的~~~~3 W! I. ?3 s! ~; l
4 ?; S3 H. q. a8 w8 U# m
感谢
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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