首页
社区
课程
招聘
IDA技巧——结构体
发表于: 2021-3-11 19:14 18925

IDA技巧——结构体

2021-3-11 19:14
18925

本文适用于初次使用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打开本地类型窗口。

image.png

按下insert快捷键,弹出类型声明窗口,在该窗口的编辑区域以C语言语法定义结构体。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 8
支持
分享
最新回复 (9)
雪    币: 20
活跃值: (74)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
向大佬学习
2021-3-12 11:37
0
雪    币: 188
活跃值: (218)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
Good, Thanks for sharing
2021-3-15 09:16
0
雪    币: 562
活跃值: (4315)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
不错
2021-3-15 10:12
0
雪    币: 7
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
Thanks for sharing
2021-3-15 16:00
0
雪    币: 3736
活跃值: (3867)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
感谢分享!
2021-4-12 14:01
0
雪    币: 0
活跃值: (180)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
感谢分享
2022-1-15 03:54
0
雪    币: 493
活跃值: (1803)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
太感谢了,真是相当实用的技巧
2022-4-7 10:11
0
雪    币: 576
活跃值: (2035)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
感谢分享
2022-4-7 11:02
0
雪    币: 226
活跃值: (105)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
感谢分享~
2022-4-8 20:35
0
游客
登录 | 注册 方可回帖
返回
//