-
-
IDA技巧——结构体
-
发表于:
2021-3-11 19:14
18927
-
本文适用于初次使用IDA的小白(我本身也是小白),大佬请略过。
在我们开始修改结构体之前,首先为最初的IDB做一个快照是良好的习惯,这样可以帮助我们迅速还原某个时间点的IDB状态。比如我们改错了某个数据却没办法撤销IDB所作的修改。使用快捷键Ctrl+Shift+W唤起IDB快照窗口,为当前IDB快照起个名字后点击OK。
随意修改一处数据,我这里直接将WinMain函数内容的解析取消掉了。
使用快捷键Ctrl+Shift+T唤出IDB快照弹窗。
双击提示是否恢复IDB快照,我们点击YES还原IDB初始状态。
可以看到IDB被还原。
我们在逆向的过程中为关键的判断或者指令设置标记可以方便我们迅速定位标记位置,防止我们回过头来找不到之前的关键点。选择Jump->Make position选项设置地址0x40162A处的指令作为标记,可以轻松回到当前指令位置。(快捷键Alt+M)
同样需要为标记点起个名字
接下来随意移动到一处位置的IDB位置。
可以选择Jmp->Jmp to make position选择要跳转的指令标记。也可以使用Ctrl+M快捷键。
双击回到标记点
首先打开IDA,使用快捷键Shift+F1打开本地类型窗口。
按下insert快捷键,弹出类型声明窗口,在该窗口的编辑区域以C语言语法定义结构体。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!