Presentation is loading. Please wait.

Presentation is loading. Please wait.

Reverse Engineering Dept. of I&CT, MIT, Manipal. Aspects To Be Covered Introduction to reverse engineering. Comparison between reverse and forward engineering.

Similar presentations


Presentation on theme: "Reverse Engineering Dept. of I&CT, MIT, Manipal. Aspects To Be Covered Introduction to reverse engineering. Comparison between reverse and forward engineering."— Presentation transcript:

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

19


Download ppt "Reverse Engineering Dept. of I&CT, MIT, Manipal. Aspects To Be Covered Introduction to reverse engineering. Comparison between reverse and forward engineering."

Similar presentations


Ads by Google