IDA

  • 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将数据转换为执行的枚举类型。

变量

  • 使用Ctrl+k打开栈窗口

你可能感兴趣的:(IDA)