- 首页 > it技术 > >
-
Ctrl + S
查看ELF文件中是否有RWX内存页。我们可以在静态分析和调试中使用IDA的快捷键Ctrl + S
设置结构体
-
SHIFT+F11
打开类型库窗口
- 在类型库窗口中,按下
insert
键选择类型库。
- 通过View->Subview->Structures打开结构体窗口
- 在结构体管理窗口中,按下
insert
键,可以选择Add Standard Structure
添加标准结构体,也可以直接添加一个自定义结构体
- 在自己添加的结构体中,按下
D
可以添加一个成员,继续按下d
可以在db dw dd
中转换。按A
键可以加入ASCII字符串的成员。
- 如果要创建已给大小可变的结构体,可以将此处自定义的数组元素大小设为0.新增结构成员时,IDA会自动为其命名,按下
N
可以修改新结构成员的名字。
- 在数据段中使用结构体: 跳转到相应地址,执行Edit->Structs->Struct var
(快捷键alt+Q)
然后选择之前对应的结构体即可。
- 最后,可以再操作数类型中重新定义现有数据。选中要重新定义的数据,例如[esp+4],选择Edit->Operand
types->Offset(Struct)(快捷键T)
,执行结构偏移功能。如果成员较多,也可以以此选择所有需要替换的代码,再按T
即可。
- 也可以从已经分析好的数据中建立结构体,选择数据段中的数据,然后Edit->Structs->Create struct from data中创建结构体。
- 创建共用体:在结构体窗口按下
insert
,然后勾选Create union
复选框,共用体的偏移量可以通过Edit->Structs->Select union mumber操作。
- 导入结构体:File->Load File->Parse C header file加载自定义的包含结构体的头文件。
设置枚举类型
- 通过View->Subview->Enumerations打开枚举类型窗口,
insert
新建枚举类型,快捷键N
添加枚举成员
- 在代码段或数据段的相应位置,使用Edit->Operand->Enum member或者按
M
将数据转换为执行的枚举类型。
变量
推荐阅读