网站大量收购独家精品文档,联系QQ:2885784924

2025年逆向工程实践深度解析与技巧探讨.docx

2025年逆向工程实践深度解析与技巧探讨.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

課程題目:运用OllyDbg逆向工具学习高级語言的输入输出与底层的对应关系

试验背景

软件逆向工程是在1990年发展起来的,目前已经有某些会议和计算机顾客组的专題会议主題。软件逆向工程是分析目的系统,认定系统的组件及其交互关系,并且通过高层抽象或其他的形式来展現目的系统的过程。逆向工程是理解软件“所作所為”的一套最重要的技术和工具。正式地讲,逆向工程是“通过度析目的系统以识别系统的组件以及这些组件之间的互相关系并创立该系统另一种形式的表或更高级的抽象过程”。从工程实际的角度来看,大体上可以将软件逆向工程分為两大类:(1)从已知软件系统的完整代码出发,生成对应系统的构造以及有关设计原理和算法思想的文档。(2)从没有源代码的程序出发,生成对应的源程序、系统构造以及有关设计原理和算法思想的文档等。逆向工程在软件分析中的作用重要分為如下六个部分:(1)查找恶意代码,許多病毒和恶意代码的探测技术使用逆向工程来理解那些令人憎恶的代码是怎样构成和运作的。通过逆向找出可用作特性码的可识别模式用于驱动商业探测器和代码扫描器。(2)发現意想不到的缺陷和錯误,虽然是设计最完美的系统也也許存在漏洞,这是由于我們使用的“前向工程”开发技术所固有的特点导致的。逆向工程可以协助我們在发生致命的软件失效前识别缺陷和錯误。(3)查找与否使用了其他人所写的代码,弄清晰在应用程序的哪里使用了受保护的代码和技术,这对于保护知识产权不被滥用是很重要的。逆向工程技术可用于检测应用程序与否包括所关怀的软件单元。(4)寻找对共享软件和开放源码的使用(在不该使用的地方),与侵犯代码版权相反的是,假如一种产品以安全和专用為目的,与否有可公开获取的代码也許是大家关怀的问題。逆向工程可以用于检测代码复制问題。(5)从其他(不一样领域或用途)产品中学习,逆向工程技术使我們可以学习先进的软件措施,还容許新学员研究大师的作品。这对于学习和积累不停发展的代码知识来說是非常有用的。許多网站是通过参照其他网站的做法来建立的。許多网页开发人员是通过阅读其他网站的源代码学习HTML和网页编程技术的。(6)发現原开发人员此前没故意思到的特性或机遇,(6)发現原开发人员此前没故意思到的特性或机遇

试验环境简介

Windows平台、OLLYDBG逆向软件、测试程序、c-free5.0。

试验工具简介

在現代操作系统中,可以将调试器粗略地分為两种不一样的风格:顾客模式调试器和内核模式调试器。顾客模式调试器是一种一般的应用程序,它将自已加在另一种进程(既被调试程序)之上,并可以完全控制该进程。本试验使用的顾客模式调试器是OLLYDBG,对于逆向工作人员而言,由OlehYuschuk编写的OLLYDBG也許是最佳的顾客模式调试器(尽管选择的余地非常小)。OLLYDBG的诱人之处在于:它一开始就是作為逆向工具而设计的,因此它具有强大的内置的反汇编器。OLLYDBG的代码分析器可以识别出循环、switch控制块以及其他重要的代码构造。它能显示所有已知函数和API的参数名,支持在代码和数据之间查找交叉引用——代码到数据或数据到代码。OLLYDBG是调试器中(除了IDAPro调试器)反汇编能力最强的一款,连内核模式都比不上。除了具有强大的反汇编能力外,OLLYDBG还提供了大量不一样的视图,包括列出模块中的导入和导出、显示被调试者拥有的窗口和其他对象的列表、显示目前的异常句柄链以及对那些在库中对的命名的函数使用导入库(.lib文献)等等。OLLYDBG的经典界面如图3.1。

图3.1OLLYDBG的经典界面

对应知识点简介

通过测试键盘中的输入,屏幕的屏幕输出学习VC/VS中的多种常用的输入与输出函数在底层是怎样实現的;然后破解“lianxi.exe”这个小程序。输入方式诸多并且高级語言也有诸多种。C語言输入函数有诸多,常用的输入函数有:Scanf,getchar,getch和getche。如語法:scanf_s(格式化字符串,地址表);其中格式阐明符:转换字符(就是%后跟的部分)显示于表4.1中。

表4.1格式阐明符:

a读浮点值(仅合用于C99);A读浮点值(仅合用于C99);

c读单字符;d读十进制整数;

i读十进制、八进制、十六进制整数;e读浮点数;

E读浮点数;f读浮点数;

F读浮点数(仅合用于C99);g读浮点数;

G读浮点数;o读八进制数;

s读字符串;

试验内容

5.1、通过测试键盘中的输入,屏幕的

您可能关注的文档

文档评论(0)

159****1748 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档