如何使用IDA自定义数据结构?

打开IDA,先看一眼示例代码(攻.防世界_RE_进阶区_sercet-galaxy-300):

成都创新互联公司是一家专业从事网站制作、成都网站建设、网页设计的品牌网络公司。如今是成都地区具影响力的网站设计公司,作为专业的成都网站建设公司,成都创新互联公司依托强大的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、营销型网站建设及网站设计开发服务!

如何使用IDA自定义数据结构?

    很明显a1是一个结构体,接下来我们自定义一个结构体,并用到a1上。首先选择Structures选项卡如何使用IDA自定义数据结构?

    这里前四行是Structures选项卡的使用说明,后三行是IDA自带的结构体,前四行翻译过来就是:

Insert/Delete键                    创建和删除结构体

D/A/*键                                添加不同类型的结构体成员,

                                             这里要注意光标位置不同D键的作用也不同

N键                                       对结构体或结构体成员重命名

U键                                       删除结构体成员

    我们先按Insert键新建一个结构体,名字叫Stars,

如何使用IDA自定义数据结构?

    前两个复选框用于决定新结构体在结构体窗口中的显示位置,或者是否在窗口中显示新结构体,第三个复选框是指定创建联合体,这里我们改完名字后直接点OK,界面中就出现了一个空的结构体

如何使用IDA自定义数据结构?

    然后把光标移动到”ends”上按D键,就可以在行尾创建一个新的结构体成员,

如何使用IDA自定义数据结构?

    再把光标移动到该成员上,按D键改变该成员的数据类型,可改变的数据类型有db(byte),dw(word),dd(dword),dq(qword),按A键可以设置为字符串,按*键可以设置为数组,按N键可以重命名成员,按U键删除成员,可以按照题目需求改变成员数据类型。

    这里我们就按照题目需求配一个具有一个QWORD,两个DWORD,三个QWORD的结构体:

如何使用IDA自定义数据结构?

    这就完成定义结构体了,接下来就要指定变量为结构体了,先回到函数内部

如何使用IDA自定义数据结构?

    右键a1:

如何使用IDA自定义数据结构?

    选择Convert to struct*

如何使用IDA自定义数据结构?

    再选择我们刚刚定义的结构体Stars,就完成了

如何使用IDA自定义数据结构?


当前文章:如何使用IDA自定义数据结构?
文章出自:http://pwwzsj.com/article/ghedhc.html