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

汉化资料 xmle文件的破解

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

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

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

xmle文件的破解

饿...本来想还是自己注册个号的,取个有点个性点的名字,结果发现今天不能注册 [s:70]1 @& c- O  L, X3 d8 T% f( T
3 O& y5 o3 s; \$ f+ |  t
PS.一下,偶是粥粥兽啊,HOHOHOHO
) Y6 L$ e+ J* d, K. p# F/ s- ?2 A& x: m, j
那么就来说一下我对大鱼游戏中经常出现的xmle文件的发现吧
( K% \: b. B( R  m9 [因为一个偶然的巧合,咖啡发给我的游戏里有个XML文件夹,我粉高兴,觉得这下肯定很好解决了,结果打开一看3 D1 Q# F& C& w3 @. r3 a
却是xmle文件,改成xml却也是打不开
4 C3 E! H/ o) S- [2 k
# t% J* f, }, Z, O用CT打开一看才发现这哪是XML啊' |/ s* O5 Y; M5 j% R) V( X, A" d$ s. J* {+ h
网上查了查无果,可琢磨着,这不是XML为什么要放在XML文件夹呢,于是我再次运用CT,盯着那些文件看,总算发现% b" F6 n9 X9 G( s, a. F0 q1 H
他们的文件头3 K( f4 l3 J, o" S, F
=>ylm!wdsrhno<#0/1#!dobnehof<#tug,9#>?" Z- P" M* e  t4 V  D3 ]$ \7 j
感觉有<有>还有?怎么看都有点像是XML文件的开头啊,怎么回事呢?于是我找来了份XML文件做比较
: P1 f+ h6 ?: L& t8 h一开始还没发现这么明显的破绽,哈哈,硬是对着ASCII表去看的,发现3 g1 o& t! M  h% M1 U& y
=<, >和? 都在一块,才发现原来只是+1的关系啊/ `. v0 Z5 h/ k- a
原来没看仔细,哈哈,破解一下后还不对再仔细研究的时候发现了这个秘密(已经圈出). @: E5 ^0 {  |* d- q
一开始还没看懂呢,心里纳闷,怎么一会儿是+1一会儿是-1,到底是怎么回事呢?这么没规律,后来追踪了某个字母(好像是e)
7 r4 R/ t' O0 Y6 q才发现在那文件里,e一直是+1的,0 j& i. \# V/ J$ S1 H' L2 f. z

# m: S; q& E) \5 E; y才发现原来从xmle到xml的转换完全是按照ASCII代码来的
3 k: m# Y; e' @( K+1 -1 是看ASCII的单,双数决定 (不好意思,我记性不好,又忘了哪个是+哪个是-了...后来写CODE也是....只能在解开来发现不对再改一下.....)
8 G6 X! v4 u- X  v1 c9 L2 [. I) i) z, n/ ^% y8 @
于是我就开始写代码了,很简单的C++代码& k7 V( N2 F( I& a0 [
0 e# o7 g, `9 h  K5 o
int main()
8 W3 \6 m9 l- L) `' Q/ g& e{
% u. H7 _+ C8 s! M/ y    fstream fin;
6 `$ a2 b4 Q9 N    fstream fout;
0 u+ q4 v4 E: F+ B' P2 m7 d' P+ h  @    //right now we are decoding *e files
2 l) q! {" Q" p/ z0 H' ]    fin.open("test.xml",ios::binary|ios::in);
9 |& W$ e1 V) ~    fout.open("text.xmle",ios::binary|ios::out);
! A' L* r4 r8 h
. f, B! I: X( l! V* S    if (!fout.is_open()) printf("outfile cannot be opened\n");  F% o& x: ]- \# S7 \  n2 V
9 d! g7 v1 m0 I( i2 E- n6 Z" o- |. m
    fout.seekp(0,ios::beg);  P+ {$ D) q& @0 ^5 T
    fin.seekg(0,ios::end);
/ W/ ^# j8 v# _    int size = fin.tellg();
. _5 o: h( q% r1 V0 @8 }" I8 x    fin.seekg(0,ios::beg);
4 \5 W7 s. n# J; ~6 m# W  `" d! k) F5 U* O: B: ^( G
    char *buffer;
' I$ y+ Z1 n+ \! l/ _    buffer = new char[size];
- d0 p5 c$ ]$ b( X    fin.read(buffer,size);
1 Q" h! y4 ^) C$ J8 w8 l# g    printf("size = %d\n",size);9 n! Z7 w  F; }4 S/ _
    int count;
0 U: |5 Q$ K' m/ {. D) N; {& M    for (int i = 0;i<size;i++)6 Y- Z& a0 z8 Z5 Z6 A$ @- I$ Y# c
    {
7 ^) R( I; g) Y        //encoding: J/ P6 z6 d* g, W& |. I* l7 s$ B
        if ((buffer % 2) ==0) fout.put(buffer+1); //if even subtract one
1 f7 I* J4 C7 E/ C2 G        else fout.put(buffer - 1); //elsewise we add 1
6 m5 D: y2 {6 i5 ^    }# r2 g. e  S- Z3 K" B

4 n$ _. a; |* h6 J( \. w    fin.close();
; J1 w% C2 c4 E) _6 M& Y2 m3 y" b& [+ h    fout.close();
' {. ]0 T9 R* U( g}" u( T3 @' V1 m, F% T

: g) ]( m2 U+ v. j那么,需要破xmle文件的朋友们,enjoy

本帖子中包含更多资源

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

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

使用道具 举报

沙发
发表于 2010-3-30 11:40 | 只看该作者
非常感谢粥粥兽给我们带来这么精彩的汉化分析贴。9 d; A* l) i0 ~5 ]8 |2 s3 f; |5 ]
枫叶给加威望吧。
回复 支持 反对

使用道具 举报

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

使用道具 举报

地板
 楼主| 发表于 2010-3-30 20:34 | 只看该作者
xmle只是XML文件,只是配置而已,字体文件就不一样了$ Q2 V: U/ c. [( H! U

0 l0 o% w- C% M3 Y" S2 l不过我上次看到的那个游戏BT的很,连JPG,DDS都带这样编码的...至少我觉得是,因为后面都带了个e,不过我没仔细检查,估计是一样的 [s:73]
回复 支持 反对

使用道具 举报

5#
发表于 2010-3-30 21:29 | 只看该作者
粥粥兽做个还原程序和加密程序放上来吧,要能批量操作文件夹内全部文件的~~~~5 X) P8 a; q8 Z3 j
* J4 d8 t* \% t0 e3 {
感谢
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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