Hex视图用于显示数据库内容的十六进制转储。在调试过程中,它也用于显示内存内容。
默认情况下,右侧有一部分显示数据的文本表示。通常,文本部分显示拉丁字母,或用点表示不可打印字符,但你可能也会遇到一些不寻常的东西:
为什么在英文中会有中文?这是不是一个隐藏的信息,二进制实际上来自中国?
事实上,这个谜团有一个非常简单的解释:用于在Hex视图中显示文本数据的编码使用的是数据库默认,通常是UTF-8,因此一个有效的UTF-8字节序列可能解码为中文、日文、俄文、韩文,甚至是表情符号。如果你希望只看到纯ASCII文本,可以通过以下简单步骤更改编码:
-
从Hex视图的上下文菜单中,调用文本 > 添加编码… -
输入“ascii”; -
新的编码将被添加到列表中并设为默认,因此任何不在ASCII范围内的字节将显示为不可打印:
除了“ascii”,你还可以使用其他与您正在分析的二进制类型匹配的编码。例如,如果你处理的是旧版日文软件,像“Shift-JIS”、“cp932”或“EUC-JP”这样的编码可能会帮助你发现隐藏的文本。
学习资源
立即关注【二进制磨剑】公众号
原文始发于微信公众号(二进制磨剑):IDA技巧(109)Hex视图文本编码
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论