SlideShare ist ein Scribd-Unternehmen logo
1 von 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 ?

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptNarmatha D
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgsaravananr517913
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Steel Structures - Building technology.pptx
Steel Structures - Building technology.pptxSteel Structures - Building technology.pptx
Steel Structures - Building technology.pptxNikhil Raut
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfRajuKanojiya4
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptJasonTagapanGulla
 

Kürzlich hochgeladen (20)

welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.ppt
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Steel Structures - Building technology.pptx
Steel Structures - Building technology.pptxSteel Structures - Building technology.pptx
Steel Structures - Building technology.pptx
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdf
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.ppt
 

reverse.ppt.pptx