首 页新闻资讯软件下载影视剧情购物商城星座运程网址导航
当前位置:九度网新闻资讯操作系统系统设置

破译window7 7106官方中文版乱码的“达芬奇密码”(全面解决乱码)

来源:九度网整理   作者:佚名   发布时间:2009-04-17 11:25:54

破译7106官方中文版乱码的“达芬奇密码”之一:理论篇:
先看看7106官文中文版的乱码情况,比如计算器(calc.exe.mui)的菜单:
 破译window7 7106官方中文版乱码的“达芬奇密码
居然有10处之多的乱码。。。但每个乱码都不一样,说明是有规律的!
初步分析了一下,这些乱码都不是:ANSI,Unicode,UniBigEnd,UTF-8,UTF-7
用UE比较了一下,貌似与UTF-8有些关联,难道是微软自创的编码?

初步分析,乱码长度固定为8!且不管哪儿出现的乱码,长度均固定为8个ASCII字符。
这样就应该可以理解了:这个乱码,肯定不是编码!而是“特征码”。
继续查找这些特征码,发现全部都是唯一的,应该是正式版出来时候做为“标识”类似的东西。那么通过查找特征码来汉化暂时不能实现了(因为有多少个没有汉化的字串,就有多少个特征码)。

于是本人继续研究了一会儿。。。发现了这里面的“达芬奇密码”呢,呵呵
我从基础介绍起先:
汉字的编码方案,现在一般有GB2312和GBK两种.
GB2312和GBK每一个汉字由2个字节组成,这2个字节的ASCII码大小分别是:
gb2312:
high8 = 0xa1-->0xfe (Dec: 161 --> 254)
low8 = 0xa1-->0xfe (Dec: 161 --> 254)
gbk:
high8 = 0x80-->0xfe (Dec: 128 --> 254)
low8 = 0x40-->0xfe (Dec: 64 --> 254)
high8表示高8位, low8表示低8位.
学过计算机基础的同志都知道:低位在前 高位在后
举个例子来说:
“查看”的“查”汉字,ASCII码为:
B2 E9
high8 : E9 (233)
low8 : B2 (178)
很显然这是一个gb2312编码的汉字!

而calc.exe.mui的“乱码”,其中第一条为:
䶮孱侢&View
以第一个字符""为例,ASCII码为:
FE A0
high8 : A0 (160)
low8 : FE (254)
很显然,这不是一个gb2312编码的汉字!而且按以上编码规则,可以肯定是gbk编码的字符!
而接下来的三个乱码,应该也是同样的。可以验证:
䶮: FE 9F
孱: E5 EE
侢: 81 FE

这样处理思路就有了:
1.遍历简体中文资源目录的所有*.mui文件.
2.分别打开*.mui的所有资源,只要最前面8个字符是连续的4个非gb2312编码,而且是gbk编码的字符,那这个肯定就是我们要找的字符串。
(回deepxw :昨晚没看仔细,的确前8个字符中有可能有gb2312汉字。但是我发现还是可以这样判断:
前8个字符中带有1个以上gbk编码字符和3个以下的gb2312汉字,而第9个字符是英文(ASCII<127),那这条字符串是乱码的。

[1] [2] [3] [4] [5]  下一页
  • 文章很好支持
  • 好的评价 如果您觉得此文章好,你就
      0%(0)
  • 文章很好支持
  • 文章不好差评
  • 差的评价 如果您觉得此文章差,你就
      0%(0)
  • 文章不好差评
Copyright © 九度网 . All Rights Reserved .
页面执行时间:12,449.22000 毫秒