SlideShare a Scribd company logo
1 of 15
Software Reverse Engineering
Presented by: Parminder Singh
Roll no: 1607116
Contents
 What is Software Reverse Engineering?
 Why do we need it?
 Where it is used?
 RE tools
 Scope and Tasks
 Limitations
 Conclusion
Reverse Engineering
Reverse engineering also called back engineering,
is the processes of extracting knowledge or design
information from anything man-made and re-
producing it based on the extracted information.
Software Reverse Engineering
It is the process of analyzing a software system to
extract design and implementation information
and create representations of the system in another
form or at a higher level of abstraction.
Engineering a
Software
Reverse
Engineering
Concept Software
Software Concept
Requirements
Analysis
Design
Implementation
Forward
Engineering
Reverse
Engineering
Software Engineering
Why we need it?
 Recovery of lost information
 Providing proper system documentation
 Assisting with maintenance
 Facility of software reuse
 Synthesize higher abstraction
 Discovering unexpected flaws and faults
Where it is used?
 In software design, reverse engineering enables
the developer or programmer to add new
features to the existing software with or without
knowing the source code.
 Reverse engineering is also very beneficial in
software testing, it helps the testers to study the
virus and other malware code.
 The third category where reverse engineering is
widely used is in software security.(Malicious
Software, Cryptographic algorithms)
Reverse Engineering Tools
 System Monitoring Tools
• Network activity, file access and register
access
 Disassemblers
• Translate binary code to assembly code
 Debuggers
• It used in disassembling mode to set break
points and step through program execution
Continue…
 Decompilers
• Attempt to produce high level code (e.g, c)
from an executable binary code.
 Hex Editors
• Read executing program from RAM
• Enable the editing of running hexadecimal
code
The Reversing Process
 System Level Process
• Techniques that help to determine the internal
structure.
• Most of the information comes from O/S ,hence
O/S monitoring utilities.
 Code Level Process
• Techniques provides detailed information from
selected code segment
• Involves extracting design concepts and
algorithms from the binary code
Scope and Task of SRE
 Redocumentation and/or documentation
generation
 Recovery of design approach and design details
at any level of abstraction.
 Identify reusable components
 Understanding high level system design
Limitations
 Illegal and frowned upon
 Limited understanding of design, research time
and cost
 Bugs may be introduced during the process
 Lack of information may cause failure
Conclusion
• Software Reverse Engineering is a new research
area among software maintenance
• It 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
 Reverse Engineering and Design Recovery: A
Taxonomy by Elliot J. Chikofsky and James H.
Cross II
 The Problem of Reverse Engineering by Robert W.
Gomulkiewicz and Mary L. Williamson
 Answers, Limitation of Reverse Engineering
 Wikipedia, Reverse Engineering
 Informit, Reverse Engineering Principles
Thank you.. and any..

More Related Content

What's hot

Reverse engineering
Reverse  engineeringReverse  engineering
Reverse engineering
Yuffie Valen
 

What's hot (20)

Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factors
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineering
 
Model Based Software Architectures
Model Based Software ArchitecturesModel Based Software Architectures
Model Based Software Architectures
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Reverse engineering in software engineering vaibhav
Reverse engineering in software engineering vaibhavReverse engineering in software engineering vaibhav
Reverse engineering in software engineering vaibhav
 
Asp.net file types
Asp.net file typesAsp.net file types
Asp.net file types
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Software myths | Software Engineering Notes
Software myths | Software Engineering NotesSoftware myths | Software Engineering Notes
Software myths | Software Engineering Notes
 
Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metrics
 
source code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquessource code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniques
 
unit testing and debugging
unit testing and debuggingunit testing and debugging
unit testing and debugging
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
Reverse engineering
Reverse  engineeringReverse  engineering
Reverse engineering
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
 

Viewers also liked

Reverse Engineering of Software Architecture
Reverse Engineering of Software ArchitectureReverse Engineering of Software Architecture
Reverse Engineering of Software Architecture
Dharmalingam Ganesan
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineering
Saswat Padhi
 
Reverse Engineering
Reverse EngineeringReverse Engineering
Reverse Engineering
siddu019
 
Service Operation Processes
Service Operation ProcessesService Operation Processes
Service Operation Processes
nuwulang
 

Viewers also liked (20)

Measuring capacity lesson3
Measuring capacity lesson3Measuring capacity lesson3
Measuring capacity lesson3
 
Line balancing
Line balancing Line balancing
Line balancing
 
Measurement System Analysis
Measurement System AnalysisMeasurement System Analysis
Measurement System Analysis
 
