吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 2332|回复: 15

[原创逆向图文] 深入了解Windows编码方式

  [复制链接]
Crazwly 发表于 2016-2-25 12:57 | 显示全部楼层 |阅读模式


      winhex等工具软件查看记事本中几种编码方式不同.


1. 新建一个文本文档输入“联通”,再次打开
QQ截图20160225125308.png
Winhex查看:
QQ截图20160225125331.png

这里先要了解Unicode与UTF-8的关系:UTF-8是由Unicode变化而来  X为低八位 Y高八位
  
Unicode编码
  
字节数
表示为二进制
   UTF-8
0000—007F
1
0000  0000到 0111 1111
  
0XXXXXXX
  
0080—07FF
2
00000000  10000000到
  
00000111  11111111
  
110YYYXX 10XXXXXX
  
0800—FFFF
3
00001000  00000000到
  
11111111  11111111
1110YYYY  10YYYYXX   10XXXXXX
  
10000--1FFFFF
4
00000001  00000000  00000000到00011111   11111111  11111111
  
11110XXX  10XXXXXX 10XXXXXX 10XXXXXX
  
记事本输入“联通”用的是本地字符集GBK
分析:
这时我们看看utf8的编码格式:
    UCS-2编码(16进制) UTF-8 字节流(二进制)
   0000 - 007F 0xxxxxxx
   0080 - 07FF 110xxxxx 10xxxxxx
   0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx
在保存这个操作中,windows默认保存的编码是ANSI(实际上应该是GBK)。
第一二个字节、第三四个字节的起始部分的都是"110"和"10",正好与UTF8规则里的两字节模板是一致的,于是再次打开记事本时,记事本就误认为这是一个UTF8编码的文件,让我们把第一个字节的110和第二个字节的10去掉,我们就得到了"00001 101010",再把各位对齐,补上前导的0,就得到了"0000 0000 0110 1010",不好意思,这是UNICODE的006A,也就是小写的字母"j",而之后的两字节用UTF8解码之后是0368,这个字符什么也不是。这就是只有"联通"两个字的文件没有办法在记事本里正常显示的原因。
可以认为,当文档中的所有字符的二进制编码在C0≤AA(第一个字节)≤DF  80≤BB(第二个字节)≤BF时,记事本都无法确认文本的编码格式,就按照UTF-8的格式来显示。
另外,当我们在记事本编写"联通",然后另存为,选择UTF-8的格式,保存。再重新打开的时候,就不会有乱码。用UltraEdit的十六进制打开可以看到 EF BB BF E8 81 94 E9 80 9A。其中 EF BB BF UTF-8编码格式的标记。当用记事本打开文件时,读到EF BB BF 时,就确定这是UTF-8编码格式的字符。所以打开时不会看到乱码。同理与Unicode、UTF-16。
Unicode的"联通"的十六进制编码:FF FE 54 80 1A 90 。其中FF FE Unicode的标记
UTF-16的"联通"的十六进制编码为:FE FF 80 54 90 1A。这里的FE FFUTF-16的标记
ANSI(GBK):
   移动
QQ截图20160225123305.png
记事本检测文件头,UTF-8       按本地字符集解码。
联通
QQ截图20160225123356.png
上述已解释  出现乱码。误检测为UTF-8编码
不是UnicodeUnicode big endian
Unicode:
移动(unicode 编码\u79fb\u52a8)
QQ截图20160225123443.png
联通(unicode 编码\u8054\u901a)
QQ截图20160225123526.png
Unicode 转换UTF-16 Little-endian: 直接加上文件头FE FF 交换高低八位
由FF FE文件头知这是Unicode的UTF-16 Little-endian编码方式
Unicode big endian
移动
QQ截图20160225123606.png
联通
QQ截图20160225123646.png
Unicode转换Unicode big endian : 直接加上文件头FE FF
文件头 FE FF 编码方式UTF-16 Big-endi
UTF-8
  
0800—FFFF
  
3
00001000  00000000到
  
11111111  11111111
1110YYYY  10YYYYXX  10XXXXXX
  
(X低八位)
  
(Y高八位)
移动
QQ截图20160225123733.png
“移” 用Unicode编码查看器查看为 \u79fb二进制:   
0111100111111011 在0800—FFFF之间  转为为UTF8:   11100111 10100111 10111011 16进制: E7A7BB
“动” 用Unicode编码查看为\u52a8 二进制       00101001010101000 在0800—FFFF之间  转为为UTF-8:
11100101 10001010 10101000  16进制:E58AA8
联通
       QQ截图20160225123913.png


“联”Unicode编码 \u8054 二进制 1000000001010100
转换为UTF-8:11101000 10000001 10010100 16进制:E88194
“通” Unicode 编码 \u901a 二进制 1001000000011010
转换为UTF-8: 11101001 10000000 10011010 16进制:E9809A

文件头 EF BB BF 编码方式 UTF-8

QQ截图20160225123821.png
QQ截图20160225123646.png
QQ截图20160225123443.png
QQ截图20160225123356.png

评分

参与人数 21HB +34 THX +12 收起 理由
attackmyth + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
24567 + 2
PDWORD + 1
Jawon + 1
shaokui123 + 1
美好映像 + 2 + 1
sjtkxy + 1
yexing + 1
风间鬼 + 1
行行行行行行 + 1
消逝的过去 + 2
冷亦飞 + 1
凌夏随缘 + 1
叶落花开 + 2
hnymsh + 1
lies + 1
xxyhz622 + 1 + 1 祝学破解论坛全体成员2016年开心每一天!
1355400205 + 1 + 1 欢迎原创软件增加“学破解论坛专版”,额外增加20HB,么么哒~
Bu弃 + 3 + 1 评分=感恩!简单却充满爱!感谢您的作品!
Mrsin + 5 + 1 祝学破解论坛全体成员2016年开心每一天!
Shark恒 + 10 + 1 评分=感恩!简单却充满爱!感谢您的作品!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shark恒 发表于 2016-2-25 13:16 | 显示全部楼层

每次碰到乱码问题都是重新编译一下编码,一直也没深入看看。。有机会仔细读一下。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Bu弃 发表于 2016-2-25 13:36 | 显示全部楼层

好高深。完全看不懂。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
蓝色贝雷帽 发表于 2016-2-25 14:42 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
随风逍遥 发表于 2016-6-28 13:27 | 显示全部楼层

收藏 有空仔细看看。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
别管我了行 发表于 2022-4-2 03:45 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
凌夏随缘 发表于 2022-6-2 23:35 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
yexing 发表于 2022-11-10 13:48 | 显示全部楼层

谢谢,学习一下
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
曾经沧海 发表于 2022-12-18 21:04 | 显示全部楼层

有帮助,多多支持!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
sjtkxy 发表于 2022-12-19 05:38 | 显示全部楼层

提示: 作者被禁止或删除 内容自动屏蔽
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

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