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

汉化资料 xmle文件的破解

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

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

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

xmle文件的破解

饿...本来想还是自己注册个号的,取个有点个性点的名字,结果发现今天不能注册 [s:70]; V" T' O8 p& ~6 z
4 w3 U% A# \0 f+ [4 U* l( v
PS.一下,偶是粥粥兽啊,HOHOHOHO* ~  m+ w# G* ^' u9 ?& _

; M$ o$ j( w* K9 o0 J2 U那么就来说一下我对大鱼游戏中经常出现的xmle文件的发现吧6 c& p& r" K% m3 U$ `+ ]/ ^
因为一个偶然的巧合,咖啡发给我的游戏里有个XML文件夹,我粉高兴,觉得这下肯定很好解决了,结果打开一看
; ~% u7 q" {& D% @却是xmle文件,改成xml却也是打不开  L0 F% O2 P- x( R- X3 }: F

0 I1 f+ z# P: I& e, J' H用CT打开一看才发现这哪是XML啊
+ {4 t3 {; s; b1 e$ j网上查了查无果,可琢磨着,这不是XML为什么要放在XML文件夹呢,于是我再次运用CT,盯着那些文件看,总算发现8 d0 I3 L+ |0 ^5 T1 e
他们的文件头
( E5 m  m: A% O& `=>ylm!wdsrhno<#0/1#!dobnehof<#tug,9#>?: s& l) Y9 f, n; u" c3 ^
感觉有<有>还有?怎么看都有点像是XML文件的开头啊,怎么回事呢?于是我找来了份XML文件做比较" s) Z! u; q' Q- n4 H9 v
一开始还没发现这么明显的破绽,哈哈,硬是对着ASCII表去看的,发现" \& K' f7 Y, s  t4 ]
=<, >和? 都在一块,才发现原来只是+1的关系啊
* _8 H8 u5 u& T原来没看仔细,哈哈,破解一下后还不对再仔细研究的时候发现了这个秘密(已经圈出)$ g9 M3 N' O; Z9 n6 S' c% ~
一开始还没看懂呢,心里纳闷,怎么一会儿是+1一会儿是-1,到底是怎么回事呢?这么没规律,后来追踪了某个字母(好像是e)3 f1 T6 r# t; ]! @; A% h! Q3 e
才发现在那文件里,e一直是+1的,
& m% N) h$ \; W& M- D8 {
: D. w+ N1 x8 f" v! Y: X才发现原来从xmle到xml的转换完全是按照ASCII代码来的# O! E9 m/ q) x) E+ Q
+1 -1 是看ASCII的单,双数决定 (不好意思,我记性不好,又忘了哪个是+哪个是-了...后来写CODE也是....只能在解开来发现不对再改一下.....)
8 X6 k) I, G! k7 Y/ ]' P( {' J6 T: j3 ~6 J% f+ Q3 J
于是我就开始写代码了,很简单的C++代码2 q& Y3 U9 v. f1 B# t
! t& ?) T$ n  n* e. y/ A
int main()
1 D% @6 P# K0 D) R{
/ v, W$ |9 p, m& _& ?* M' j" q    fstream fin;+ B' B4 ~) i. x
    fstream fout;
7 Y+ D' w  o. u: m    //right now we are decoding *e files6 Z2 x+ Y, L+ ?
    fin.open("test.xml",ios::binary|ios::in);
) f# G8 L6 C4 _7 X0 _    fout.open("text.xmle",ios::binary|ios::out);
$ y9 R, G' U+ g% h( [) G. H* t  t; M3 u. N+ A; L
    if (!fout.is_open()) printf("outfile cannot be opened\n");
, e5 r( l4 H4 r. j
8 \0 v8 {; C/ q# O* U    fout.seekp(0,ios::beg);2 K* t. X, O% u: X" z
    fin.seekg(0,ios::end);- O- H6 a; p- p# S; g' \
    int size = fin.tellg();
2 @5 Q2 o% S' t    fin.seekg(0,ios::beg);  V% Q, |. ]. o/ c, f. m( R8 v
+ z8 H. Z% y  x5 v3 _
    char *buffer;
+ X. b! u" e! _- ]% t. t' h    buffer = new char[size];! O) w( f( k7 A! a: y+ b3 Q
    fin.read(buffer,size);
$ y( u9 |4 M9 q" z1 l8 T" Q    printf("size = %d\n",size);
6 V: ?. X* ?1 s" q8 V    int count;2 f# ?, I8 G' e
    for (int i = 0;i<size;i++)$ D. p8 |& g1 X" l& H  u
    {
9 A$ V2 |3 r* ?5 |' n# P; p        //encoding8 `" \9 S3 A+ D2 t. h# }
        if ((buffer % 2) ==0) fout.put(buffer+1); //if even subtract one
$ ]: X3 P/ W0 X        else fout.put(buffer - 1); //elsewise we add 17 V: y+ D3 B3 P* S- f3 B8 k
    }4 b" F* L, `9 Z* x1 ], z

( z6 N: h7 B- |" \; v- L. v    fin.close();
1 {& R' M9 ]2 g6 a6 r    fout.close();
$ v5 j4 A4 }8 u! ]7 p1 J6 {) i* L}2 }5 [: X1 e, p" @6 \
  m. w8 c5 x" z
那么,需要破xmle文件的朋友们,enjoy

本帖子中包含更多资源

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

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

使用道具 举报

沙发
发表于 2010-3-30 11:40 | 只看该作者
非常感谢粥粥兽给我们带来这么精彩的汉化分析贴。( T: V$ _- q0 \; Y
枫叶给加威望吧。
回复 支持 反对

使用道具 举报

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

使用道具 举报

地板
 楼主| 发表于 2010-3-30 20:34 | 只看该作者
xmle只是XML文件,只是配置而已,字体文件就不一样了" w, C( T3 E* J4 V( M3 m) b

; d8 \$ i( C' W" C' o不过我上次看到的那个游戏BT的很,连JPG,DDS都带这样编码的...至少我觉得是,因为后面都带了个e,不过我没仔细检查,估计是一样的 [s:73]
回复 支持 反对

使用道具 举报

5#
发表于 2010-3-30 21:29 | 只看该作者
粥粥兽做个还原程序和加密程序放上来吧,要能批量操作文件夹内全部文件的~~~~
$ \' H* N& I) X8 P
$ T- n" [# \! w: s$ d$ C感谢
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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