Unit 1 Service Operations Management
Unit 1 Service Operations ManagementUnit 1 Service Operations Management
Unit 1 Service Operations Management
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineering
 
Maintenance, Re-engineering &Reverse Engineering in Software Engineering
Maintenance,Re-engineering &Reverse Engineering in Software EngineeringMaintenance,Re-engineering &Reverse Engineering in Software Engineering
Maintenance, Re-engineering &Reverse Engineering in Software Engineering
 
Tools for capacity planning, measurement of capacity, capacity planning process
Tools for capacity planning, measurement of capacity, capacity planning processTools for capacity planning, measurement of capacity, capacity planning process
Tools for capacity planning, measurement of capacity, capacity planning process
 
Reverse Engineering of Software Architecture
Reverse Engineering of Software ArchitectureReverse Engineering of Software Architecture
Reverse Engineering of Software Architecture
 
Legacy Software Maintenance And Management
Legacy Software Maintenance And ManagementLegacy Software Maintenance And Management
Legacy Software Maintenance And Management
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineering
 
Reverse Engineering
Reverse EngineeringReverse Engineering
Reverse Engineering
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineering
 
Capacity 1
Capacity 1Capacity 1
Capacity 1
 
reverse engineering
reverse engineeringreverse engineering
reverse engineering
 
Service Operation - Manajemen Layanan Teknologi Informasi
Service Operation - Manajemen Layanan Teknologi InformasiService Operation - Manajemen Layanan Teknologi Informasi
Service Operation - Manajemen Layanan Teknologi Informasi
 
intra and inter personal relations
intra and inter personal relationsintra and inter personal relations
intra and inter personal relations
 
Service Operation Processes
Service Operation ProcessesService Operation Processes
Service Operation Processes
 
Capacity Management
Capacity ManagementCapacity Management
Capacity Management
 
Facility layout
Facility layoutFacility layout
Facility layout
 
Capacity Planning with Free Tools
Capacity Planning with Free ToolsCapacity Planning with Free Tools
Capacity Planning with Free Tools
 

Similar to Software reverse engineering

want to contact me login to www.stqa.org
want to contact me login to www.stqa.orgwant to contact me login to www.stqa.org
want to contact me login to www.stqa.org
nazeer pasha
 
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_SurveyPaper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
Zainab Nayyar
 
3Audit Software & Tools.pptx
3Audit Software & Tools.pptx3Audit Software & Tools.pptx
3Audit Software & Tools.pptx
jack952975
 
e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
Vladimir Kotov
 
Reverse EngineeringReverse engineering is also a back engineering .pdf
Reverse EngineeringReverse engineering is also a back engineering .pdfReverse EngineeringReverse engineering is also a back engineering .pdf
Reverse EngineeringReverse engineering is also a back engineering .pdf
anokhijew
 

Similar to Software reverse engineering (20)

5 chap - MAINTENANCE
5 chap - MAINTENANCE5 chap - MAINTENANCE
5 chap - MAINTENANCE
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
A035401010
A035401010A035401010
A035401010
 
want to contact me login to www.stqa.org
want to contact me login to www.stqa.orgwant to contact me login to www.stqa.org
want to contact me login to www.stqa.org
 
Lecture9
Lecture9Lecture9
Lecture9
 
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_SurveyPaper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
 
Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered Architecture
 
Programming Fundamentals lecture 3
Programming Fundamentals lecture 3Programming Fundamentals lecture 3
Programming Fundamentals lecture 3
 
3Audit Software & Tools.pptx
3Audit Software & Tools.pptx3Audit Software & Tools.pptx
3Audit Software & Tools.pptx
 
SE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxSE chp1 update and learning management .pptx
SE chp1 update and learning management .pptx
 
Computers in management
Computers in managementComputers in management
Computers in management
 
e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
 
Object oriented analysis and design unit- v
Object oriented analysis and design unit- vObject oriented analysis and design unit- v
Object oriented analysis and design unit- v
 
Sdlc
SdlcSdlc
Sdlc
 
G213538
G213538G213538
G213538
 
Looking Forwards to Going Backwards
Looking Forwards to Going BackwardsLooking Forwards to Going Backwards
Looking Forwards to Going Backwards
 
Reverse EngineeringReverse engineering is also a back engineering .pdf
Reverse EngineeringReverse engineering is also a back engineering .pdfReverse EngineeringReverse engineering is also a back engineering .pdf
Reverse EngineeringReverse engineering is also a back engineering .pdf
 
Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019
 
Software cracking and patching
Software cracking and patchingSoftware cracking and patching
Software cracking and patching
 
