SlideShare a Scribd company logo
1 of 36
Reverse Engineering
Computer Science
D.I.A.T.M.
Introduction
To
Reverse Engineering
By, Sonal Pravin
CONTENTS
● What is Reverse Engineering (RE)?
● Why do we need Reverse Engineering?
● Scope and Tasks of Reverse Engineering
● Different Approaches
● RE tools
● Conclusions
WHAT WILL HAPPEN ?
●You have an unexpected case:
●You finished one course project using Java
●Your program runs OK
●But, by accident, you delete the java file
WHAT WILL HAPPEN ?
●You have an unexpected case:
●You finished one course project using Java
●Your program runs OK
●But, by accident, you delete the java file
●Solution is “Reverse Engineering”
WHAT IS REVERSE ENGINEERING?
●RE encompasses any activity that is done to
determine how a product works, to learn the
ideas and technology that were used in
developing that product.
●RE can be done at many levels
●RE generally belongs to Software Maintenance
FORWARD ENGINEERING
AND
REVERSE ENGINEERING
By, Puja kumari
WHAT IS FORWARD ENGINEERING ?
Waterfall Model of
software
development
Requirement
Analysis
Design
Implementation
Testing and
Maintenance
FORWARD ENGINEERING
Forward
Engineering
Requirements
Design
Source Code
Testing &
Maintenance
FORWARD ENGINEERING VS
REVERSE ENGINEERING ?
Forward Engineering Reverse Engineering
Requirements
Design
Source Code
Testing &
Maintenance
CONCEPT OF ABSTRACTION SYSTEM
Abstraction
System
Old system New System
Forward Engineering
Re-Implementation
Reverse Engineering
Abstraction
WHY DO WE NEED RE ?
●Recovery of lost information
●providing proper system documentation
●Assisting with maintenance
●identification of side effects and anomalies
●Migration to another hw/sw platform
●Facilitating software reuse
Benefits, Difficulties
& Scope of
Reverse Engineering
By, Ayan Pradhan
THE EARLY DAYS OF RE
●Law of Software Revolution (Lehman, 1980)
●Fundamental strategies for program
comprehension (Brooks, 1983)
●Taxonomy of Reverse Engineering (Chikofsky
&Cross, 1990)
●WCRE (Working Conference on R.E., 1990)
BENEFITS OF REVERSE ENGINEERING
●Benefits
●maintenance cost savings
●quality improvements
●competitive advantages
●software reuse facilitation
DIFFICULTIES OF REVERSE ENGINEERING
●Gap between problem
/solution domain
●Gap between concrete
and abstract
●Gap between coherency/disintegration
●Gap between hierarchical/associational
SCOPE AND TASK OF REVERSE
ENGINEERING
●program understanding
Problem/Applica
tion
domain
Program/Implem
en.
domain
Mapping
SCOPE AND TASK OF REVERSE
ENGINEERING
●Redocumentation and/or document
generation
●Recovery of design approach and design
details at any level of abstraction
●Identifying reusable components and
components that need restructuring
●Recovering business rules
●Understanding high-level system
description.
Discovery of Abstraction &
Different Approaches
of Reverse Engineering
By, Sweta Sangam
DISCOVERY OF ABSTRACTION
●Discovery of abstraction in large system
●Maintenance purpose
●Evolution purpose
●Re-Engineering purpose
LEVELS OF ABSTRACTIONS
●Application
●Application concepts, business rule, policies
●Function
●Logical and functional specification, non-functional
requirement
●Structure
●Data and control flow, dependency graphs
●Structure and subsystem charts
●Architectures
●Implementation
●Symbol tables, source text
DIFFERENT APPROACHES
●Restructuring
●Transformation from one representation to another
at the same level,
Requirements
Design
Source code
Behavior
DIFFERENT APPROACHES
●Reverse Engineering
●Design Recovery
●reproduce all the info for understanding the system
●Re-documentation
●provide different views of the system
●Re-Engineering
●first phase --understanding the system
●second phase--forward engineering
DIFFERENT APPROACHES
Abstraction
System
Old system New System
Forward Engineering
Re-Implementation
Reverse Engineering
Abstraction
Practical Implementation
& Tools of
Reverse Engineering
By, Debdeep Kundu
REVERSE ENGINEERING TOOLS
●Analysis Tools
●Browsers
●Object Server
●Task Oriented Tools
EXAMPLE--JAVA DECOMPILER
●How to recover bytecode from .class file
under Unix/Win with JDK?
% javap -c <filename>
% javap -help (to see the options)
●Java Decompilers
●”ClassCracker” http://www.pcug.org.au/~mayon/
●“DeCafe Pro" from DeCafe, France at
http://decafe.hypermart.net/index.htm
●“SourceAgain" from Ahpah corp at http://www.ahpah.com
EXAMPLE--JAVA DECOMPILER
●ClassCracker 2 Interface
EXAMPLE--JAVA DECOMPILER
●Components of ClassCracker 2
● Java decompiler
●retrieves Java source code from Java class files
● Java disassembler
●produces Java Assembly Code
●A Java class file viewer
●displays Java class file structures.
EXAMPLE--JAVA DECOMPILER
●Features of ClassCracker 2
●User visual interface.
●Can decompile class files within zip or jar files.
●Conversion mode (JAVA, JASM or JDUMP) is
selectable
● A Batch Mode allows multiple class files to be
decompiled simultaneously
●more…...
EXAMPLE--JAVA DECOMPILER
●ClassCracker 2 System Requirements
●All platform (Window/ Linus /Unix)
●JDK /JRE
●Do not believe it?
●From myClass_origin.class ==>myClass.java
●% javac myClass.java (==>myClass.class)
●% diff myClass.class myClass_origin.class
EXAMPLE--JAVA DECOMPILER
●ClassCracker 2.0--want to try it?
●Free download at
http://www.pcug.org.au/~mayon/classcracker/cc
getdemo.html
●Only first three methods are decoded.
●Bridge 1.0---Free
●http://www.geocities.com/SiliconValley/Bridg
e/8617/jad.html
CONCLUSIONS
●Reverse Engineering is a new research area
among software maintenance
●RE includes activities of understanding the
system and recovery info from system
●Program understanding is the most important
subset of Reverse Engineering
●Discovery of abstraction is key issue
REFERENCES
●http://www.wiley.com/WileyCDA/WileyTitle/
productCd-0764574817.html
●http://www.google.com
●- http://jode.sourceforge.net
THANK YOU
QUESTIONS ?

