2024年逆向工程实验报告.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)

130****8663 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档