Download presentation
Presentation is loading. Please wait.
Published byCurtis Chapman Modified over 8 years ago
1
Reverse Engineering Dept. of I&CT, MIT, Manipal
2
Aspects To Be Covered Introduction to reverse engineering. Comparison between reverse and forward engineering. Reverse engineering process. Approaches for reverse engineering. Other areas of application. Legal issues. Dept. of I&CT, MIT, Manipal Reverse Engineering
3
Introduction What is Reverse Engineering ? The process of analyzing a system to (i)identify the system's components and their inter-relationships and (ii) to create representation of the system in another form. Also called as “going backwards through development cycle.” Reverse Engineering Dept. of I&CT, MIT, Manipal
4
Objectives 1.Re-documentation A process to derive the design or speciation of a system from its source code. 2.Design Recovery Design recovery aims at recreating design abstractions from the source code, existing documentation, experts' knowledge and any other source of information. Reverse Engineering Dept. of I&CT, MIT, Manipal
5
Reverse v/s forward engineering Reverse Engineering Dept. of I&CT, MIT, Manipal Requirements Analysis Design Implementation Forward engineering Reverse engineering
6
Reverse Engineering Process 1.Information Extraction 2.Abstraction Dept. of I&CT, MIT, Manipal Reverse Engineering
7
Use Of Reverse Engineering Transforming obsolete products into useful ones by adapting them to new systems and platforms. Some features of the system needs to be refined out. It can be use if there is no adequate documentation of the original design. Investigating and correcting errors and limitations in existing programs. Studying the design principles of a product as part of an education in engineering. Understanding how a product works. Reverse Engineering Dept. of I&CT, MIT, Manipal
8
Approaches To Reverse Engineering White Box Analysis Black Box Analysis Gray Box Analysis Dept. of I&CT, MIT, Manipal Reverse Engineering
9
White Box Analysis Involves analysis of source code. For e.g. decompiling a binary code to get the source code is a kind of white box analysis. Effective for finding programming and implementation errors in software. Reverse Engineering Dept. of I&CT, MIT, Manipal
10
Black Box Analysis Black box analysis refers to analyzing a running program by probing it with various inputs. This can be used to test for the security issues of the system. Reverse Engineering Dept. of I&CT, MIT, Manipal
11
Gray Box Analysis Gray box analysis combines white box techniques with black box input testing. A good example of a simple gray box analysis is running a target program within a debugger and then supplying particular sets of inputs to the program. Reverse Engineering Dept. of I&CT, MIT, Manipal
12
Code Reverse Engineering Reverse engineering focuses at reverse engineering at code level. For reverse engineering code is a reliable source of information. Limitation : the code does not contain all the information that is needed. Reverse Engineering Dept. of I&CT, MIT, Manipal
13
Data Reverse Engineering Data reverse engineering tackles the question of what information is stored and how this information can be used. Data reverse engineering techniques can also be used to assess the overall quality of software systems. Consists of 2 main activities : 1.Data Analysis 2.Conceptual Abstraction Reverse Engineering Dept. of I&CT, MIT, Manipal
14
Data Analysis The analysis activity aims to recover an up-to-date logical data model that is structurally complete and semantically annotated. Computer-aided reverse engineering tools can be used for data analysis. Reverse Engineering Dept. of I&CT, MIT, Manipal
15
Conceptual Abstraction Conceptual abstraction aims to map the logical data model derived from data analysis to an equivalent conceptual design. ER-Diagrams or Object Oriented data models can be used to represent the design. Several tools support data abstraction but has following limitations : 1.Iteration 2.Bidirectional Mapping Process 3.Research Direction Reverse Engineering Dept. of I&CT, MIT, Manipal
16
Reverse engineering can also be used for Military applications Mechanical Devices Reverse Engineering Dept. of I&CT, MIT, Manipal
17
Legal Issues Reverse engineering has been held a legitimate form of discovery. The law regarding reverse engineering in the computer software and hardware context is less clear due to : 1.Anti reverse engineering licensing provisions. 2.Prohibition on the circumvention of technologies embedded within protection measures. Reverse Engineering Dept. of I&CT, MIT, Manipal
18
References [1] P. Aiken. Data Reverse Engineering: Slaying the Legacy Dragon. McGraw- Hill. [2] http://www.jenkins.eu/articles/reverse-engineering.asp [3] http ://www.en.wikipedia.org/wiki/ReverseEngineering [4] http://www.chillingeects.org/reverse/faq.cgi
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.