IDA

IDA中文网站 > 使用技巧 > IDA字符串编码类型与自定义编码设置

IDA字符串编码类型与自定义编码设置

发布时间:2021/06/03

对于IDA大多用户来说,经常会分析使用英文或基于拉丁字母的软件。字符串编码类型的话一般有它自己的默认值,Windows操作系统编码,macOS或Linux操作系统编码都为UTF-8。这些默认的编码在很多情况下都够用,但是遇到一个使用其他语言的程序就难说了,可能会出现乱码的现象。

对此就分析其他语言程序出现乱码的不足,本章小编教大家在IDA中字符串编码类型与自定义编码的设置。

  1. 字符串类型设置

在我们分析的程序中,如果是宽字符串,通常情况设置字符串编码类型时,使用“Unicode C”样式就已经足够了,对于Windows的程序来说更倾向于使用16位的字符串,而Linux和Mac则使用的是32位的字符串。

小编在Windows程序下完成16位字符串设置,在IDA界面中找到“Options”菜单,点击“string literals...”选项,或者使用快捷键“ALT+A”打开字符串类型设置。

1

图 1:字符串格式设置

进入“String literal at 401000”窗口之后,在“create”下,选中“Unicode C-style(16 bit)”然后会弹出一个待确定窗口,点击“YES”即可快速完成特定的字符串类型的设置。

2

图 2:String literal 窗口

  1. 自定义添加编码

在特定的环境下,我们分析的二进制文件使用的编码往往跟IDA选择的编码有所不同,或者存在多个互不兼容的编码在同一个文件中。在这种情景之下需要分别对单个或者多个字符串设置编码,也可以对所有的字符串进行全局编码设置。

首先要将自定义编码添加到IDA默认的列表中,在“Options”菜单中选中“String literals…” 或者按“ALT+A”快捷键。打开之后在“Currently”选中“no string literal”。

3

图 3:字符串类型窗口

然后在打开的窗口空白区域右键点击“Insert”选项,输入指定的编码名称即可。

4

图 4:字符串类型插入

对于编码名称我们可以使用“cp1251”或者是Windows代码页中的“CP932”、“windows-1251”,还有一些众所周知的(Shift-JIS, UTF-8, Big5等)。

5

图 5:字符串类型

  1. 对字符串使用特定编码

我们自定义完字符串类型以后,就可以对单个或多个字符串设置想要的编码了。点击字符串,然后按下“ALT+C”快捷键,选择更改的字符串类型即可。

7

图 6:使用特定编码

我们还可以将所有的新字符串编码类型都设置一个默认值,首先找到“Options”菜单,点击“General”选项。

7

图 7:Option->General...

然后在“IDA Options”窗口中找到“String”选项,在左边可以对不同位数的字符串设置编码类型默认值。对于字符串的所设置的类型,还得具体情况具体分析使用。

8

图 8:设置默认值

以上就是关于IDA字符串编码类型与自定义编码设置的实操讲解,在打开的程序中出现乱码现象时,一定要观察一下IDA的字符串的编码类型是否与程序匹配。

如遇到不懂或难已解决的问题,想要了解学习更多有关IDA的知识,可以前往IDA中文网站进行学习研究。

作者:茂杨

标签:IDA字符串编码