- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
——张森.ppt
LOGO位置 ——张森 ■ 反汇编用处 ■ 如何反汇编 ■ 硬件知识 ■ 反汇编知识 ■ 指令压缩 ■ 反汇编:把目标代码转为汇编代码的过程,常用于软件破解、外挂技术、病毒分析、逆向工程、软件汉化等领域。学习和理解反汇编语言对软件调试、漏洞分析、OS的内核原理及理解高级语言代码都有相当大的帮助,在此过程中我们可以领悟到软件作者的编程思想。 ■ Samba:一个允许非Windows系统与Windows系统共享文件的开源项目。 ■ Wine:对Windows API做了同样的工作。 ■ OpenO:对Microsoft Office文件格式作逆向工程。 ■ ReactOS:竭力在ABI及API上,兼容NT系Windows系统。以便让为Windows所编写的软件和驱动程序可以在其上运行。 ■ WindowsSCOPE:用来监测及分析Windows系统内存的实况内容。 ■ 由于大多数近代体系结构区分开代码和数据,因此你可能倾向于认为该阶段工作无足轻重。事实并非如此,因为体系结构可以强迫数据段不包含代码,但不保证代码段不包含数据。当然,由于代码段是写保护的,所以代码段中的数据只能是常数。虽然如此,在代码段中可以有数据,或者只是无用信息。 参考:/kssd/pediy08/pediy8-794.htm 1:反汇编的通常方法,即所谓线性扫描方法。 2:递归下降,克服了某些缺点(Schwarz和Debray, 第9届关于逆向工程的工作会议,2002年)。 参考:/phtml 参考:/kssd/pediy08/pediy8-794.htm 下面分别说下两种优点与缺点 ■ IA-32下寄存器,当然常用的没这么多 ■许多指令默认指定具体寄存器,例如字符串指令默认使用ECX,ESI,EDI;用段内存模型,一些指令假设指针和特殊段相关,例如:一些指令假设EBX内存位置指针与DS段关联. ■ESP不能被当作索引寄存器 ESP,EBP当基址时候,SS作为默认段;其他时候DS作为默认段 ■EIP不能被软件修改,被隐式转移指令控制(比如JMP,JCC,CALL,RET),中断和异常.唯一读EIP的方法是执行一个CALL,读桟里返回值.EIP被RET或者IER间接修改 ■ ESP不能被当作索引寄存器 ■ LEA ■Prefixes 锁定\重复\段改写\跳转条件\操作数大小\地址大小 ■MODR/W说明32可能值:8个寄存器和24个寻址模式,指定寄存器或者3字节以上指令信息 ■SIB基址变址和比例变址需要 ■Dislacement说明偏移大小 ■Immediate说明立即数大小 ■mov?word?ptr?es:[eax?+?ecx?*?8?+?0,?0目标操作数是?mem,源操作数是?imme. 对应的机器编码是:26?66?C7?84?C8?44?33?22?11?78?56 ■解释一下: 26:??在指令序列里是:prefix部分,作用是调整内存操作数的段选择子66:??在指令序列里是:prefix?部分,作用是调整操作数的缺省大小C7:??在指令序列里是:Opcode部分,是mov指令是操作码84:??在指令序列里是:ModRM值,定义操作数的方式C8:??在指令序列里:SIB值定义内存操作数的方式44 33 22 11:?在指令序列里是:?displacement值78 56:??在指令序列里是:immediate值 ■调用约定 当参数个数多于一个时,按照什么顺序把参数压入堆栈。函数调用后,由谁来把堆栈恢复。在高级语言中,通过函数调用约定来说明这两个问题。常见的调用约定有: ■奇怪的mov edi,edi 不采用NOP 因为指令周期 ■我们来看一个示例 ? ■返回值? 主要有如下形式:1)通过寄存器返回函数值;2)通过参数按引用方式返回函数值;3)通过全局变量返回函数值;4)通过处理器标志返回函数值; ■一般用EAX,EAX不够放EDX。?如果返回一个含有几百个字节的结构或者对象,编译器会在不告诉程序的情况下,给函数传递一个隐式参数,这个指针指向保存的返回结果。 ■PE文件格式 文件偏移地址(File?Offset)PE文件在磁盘上储存时,各数据的地址。用十六进制工具显示的地址就是文件偏移地址。 ? 虚拟地址(Virtual?Address,VA)由于Windows程序是运行在386保护模式下,在保护模式下,程序访问存储器所使用的逻辑地址称为虚拟地址。 ? 基地址(ImageBase)文件执行时将被映像到指定内存地址中,这个初始内存地址称为基址。 ? 相对虚拟地址(Relative?Virual?Ad
您可能关注的文档
- Fraternal Advanced.ppt
- Free Trade Agreements in the Asia-Pacific.ppt
- Front of Pack Nutrition Labelling - The UK Experience.ppt
- FTP Collecting System.ppt
- Fundamentals ofMetal Forming.ppt
- Gastrointestinal Problems.ppt
- GB 15607-2008 粉末静电喷涂工艺安全.ppt
- Generalized Vesicular or Pustular Rash Illness Protocol.ppt
- Genes, Genomes, and Genomics.ppt
- Genetic Diversity.ppt
最近下载
- 品管圈PDCA获奖案例-精神科提高住院病人精神障碍作业治疗参与率医院品质管理成果汇报.pptx
- 基于混频非结构化数据的中国碳价预测.pdf VIP
- 《德固赛树脂产品资料》.ppt
- 全球变化课件06新生代衰落与第四纪.pptx VIP
- 2025年全国翻译专业资格(水平)考试土耳其语一级笔译试卷.docx VIP
- Unit 4 Amazing Plants and Animals Section B(1a-2d)课件 2025人教版英语八年级上册.pptx
- 全球变化课件新生代衰落与第四纪.ppt VIP
- 公安信访与警调对接课件.pptx VIP
- 高等数学(上册)(同济大学数学系)PPT全套完整教学课件.pptx
- 食材配送时间安排计划.docx VIP
文档评论(0)