首页
社区
课程
招聘
[分享]《加密与解密(第三版)》学习指引(第三章)静态分析技术
2008-8-23 21:03 66601

[分享]《加密与解密(第三版)》学习指引(第三章)静态分析技术

2008-8-23 21:03
66601
知识就像一个圆,知道的越多,不知道的也越多.如果对于初学者来说IDA有什么困难的地方,那就是它的默认界面,按钮太多,给人一种很复杂的感觉。



点一下上图中的Main。恩,现在简单多了。一个软件可以流行起来,绝对不是因为它的高深,而是简单易用。如果你只想给人一种很专业的感觉, OD就足够了,如果你想把事情变得简单。那么请往下看。
       
首先让我们来回顾各小节隐藏的信息,我以为猜测每个功能存在的理由,是一件有趣的事。

3.2.5交叉参考: 程序各部分存在联系,而只要定位到其中一部分,便可以顺藤摸瓜找到关键代码.
3.2.6参考重命名、3.2.7标签用法:记录分析结果,备忘之用
3.2.8 进制的转换:为满足不同人理解数字的习惯服务。
3.2.9代码和数据转换、3.2.10字符串:现在,即使IDA不能很好处理,我们也可以自己处理了。
3.2.11数组、3.2.12结构体、3.2.13枚举类型、3.2.14堆栈变量和3.2.16 FLIRT:程序由高级语言编译而来,自然保留着某种高级语言的特性。更细致的分析记录功能,更可读的汇编代码。
3.2.15 IDC脚本:可编程的,自动完成任务的接口。更高的自由度,使自动解决重复劳动变成可能


什么时候使用IDA?

更细致的备忘功能,意味着可以应付耗时更长的程序分析任务。例如你希望得到杀软客户端的反病毒技术细节,IDA会是你最好的选择。
更自由的交互功能,意味着用户可以完成更复杂的分析任务。例如你希望得到某网游保护系统的技术细节,IDA会是你最好的选择。


现在让我们忘记书中低级功能到高级功能的介绍顺序,看看一般静态分析流程:

1. 使用PEID或FILEINFO识别出程序所使用的高级语言
2. 按照3.2.16 FLIRT的介绍,选择对应的高级语言函数识别库
3. 按照3.4.2逆向工程初步中介绍的方法使用3.2.5交叉参考功能
4. 找到关键代码之后尝试使用3.2.17介绍的Hex-Rays Decompiler,通过F5取得更易于阅读的源代码
5. 为了应付复杂的情况,可能需要3.2.9代码和数据转换3.2.10字符串,甚至自由度更高的3.2.15 IDC脚本
6. 通过3.2.6参考重命名3.2.7标签的用法3.2.11数组3.2.12结构体3.2.13枚据类型,记录分析结果,作备忘之用。
7. 使用3.3可执行文件的修改介绍的方法完成任务


给没有编程经验读者的阅读建议:

你可能需要一本系统的书(如《Windows编程循序渐进》)补充相关知识。再回头看这一章的内容,由于篇幅限制。书中第一章的内容只能供有基础的人作回顾之用。


给希望了解IDA更多细节的读者一点额外的阅读资料:

首先你可以在IDA的安装目录下找到idahelp.chm。下面URL则是来自官方网站的资料:

http://www.hex-rays.com/idapro/idasupport.htm

或许你也对本论坛的这些资源有兴趣:

http://bbs.pediy.com/showthread.php?t=40765
IDA逆向工程入门

http://bbs.pediy.com/showthread.php?t=52445
【翻译】翻译的几篇IDA小教程

http://bbs.pediy.com/showthread.php?t=63292
关于FLIRT制作的文章

http://bbs.pediy.com/showthread.php?t=7244
【翻译】IDA数据分析简易教程

http://bbs.pediy.com/showthread.php?t=31023
IDA相关文章的翻译主题集合


如果你关注IDA的高级应用,你或许会对下面资料感兴趣:

