软件体系结构在软件逆向工程中的应用---毕业论文

上传人:wo7****35 文档编号:55274062 上传时间:2018-09-26 格式:DOC 页数:51 大小:788.50KB
返回 下载 相关 举报
软件体系结构在软件逆向工程中的应用---毕业论文_第1页
第1页 / 共51页
软件体系结构在软件逆向工程中的应用---毕业论文_第2页
第2页 / 共51页
软件体系结构在软件逆向工程中的应用---毕业论文_第3页
第3页 / 共51页
软件体系结构在软件逆向工程中的应用---毕业论文_第4页
第4页 / 共51页
软件体系结构在软件逆向工程中的应用---毕业论文_第5页
第5页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《软件体系结构在软件逆向工程中的应用---毕业论文》由会员分享,可在线阅读,更多相关《软件体系结构在软件逆向工程中的应用---毕业论文(51页珍藏版)》请在金锄头文库上搜索。

1、本本 科科 毕毕 业业 论论 文文软件体系结构在软件逆向工程中的应用软件体系结构在软件逆向工程中的应用Software Architecture in Software Reverse Engineering姓 名: 学 号:学 院:软件学院系:软件工程专 业:软件工程年 级:指导教师: 年年 月月摘要I摘摘 要要随着软件产业的进一步发展,网络安全和企业软件技术竞争越来越受到人们关注,逆向工程被引入软件工程。然而,当前行业业务复杂,软件规模也随之扩大,软件代码疾速膨胀,相对应的汇编代码更是无法计算,如何分析一个大规模的软件已经成为许多逆向工作者最头疼的问题。软件逆向工程是一个从产品代码设计的过

2、程,如果掌握了软件的体系结构,将软件体系结构应用在软件逆向工程中,在进行逆向分析工作时就有规律可循,从而能够实现在短时间内从海量代码中找出自己所关心的技术细节,这就可以大大的缩短分析时间和任务工作量。面向过程开发与面向对象开发一直是软件产业中应用最为广泛的开发模式。本文就这两种典型的开发模式,结合实际例子,运用软件体系结构知识,分别进行了详细的分析。在基于面向过程开发的软件分析中,选取了备受IT界关注的网络安全领域病毒技术作为范例,另外一个示例是以事件驱动为架构的基于Win32开发的小型桌面应用程序分析。说到面向对象,以类为核心,就不得不提起最经典的类库。在面向对象开发的软件的逆向分析这部分,

3、集中分析了微软类库MFC框架下的一些规律。从而总结出了几个不同领域,不同框架下的软件的逆向分析的规律,并提出了下一步展望。关键词:关键词:软件体系结构;逆向工程;反汇编技术AbstractIIAbstractWith the development of software industry, the competition of network security and enterprise software technology were more and more concerned about, reverse engineering was introduced to the soft

4、ware industry. But the business of current software industry is very complicated, the code is very huge and the corresponding assembly code is now impossible to calculate. As a result, how to analyze a very large scale software is becoming a most troublesome problem to the software reverse engineer.

5、Software Reverse Engineering is a process form product to code and then to design. If you master the software architecture, and use it in the software reverse engineering, you will have rules to follow in the analysis, find out the concerns technology details from the massive code in a short time, s

6、o it can greatly shorten the analysis time and task workload. Process-oriented and object-oriented development model have been the most widely used in software industry. This dissertation focuses on the two typical development models, with practical examples and the knowledge of software architectur

7、e, carried out a detailed analysis of each example. I take the network security - virus technology as an example for the process-oriented development process which is concerned much by the IT industry. Another example is a small desktop application which is developed by event driven and based on Win

8、32 framework. Speaking of object-oriented, with class as the core, we have to bring the classic class library. In object-oriented software development reverse, this dissertation concentrates on the Microsoft MFC framework, and find out some rules. Thus this dissertation concludes several regular pat

