如果不是C写的程序怎么办呢?我们可以在“Options”菜单“ASCII string style”命令中设置。
允许你修改其它类型为默认设置,使用默认设置的快捷键是“A”,或者自定义一种类型可以使用不常用的终止字符。
TOP
--------------------------------------------------------------------------
第五节:数组
在c中,ASCII字符串被认为是字符数组,IDA是如何处理数组的呢?
我们用最常用命令来定义数组中的第一个元素,设置第一个元素类型为byte,格式为char,然后点击“*”号键(或者“Edition ”工具栏的“Array”命令)来创建数组。这时弹出一个对话框,可以设置很多变量。
你可以定义数组一行的显示个数,还可以使用“Element width”来设置他们之间的宽度。 使用“Use dup construct ”选项可以合并连贯的相似字节,“ Display index ”选项可以像注释一样显示数组的下标。
例如我们设置一个有64个元素的数组,一行有8个元素,每个元素之间的宽度为4,不选取“dup constructs”,选取“Display index ”,我们就可以得到下面的数组。
当IDA遇到未被识别的字节他会用红色的高亮显示。
当然你也可以选择一个范围来创建数组,IDA会自适应的设定。
TOP
------------------------------------------------------------------------------------ 第六节:枚举类型
还记得我们在C程序中定义的product_category_t 类型吗? 让我们用IDA的“Enumerations”来定义一下。
首先,我们打开“Enumerations”窗口来创建一个新的枚举类型
我们输入我们的枚举类型值
在check_product()函数,我们可以用枚举类型重新定义一些操作数。 右键点击在数值上,就会弹出一个菜单,选择“Symbolic constant”。 IDA就会自动列举枚举值,用以匹配当前的数值。
操作完成,我们就会得到下面的结果:
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库IDA简易教程(2)在线全文阅读。
相关推荐: