首页
社区
课程
招聘
[原创]逆向记事本看UTF8编码判断错误
发表于: 2009-11-12 16:58 12381

[原创]逆向记事本看UTF8编码判断错误

2009-11-12 16:58
12381
收藏
免费 7
支持
分享
最新回复 (12)
雪    币: 95
活跃值: (419)
能力值: ( LV9,RANK:310 )
在线值:
发帖
回帖
粉丝
2
牛,顶一下,虽然碰到过这问题,却没本事分析
2009-11-12 18:27
0
雪    币: 291
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
分析的精彩,此帖应精华
2009-11-12 22:44
0
雪    币: 254
活跃值: (30)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
谢谢鼓励
2009-11-12 23:37
0
雪    币: 367
活跃值: (20)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
5
对于没有BOM的文件,先尝试用当前页码(CP_ANSI)转成UNICODE,如果失败,再尝试用UTF-8转成UNICODE应该可以解决此问题.
另外,大多数windows下的UTF-8文件都是带有BOM的,所以,简单的把把所有没有BOM且不符合UTF-8规则的文件作为当前代码页ANSI来处理也可算是一个取巧的办法,呵呵
2009-11-13 09:27
0
雪    币: 1085
活跃值: (114)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
6
超级大牛。
拜读了。
2010-5-24 18:05
0
雪    币: 2194
活跃值: (1001)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
功力尚浅
竟然没看明白
2010-5-25 11:04
0
雪    币: 208
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
if( cb >= 3 && (PBYTE)lpBuffer[3] == 0xBF)
这一行似乎应该是
if( cb >= 3 && (PBYTE)lpBuffer[2] == 0xBF)

另外,UE的二进制比较功能是可以看到其真实二进制字节的
2010-5-26 21:03
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
有这种事情,不错不错。
2010-5-30 06:57
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
原来是这样,佩服lz的钻研精神
2010-5-30 09:04
0
雪    币: 256
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
WinDbg载入,跟踪到notepad!SaveFile,仔细看了一下,保存的过程如下:WideCharToMultiByte( GetACP(), ... , lpEditWCharBuf, ... );然后直接WriteFile写入到txt文件中,并没有进行任何附加的操作

请问下 这个地方你在WinDbg中是怎么操作的?非常感谢
2010-6-5 17:33
0
雪    币: 403
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
佩服 讲的 很 精彩
2010-6-5 18:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
补充下,默认打开方式的制式不一样,用ansi方式保存的用ansi方式打开是正常的,同理。
2010-6-5 19:51
0
游客
登录 | 注册 方可回帖
返回
//