软件逆向分析介绍解读课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件逆向分析介绍解读课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 逆向 分析 介绍 解读 课件
- 资源描述:
-
1、第1页,共19页。目录软件逆向工程的概念软件逆向工程的应用软件逆向分析的一般流程软件逆向分析的发展现状实际工作中相关的逆向分析第2页,共19页。软件逆向工程的概念正向工程解决了功能的实现,说明了哪些功能需要增加和删除;逆向工程解决了程序理解的问题;再工程改变了系统的功能和方向,最具根本和深远影响的扩展(再工程除了正向和逆向的分析,还有重构的问题,它是在抽象的层次上改变表示形式,改变了系统,但不改变功能)。抽象逻辑设计具体物理实现正向工程(Forward Engineering)逆向工程(Reverse Engineering)再工程(Reengineering)第3页,共19页。软件逆向工程的
2、概念逆向工程从任何人造的东西中提取知识或者设计规划的过程。说明:逆向工程的概念早在计算机或者说现代技术出现之前就已经存在。因此逆向工程的范围也不止计算机领域,还包括科学研究和工业制造等。计算机领域的逆向工程逆向分析硬件逆向软件逆向系统级逆向代码级逆向大范围的分析观察,整体把握程序二进制码中提取设计理念和算法第4页,共19页。软件逆向工程的概念软件逆向工程高级语言程序中间语言程序具体目标代码编译、链接exelibdllsys反编译汇编语言程序反汇编编译和反编译不一定要生成汇编代码,一般生成某种设计好的中间语言。但在反编译的二进制解码过程中,首先会生成一种类汇编或汇编代码,因此二进制解码也可称为反
3、汇编,并且反编译的过程中中间代码也有很多级别,类汇编或汇编代码只是低级中间语言。编译器或反编译器作词法和语法分析第5页,共19页。软件逆向工程的应用帮助理解交互协同工作算法的理解学习代码检查 比较代码 查找恶意软件查找软件漏洞 查找软件BUG代码编译平台上优化平台间移植修复BUG添加新的特性代码恢复Atari和Nintendo游戏开发兼容根据算法特征进行(主要密码算法)比较程序的相似性漏洞的利用和挖掘(还需结合软件调试技术)分析理解目标代码,学习吸收别人的技术思路,并向更深层次发展在逆向分析得到的代码高级抽象表示基础上进行正向工程第6页,共19页。软件逆向工程的应用实际工作重要应用反汇编漏洞挖
4、掘和利用对于操作系统和应用软件,漏洞的挖掘和利用,是主动攻击的重要手段,一旦成功效果明显,应用起来也比较广泛,难度工作量较大,现阶段的一般研究方法是在反汇编分析的基础上,结合动态跟踪、调试技术来进行。Rootkit的深入Rootkit VS HIPS(主机入侵检测):胜负取决于谁做得更底层,谁知道更多没有公开的底层内容,这需要在反汇编的基础上进行内核的调试,探索底层未知的部分,网上发表的都是过时的或者不是非常重要的“点拨”。原意是根权限工具,而实际中常指使用了Rootkit技术的病毒、木马,他与传统木马(R3)的不同在于:通过加载一个驱动或者其它手段,使部分代码或者全部代码都在内核(R0)中进
5、行熟练的汇编语言基础熟练掌握常用反汇编调试工具的使用熟练掌握相关操作系统的知识及调试技巧软件调试,张银奎,电子工业出版社ROOTKITSWindows内核的安全防护,Butler,J/Hog lund,G,清华大学出版社Reverse Engineering Code with IDA Pro第7页,共19页。软件逆向工程的应用实际工作重要应用反汇编(续)代码恢复理解分析有价值的二进制程序,获取并理解其(关键)功能结构,提高自己的技术水平,扩展学习、获取技术的渠道,摆脱自身研究的不足。算法的识别利用(密码)算法在汇编级别的特征,进行相关的算法识别;当然也有在抽象语言级别上进行的(现阶段研究不太
6、成熟,非主要手段)。可能有些时候还需要脱壳方面的技术第8页,共19页。软件逆向分析的一般流程解码/反汇编(Decode/Disassemble)目标二进制代码中间语言翻译(Intermedia Language Translate)数据流分析(Data Flow Analysis)控制流分析(Control Flow Analysis)其它分析和优化(Others)高级抽象代码汇编/类汇编代码各级中间语言第9页,共19页。软件逆向分析的发展现状根据应用用途大致分为反汇编核反编译两个发展方向反汇编 IDA全名(IDA Pro Disassembler and Debugger),DataResc
展开阅读全文