反汇编与软件逆向课件.ppt_第1页
反汇编与软件逆向课件.ppt_第2页
反汇编与软件逆向课件.ppt_第3页
反汇编与软件逆向课件.ppt_第4页
反汇编与软件逆向课件.ppt_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

反汇编与逆向技术,课程目录,一、软件逆向概述,二、基础知识,三、常用工具,四、逆向破解实战,五、总结,1.1软件逆向的概念,软件逆向概述,可执行文件,突破软件限制,汇编层分析算法,软件源代码,软件逆向概述,1.2软件逆向的一般步骤,1、研究保护方法,去除保护功能,2、反汇编目标软件,定位功能函数,3、分析汇编代码,4、修改汇编代码或还原高级源代码,软件逆向概述,1.3软件逆向的应用,软件破解,软件汇编级BUG调试,病毒分析,漏洞分析,基础知识,2.2、汇编语言基础知识,2.3、可执行文件结构,2.5、软件保护(选),2.1、数据结构基础知识,2.4、Windows启动与程序装载,数据结构基础,2.1.1栈的结构,数据结构基础,2.1.2栈的工作原理,汇编基础,2.2.1汇编语言概述汇编语言(assemblylanguage)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。,简单概括:,1、汇编语言是机器语言的符号表示,与硬件相关,2、个人电脑运行的是基于X86处理器架构的汇编语言,3、最终程序的运行都是一条条指令的运行,汇编基础,2.2.2汇编语言与其它语言的转换,32位,汇编基础,2.2.3常见汇编指令,Addeax,ecxeax寄存器的值加上ecx寄存器的值,结果保存在eax寄存器,Subeax,ecxeax寄存器的值减去ecx寄存器的值,结果保存在eax寄存器,cmpeax,ebxeax寄存器的值与ebx寄存器的值比较,如相等z标志置1否则置0,JnzeaxJnz不为0时跳转,即z标志为0时跳转到eax表示的地址处继续执行,Calleax先将下条指令的地址压栈,再跳转到eax表示的地址处执行,moveax,ecx将ecx寄存器的值保存在eax寄存器中,Ret将当前栈顶的值取出,存放到EIP中,并继续执行,正常情况下:call指令一般在子函数调用时使用,ret指令在子函数返回时使用,汇编基础,2.2.4常用寄存器,EAX累加器,在加法、乘法指令中用到的寄存器,或存放函数返回值,EBX基地址寄存器,在内存寻址时存放基地址,ECX计数器,在循环中一般会使用,EDX存放整数除法产生的余数,ESI/EDI:源/目标索引寄存器,在很多字符串操作中ESI指向源,EDI指向目标,EBP基址指针,一般用来存放函数的起始地址,ESP始终指向栈顶,EIP存放下条指令的地址,汇编基础,2.2.5一个函数的反汇编代码(Debug版),intadd(intlow,inthigh)intsum=0;inti=low;for(i;iJustb=0 x726F6630字符串为rof0=0forc=0 x6E756630字符串为nuf0=0fun,因此得到的正确的输入字符串为Just0for0fun11A,逆向破解实战,测试结果如下:,总结,软件逆向是一个熟能生巧的过程,除了学习别人的经验技巧之外,更多的是需要不断的练习。软件逆向过程是比较枯燥的,必须要有足够的耐心和细心。相

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论