9、terns of reverse analysis at different domains, and comes up with the expectation in the next step.Key words: Software Architecture; Reverse Engineering; Disassembly Technology目录III目目 录录第一章第一章 绪论绪论11.1 引言11.2 论文组织结构2第二章第二章 软件体系结构风格和软件逆向工程概述软件体系结构风格和软件逆向工程概述32.1 软件体系结构风格概述32.1.1 数据流风格32.1.2 调用/返回风格.4

10、2.1.3 虚拟机风格52.1.4 数据仓库风格52.1.5 独立组件风格.62.2 软件逆向工程相关概述72.2.1 软件逆向分析的各个阶段72.2.2 反汇编技术及其在软件开发中的应用.92.2.3 IDA Pro 工具介绍.10第三章第三章 软件体系结构在逆向工程中的应用一软件体系结构在逆向工程中的应用一123.1 过程恢复技术123.1.1 函数的识别(开始和结束).123.1.2 函数的参数123.1.3 函数返回值143.2 计算机病毒143.2.1 病毒的体系结构.143.2.2 病毒技术提取与总结.153.2.3 软件体系结构对病毒分析的指导意义.203.3 事件驱动应用程序.

11、203.3.1 事件驱动应用程序的体系结构.21目录IV3.3.2 事件驱动系统实例分析.21第四章第四章 软件体系结构在逆向工程中的应用二软件体系结构在逆向工程中的应用二.274.1 基于类的软件分析概况.274.2 基于类的分析.294.2.1 识别类.294.2.2 识别对象314.2.3 识别类与类之间的关系324.3 基于类的软件的实例分析HttpSniffer36第五章第五章 总结与展望总结与展望415.1 论文总结.415.2 工作展望.41参考文献参考文献42致致 谢谢43ContentsVContentsChapter 1 Introduction11.1 Introduct

12、ion 11.2 Structure of this Dissertation2Chapter 2 Overview of SA Style and Software Reverse Engineering .32.1Software Architecture Styles Overview 32.1.1 Data Flow Style32.1.2 Call Back Style.42.1.3 Virtual Machine Style52.1.4 Data Warehouse Style52.1.5 Independent Component Style.62.2 Overview of s

13、oftware reverse engineering.72.2.1 Stages of Software Reverse Analysis.72.2.2 Disassemble and Disassemble Technology in Software Development .92.2.3 Introduction of IDA Pro.10Chapter 3 Software Architecture in Reverse Engineering Part 1 .123.1 Process Recovery Technology123.1.1 Identify Functions 12

14、3.1.2 Parameters123.1.3 Return Values.133.2 Computer Virus 143.2.1 Architecture of Virus143.2.2 VirusTechnology Extraction and Summarization153.2.3 The Significance of SA in Analysis Virus.203.3 Event-driven Application213.3.1 Architecture of Event-driven Application213.3.2 An Example of event-drive

15、n system21ContentsVIChapter 4 Software Architecture in Reverse Engineering Part 2 .274.1 Overview of Analysis on Class-Based Software274.2 Class-Based Analysis .294.2.1 Identify Classes294.2.2 Identify Objects314.2.3 Identify the Relationship between Classes.324.3 Analysis of Class-based CaseHttpSni

16、ffer.35Chapter 5 Conclusions and Future Works 415.1 Conclusions of this Dissertation.415.2 Future Works41References .42Acknowledgements.43第一章 绪论1第一章第一章 绪论绪论1.1 引言引言逆向工程这一术语最早来源于机械工程领域。随着软件工程技术的发展、软件市场的竞争越来越大、软件遗产系统越来越多,逆向工程被引入软件工程领域。软件逆向工程是指“分析目标系统以便识别系统的部件及其关系,并用另外一种形式或在更高的抽象层次表示系统的过程” 。软件逆向工程分为两类:第一类是从已知软件系统的完整代码出发,生成对应系统的结构以及相关设计原理和算法思想的文档。第二类是从没有源代码的程序出发,生成对应的源程序、系统结构以及相关设计原理和算法思想的文档。然而实际上,很多人都不愿意把源码公布出来,真正有意义的软件逆向工作就是指从没有源码的产品中经过逆向生成源程序,得到产品

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号