《软件逆向分析》PPT课件

《软件逆向分析》PPT课件

ID:37813277

大小:932.50 KB

页数:46页

时间:2019-05-31

《软件逆向分析》PPT课件_第1页
《软件逆向分析》PPT课件_第2页
《软件逆向分析》PPT课件_第3页
《软件逆向分析》PPT课件_第4页
《软件逆向分析》PPT课件_第5页
资源描述:

《《软件逆向分析》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、逆向分析逆向工程概述调试器和反汇编器逆向分析实例断点专用工具逆向工程逆向工程,ReverseEngineering,R.E.工程(Engineering):从原理到产品逆向工程的基本思想:从产品到原理(再到产品)军事中的逆向工程USA,BoeingB-29USSR,TU-4军事中的逆向工程前苏联SVD狙击步枪国产79/85狙击步枪软件逆向工程软件逆向工程是通过反汇编和调试等手段,分析计算机程序的二进制可执行代码从而获得程序的算法细节和实现原理的技术。研究对象:没有公开源代码的计算机程序,主要是已经经过编译的二进制可执行代码(如Win32平台上的PE文件,包括e

2、xe,dll等文件格式)与开放源代码的开源软件不同,用户无法修改已经编译成型的可执行文件,或者无法获知程序内部的算法。逆向工程类似于软件工程中的“黑盒”测试。需要借助跟踪调试手段,从二进制机器代码开始分析程序。工作过程与软件工程相反,这就是“逆向工程”这个名词中“逆向”的来源。软件逆向工程逆向工程的主要应用软件破解(cracking):破解软件的版权保护措施,让用户不支付授权费用就可以无限制使用软件的全部功能;病毒和恶意程序(malware)分析:分析病毒、恶意程序的传播机制和危害并设计出解决办法;系统漏洞分析:分析漏洞原理,设计补丁程序或者编写利用程序(Ex

3、ploit)。分析不公开的文件格式、协议等;分析Windows或Mac平台上的硬件驱动程序,编写linux下的相应驱动;挖掘消费电子产品的潜能;挖掘操作系统未文档化的API,发现更多系统内幕;计算机犯罪取证逆向工程的其他应用逆向工程的历史最早出现在20世纪80年代,APPLEII主机上的游戏破解。逆向工程最早的应用是软件破解。合法性至今存在很大争议。WindowsEnd-UserLicenseAgreement总结逆向工程的分析方法是从一个已经成型的产品开始逐步向下分解,以期最后在更高的层次上抽象出产品的技术细节。目录逆向工程概述调试器和反汇编器逆向分析实例断

4、点专用工具调试器和反汇编器逆向工程的研究对象:特定硬件平台上的可执行二进制代码逆向工程的研究手段:跟踪与调试两种关键工具:调试器和反汇编器调试器调试器(Debugger):加载被调试的目标程序(或进程),并对它进行动态跟踪和调试。与源码调试的区别:是对程序的二进制可执行代码直接进行调试。各种语言开发环境中自带的调试器功能有限,难以胜任逆向工程的需要。采用专门的调试器常用调试器-SoftICERing0级内核调试器;通过网络进行远程调试;支持单机的、源程序级的调试能力;支持WindowsNT/9x,功能强大;常用调试器-OllyDBGOllyDBG(简称ODBG

5、)工作在Ring3下,无需注册免费使用,最新版本是1.10。书中使用ODBG进行实例讲解。1234反汇编窗口寄存器窗口堆栈窗口转存(dump)窗口常用调试器-WinDBGWinDBG是微软出品的调试器,可以用于源代码调试和系统内核调试,还能分析dump文件,和Windows结合紧密。WinDBG是基于命令使用的调试器。反汇编器反汇编的概念:把二进制代码翻译成汇编助记符。调试器中自带简单的反汇编引擎,但是这些反汇编引擎功能有限,专业反汇编器可以更好的分析代码。xorebx,ebx0x33,0xDB汇编助记符二进制代码汇编反汇编反汇编器-IDAProIDAPro(

6、InteractiveDisassemblyPro)功能强大,能反汇编多种硬件平台的指令集,配有众多的反汇编选项;能根据目标程序的编译器识别出很多函数和参数甚至结构体并且自动标注。支持改名,内建简单调试器以及支持很多高级功能。反汇编器-W32DASMW32Dasm是一个轻量级的反汇编工具对小型文件进行反汇编时速度很快它的优点是使用方便容易上手,缺点是难以对大的文件进行反编译。目录逆向工程概述调试器和反汇编器逆向分析实例断点专用工具实例1-直接内存查看Win32进程内存空间当进程开始后,各种数据和资源会以一定结构组织起来映射到主存。默认情况下,Win32系统上每

7、个用户进程可以占有2GB的私有地址空间,操作系统占有剩下的2GB地址空间。进程的代码和各种资源都会在进程内存空间里出现,可以用内存查看工具查看进程内存以获取一些信息例如字符串等。实例1cont.运行目标程序BS.Crackme.2.exe主窗口上有两个文本框,分别用于输入用户名和序列号这两个注册信息。在用户名文本框中输入用户名newbie,下面随便填入一个注册码11223344,点击check按钮,crackme弹出一个对话框提示输入的注册码错误。暂时关闭对话框。打开WinHEX,点击工具栏上的OpenRAM按钮,弹出对话框选择想要打开的进程内存。选中Prim

8、aryMemory后点击OK打开BS.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。