http://bbs.pediy.com/showthread.php?t=31441
IDA Pro的插件开发SDK,及其教程等相关资料

http://bbs.pediy.com/showthread.php?t=38900
[翻译]IDA Plugin 编写基础

http://bbs.pediy.com/showthread.php?t=51278
从不同的需求出发,将IDA的另一面呈现给你。文中使用IDC脱壳的示例会给你另一种脱壳体验

http://www.openrce.org/articles/full_view/28
编写IDA Processor模块,反编译分析受虚拟机保护的程序。

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

上传的附件:
收藏
点赞7
打赏
分享
最新回复 (49)
雪    币: 1505
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
bithaha 5 2008-8-23 22:08
2
0
支持下笨笨熊熬夜写教程
雪    币: 65
活跃值: (811)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
美丽破船 5 2008-8-25 17:25
3
0
坚决支持!!!
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
merixEM 2008-8-25 22:54
4
0
斑竹辛苦了!!!
雪    币: 107
活跃值: (1412)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
frozenrain 2008-8-26 00:24
5
0
很多帖子里都能感觉到楼主说的话很有哲理
雪    币: 250
活跃值: (33)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
XzOsaPl 2 2008-8-26 20:05
6
0
IDA 很好很强大
可是我水平太差 不会弄

尤其是邪恶的 Hex-Ray Decompiler
雪    币: 212
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
阳小子 1 2008-8-26 21:33
7
0
版主辛苦了,学习了。(书还没看)o(∩_∩)o...
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
cuuby 2008-8-27 15:41
8
0
很不错,支持你!
雪    币: 226
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mindachen 2008-8-27 16:26
9
0
感谢楼主的总结,收藏
雪    币: 414
活跃值: (10)
能力值: ( LV9,RANK:460 )
在线值:
发帖
回帖
粉丝
qifeon 11 2008-8-29 20:26
10
0
这种导引适合我等菜鸟学习,很好。
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fool 2008-8-29 23:37
11
0
支持,IDA开始就看了你的IDA实例教程~
雪    币: 6090
活跃值: (599)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
君君寒 2008-8-31 15:04
12
0
斑竹太强大了 .........................
期待更多指导
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xiaojiu张 2008-8-31 16:17
13
0
坚决支持
斑竹熬夜写教程
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
七号 2008-9-1 09:50
14
0
纯支持。。。
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
不了技术 2008-9-3 22:32
15
0
谢谢,对于一个像我这样盲目的初学者来说,帮助太大了!
雪    币: 446
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sxyczjp 2008-9-8 17:05
16
0
坚决支持
............
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
花之泪 2008-9-10 00:33
17
0
支持 支持。。。
先收藏先!
半夜了,没时间看,明天还要上班!
有时间再慢慢研究!!
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
yingyue 2008-9-19 14:16
18
0
http://bbs.pediy.com/showthread.php?t=31023
IDA相关文章的翻译主题集合

中的译文都打不开,好像很久了,还没整理好吗 ?

要学会一样东西,就是要去用它,记得以前第一次见到的时候,无法入手,后来基础好了些,有点感觉了,但还是被 OD 占据了我所有的时间,到现在,我几乎什么东西都用 IDA 打开看看再说
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fjfhihcy 2008-9-19 16:55
19
0
谢谢了。楼主
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yamu 2008-9-23 15:33
20
0
这么好的东东 不留下 帖子支持 太对不起自己了
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wenchao 2008-9-30 14:41
21
0
很好很强大,书看刚看完第二章
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
snakefish 2008-10-4 19:34
22
0
大声的说声谢谢,支持你,我也会好好努力的
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tonyliou 2008-10-5 18:24
23
0
太感谢了!这正是我们新手所需要的。
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
redrains 2008-10-6 21:08
24
0
斑竹辛苦了,学习了 ,很好,谢谢!
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Rucit 2008-10-10 08:28
25
0
谢谢,太需要这样的帮助了。。
游客
登录 | 注册 方可回帖
返回