Reverse Engineering
Reverse EngineeringReverse Engineering
Reverse Engineering
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Digital Dentistry.Digital Dentistryvv.pptx
Digital Dentistry.Digital Dentistryvv.pptxDigital Dentistry.Digital Dentistryvv.pptx
Digital Dentistry.Digital Dentistryvv.pptx
MohamedFarag457087
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
PirithiRaju
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Sérgio Sacani
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
Areesha Ahmad
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
PirithiRaju
 

Recently uploaded (20)

GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
chemical bonding Essentials of Physical Chemistry2.pdf
chemical bonding Essentials of Physical Chemistry2.pdfchemical bonding Essentials of Physical Chemistry2.pdf
chemical bonding Essentials of Physical Chemistry2.pdf
 
Clean In Place(CIP).pptx .
Clean In Place(CIP).pptx                 .Clean In Place(CIP).pptx                 .
Clean In Place(CIP).pptx .
 
Digital Dentistry.Digital Dentistryvv.pptx
Digital Dentistry.Digital Dentistryvv.pptxDigital Dentistry.Digital Dentistryvv.pptx
Digital Dentistry.Digital Dentistryvv.pptx
 
COST ESTIMATION FOR A RESEARCH PROJECT.pptx
COST ESTIMATION FOR A RESEARCH PROJECT.pptxCOST ESTIMATION FOR A RESEARCH PROJECT.pptx
COST ESTIMATION FOR A RESEARCH PROJECT.pptx
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
Justdial Call Girls In Indirapuram, Ghaziabad, 8800357707 Escorts Service
Justdial Call Girls In Indirapuram, Ghaziabad, 8800357707 Escorts ServiceJustdial Call Girls In Indirapuram, Ghaziabad, 8800357707 Escorts Service
Justdial Call Girls In Indirapuram, Ghaziabad, 8800357707 Escorts Service
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
 
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICESAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 
Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.
 
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
 
Thyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate ProfessorThyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate Professor
 
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
 
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdf
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
 
GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)
 

Software reverse engineering

  • 1. Software Reverse Engineering Presented by: Parminder Singh Roll no: 1607116
  • 2. Contents  What is Software Reverse Engineering?  Why do we need it?  Where it is used?  RE tools  Scope and Tasks  Limitations  Conclusion
  • 3. Reverse Engineering Reverse engineering also called back engineering, is the processes of extracting knowledge or design information from anything man-made and re- producing it based on the extracted information.
  • 4. Software Reverse Engineering It is the process of analyzing a software system to extract design and implementation information and create representations of the system in another form or at a higher level of abstraction. Engineering a Software Reverse Engineering Concept Software Software Concept
  • 6. Why we need it?  Recovery of lost information  Providing proper system documentation  Assisting with maintenance  Facility of software reuse  Synthesize higher abstraction  Discovering unexpected flaws and faults
  • 7. Where it is used?  In software design, reverse engineering enables the developer or programmer to add new features to the existing software with or without knowing the source code.  Reverse engineering is also very beneficial in software testing, it helps the testers to study the virus and other malware code.  The third category where reverse engineering is widely used is in software security.(Malicious Software, Cryptographic algorithms)
  • 8. Reverse Engineering Tools  System Monitoring Tools • Network activity, file access and register access  Disassemblers • Translate binary code to assembly code  Debuggers • It used in disassembling mode to set break points and step through program execution
  • 9. Continue…  Decompilers • Attempt to produce high level code (e.g, c) from an executable binary code.  Hex Editors • Read executing program from RAM • Enable the editing of running hexadecimal code
  • 10. The Reversing Process  System Level Process • Techniques that help to determine the internal structure. • Most of the information comes from O/S ,hence O/S monitoring utilities.  Code Level Process • Techniques provides detailed information from selected code segment • Involves extracting design concepts and algorithms from the binary code
  • 11. Scope and Task of SRE  Redocumentation and/or documentation generation  Recovery of design approach and design details at any level of abstraction.  Identify reusable components  Understanding high level system design
  • 12. Limitations  Illegal and frowned upon  Limited understanding of design, research time and cost  Bugs may be introduced during the process  Lack of information may cause failure
  • 13. Conclusion • Software Reverse Engineering is a new research area among software maintenance • It 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
  • 14. References  Reverse Engineering and Design Recovery: A Taxonomy by Elliot J. Chikofsky and James H. Cross II  The Problem of Reverse Engineering by Robert W. Gomulkiewicz and Mary L. Williamson  Answers, Limitation of Reverse Engineering  Wikipedia, Reverse Engineering  Informit, Reverse Engineering Principles