More Related Content

Similar to reverse.ppt.pptx

Architecture Enforcement Aspects Itarc2009
Architecture Enforcement Aspects Itarc2009Architecture Enforcement Aspects Itarc2009
Architecture Enforcement Aspects Itarc2009Srini Penchikala
 
Architecture Enforcement Aspects Itarc2009
Architecture Enforcement Aspects Itarc2009Architecture Enforcement Aspects Itarc2009
Architecture Enforcement Aspects Itarc2009guest2b8cd
 
Keeping code clean
Keeping code cleanKeeping code clean
Keeping code cleanBrett Child
 
The when & why of evolution of performance testing to performance engineering...
The when & why of evolution of performance testing to performance engineering...The when & why of evolution of performance testing to performance engineering...
The when & why of evolution of performance testing to performance engineering...Technical Agility institute
 
Retrofitting a legacy SPA to use a functional architecture
Retrofitting a legacy SPA to use a functional architectureRetrofitting a legacy SPA to use a functional architecture
Retrofitting a legacy SPA to use a functional architectureManuel Rivero
 
Building Sustainable Software: An Introduction to Software Engineering
Building Sustainable Software: An Introduction to Software EngineeringBuilding Sustainable Software: An Introduction to Software Engineering
Building Sustainable Software: An Introduction to Software EngineeringMuhammad Shehata
 
OutSystems Tips and Tricks
OutSystems Tips and TricksOutSystems Tips and Tricks
OutSystems Tips and TricksOutSystems
 
Dealing With Legacy: The Real-World Experience
Dealing With Legacy: The Real-World ExperienceDealing With Legacy: The Real-World Experience
Dealing With Legacy: The Real-World ExperienceJakub Holy
 
Se introduction lec 1
Se  introduction lec 1Se  introduction lec 1
Se introduction lec 1Amir Shahzad
 
Software/System Development Life Cycle
Software/System Development Life CycleSoftware/System Development Life Cycle
Software/System Development Life CycleHem Pokhrel
 
A presentation on forward engineering
A presentation on forward engineeringA presentation on forward engineering
A presentation on forward engineeringGTU
 
Effects, Coeffects & Subscriptions: a pit of success for SPAs
Effects, Coeffects & Subscriptions: a pit of success for SPAsEffects, Coeffects & Subscriptions: a pit of success for SPAs
Effects, Coeffects & Subscriptions: a pit of success for SPAsManuel Rivero
 
Process model rup
Process model rupProcess model rup
Process model rupAryan Ajmer
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architectureraginihacks
 
Best Angular JS training in Hyderabad, India
Best Angular JS training in Hyderabad, IndiaBest Angular JS training in Hyderabad, India
Best Angular JS training in Hyderabad, IndiaN Benchmark IT Solutions
 
Introduction to computer programming.pdf
Introduction to computer programming.pdfIntroduction to computer programming.pdf
Introduction to computer programming.pdfHasankaNayanjith
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design Arslan Anwar
 

Similar to reverse.ppt.pptx (20)

Architecture Enforcement Aspects Itarc2009
Architecture Enforcement Aspects Itarc2009Architecture Enforcement Aspects Itarc2009
Architecture Enforcement Aspects Itarc2009
 
Architecture Enforcement Aspects Itarc2009
Architecture Enforcement Aspects Itarc2009Architecture Enforcement Aspects Itarc2009
Architecture Enforcement Aspects Itarc2009
 
Keeping code clean
Keeping code cleanKeeping code clean
Keeping code clean
 
Rup
RupRup
Rup
 
The when & why of evolution of performance testing to performance engineering...
The when & why of evolution of performance testing to performance engineering...The when & why of evolution of performance testing to performance engineering...
The when & why of evolution of performance testing to performance engineering...
 
Retrofitting a legacy SPA to use a functional architecture
Retrofitting a legacy SPA to use a functional architectureRetrofitting a legacy SPA to use a functional architecture
Retrofitting a legacy SPA to use a functional architecture
 
Building Sustainable Software: An Introduction to Software Engineering
Building Sustainable Software: An Introduction to Software EngineeringBuilding Sustainable Software: An Introduction to Software Engineering
Building Sustainable Software: An Introduction to Software Engineering
 
OutSystems Tips and Tricks
OutSystems Tips and TricksOutSystems Tips and Tricks
OutSystems Tips and Tricks
 
Dealing With Legacy: The Real-World Experience
Dealing With Legacy: The Real-World ExperienceDealing With Legacy: The Real-World Experience
Dealing With Legacy: The Real-World Experience
 
Amit_Resume
Amit_ResumeAmit_Resume
Amit_Resume
 
Se introduction lec 1
Se  introduction lec 1Se  introduction lec 1
Se introduction lec 1
 
Software/System Development Life Cycle
Software/System Development Life CycleSoftware/System Development Life Cycle
Software/System Development Life Cycle
 
A presentation on forward engineering
A presentation on forward engineeringA presentation on forward engineering
A presentation on forward engineering
 
Effects, Coeffects & Subscriptions: a pit of success for SPAs
Effects, Coeffects & Subscriptions: a pit of success for SPAsEffects, Coeffects & Subscriptions: a pit of success for SPAs
Effects, Coeffects & Subscriptions: a pit of success for SPAs
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
Process model rup
Process model rupProcess model rup
Process model rup
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Best Angular JS training in Hyderabad, India
Best Angular JS training in Hyderabad, IndiaBest Angular JS training in Hyderabad, India
Best Angular JS training in Hyderabad, India
 
Introduction to computer programming.pdf
Introduction to computer programming.pdfIntroduction to computer programming.pdf
Introduction to computer programming.pdf
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design
 

Recently uploaded

UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesPrabhanshu Chaturvedi
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 

Recently uploaded (20)

UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 

reverse.ppt.pptx