Software reverse engineering

P
Parminder SinghStudent at Punjabi University
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..
1 de 15

Recomendados

Software Re-engineering Forward & Reverse Engineering por
Software Re-engineering Forward & Reverse EngineeringSoftware Re-engineering Forward & Reverse Engineering
Software Re-engineering Forward & Reverse EngineeringAli Raza
821 visualizações21 slides
Reverse engineering in software engineering vaibhav por
Reverse engineering in software engineering vaibhavReverse engineering in software engineering vaibhav
Reverse engineering in software engineering vaibhavMani Kanth
797 visualizações7 slides
V model presentation por
V model presentationV model presentation
V model presentationNiat Murad
16.5K visualizações15 slides
Software Cost Estimation Techniques por
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation TechniquesSanthi thi
13.1K visualizações12 slides
Design engineering por
Design engineeringDesign engineering
Design engineeringVikram Dahiya
11.6K visualizações64 slides
PAC Learning por
PAC LearningPAC Learning
PAC LearningSanghyuk Chun
19.9K visualizações24 slides

Mais conteúdo relacionado

Mais procurados

Staffing level estimation por
Staffing level estimation Staffing level estimation
Staffing level estimation kavitha muneeshwaran
22.3K visualizações13 slides
Evolutionary models por
Evolutionary modelsEvolutionary models
Evolutionary modelsPihu Goel
10K visualizações16 slides
Introduction to Software Engineering por
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
38.1K visualizações42 slides
Software myths | Software Engineering Notes por
Software myths | Software Engineering NotesSoftware myths | Software Engineering Notes
Software myths | Software Engineering NotesNavjyotsinh Jadeja
2.4K visualizações8 slides
Introduction to python for Beginners por
Introduction to python for Beginners Introduction to python for Beginners
Introduction to python for Beginners Sujith Kumar
129.4K visualizações19 slides
Software Coding- Software Coding por
Software Coding- Software CodingSoftware Coding- Software Coding
Software Coding- Software CodingNikhil Pandit
2.9K visualizações15 slides

Mais procurados(20)

Staffing level estimation por kavitha muneeshwaran
Staffing level estimation Staffing level estimation
Staffing level estimation
kavitha muneeshwaran22.3K visualizações
Evolutionary models por Pihu Goel
Evolutionary modelsEvolutionary models
Evolutionary models
Pihu Goel10K visualizações
Introduction to Software Engineering por Saqib Raza
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Saqib Raza38.1K visualizações
Software myths | Software Engineering Notes por Navjyotsinh Jadeja
Software myths | Software Engineering NotesSoftware myths | Software Engineering Notes
Software myths | Software Engineering Notes
Navjyotsinh Jadeja2.4K visualizações
Introduction to python for Beginners por Sujith Kumar
Introduction to python for Beginners Introduction to python for Beginners
Introduction to python for Beginners
Sujith Kumar129.4K visualizações
Software Coding- Software Coding por Nikhil Pandit
Software Coding- Software CodingSoftware Coding- Software Coding
Software Coding- Software Coding
Nikhil Pandit2.9K visualizações
System engineering por Lisa Elisa
System engineeringSystem engineering
System engineering
Lisa Elisa16K visualizações
Quality and productivity factors por NancyBeaulah_R
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
NancyBeaulah_R44.4K visualizações
Cocomo model por Baskarkncet
Cocomo modelCocomo model
Cocomo model
Baskarkncet22.1K visualizações
Introduction to data structures and Algorithm por Dhaval Kaneria
Introduction to data structures and AlgorithmIntroduction to data structures and Algorithm
Introduction to data structures and Algorithm
Dhaval Kaneria45.6K visualizações
unit testing and debugging por KarthigaGunasekaran1
unit testing and debuggingunit testing and debugging
unit testing and debugging
KarthigaGunasekaran15.3K visualizações
Reverse engineering por Yuffie Valen
Reverse  engineeringReverse  engineering
Reverse engineering
Yuffie Valen7.7K visualizações
Phased life cycle model por Stephennancy
Phased life cycle modelPhased life cycle model
Phased life cycle model
Stephennancy20K visualizações
Software development process models por Muhammed Afsal Villan
Software development process modelsSoftware development process models
Software development process models
Muhammed Afsal Villan6.9K visualizações
Software maintenance Unit5 por Mohammad Faizan
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
Mohammad Faizan9.9K visualizações
Software Engineering Layered Technology Software Process Framework por JAINAM KAPADIYA
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
JAINAM KAPADIYA7.1K visualizações
Software requirements por Dr. Loganathan R
Software requirementsSoftware requirements
Software requirements
Dr. Loganathan R29.7K visualizações
Chapter 2 software process models por Golda Margret Sheeba J
Chapter 2   software process modelsChapter 2   software process models
Chapter 2 software process models
Golda Margret Sheeba J2.6K visualizações
Decomposition technique In Software Engineering por Bilal Hassan
Decomposition technique In Software Engineering Decomposition technique In Software Engineering
Decomposition technique In Software Engineering
Bilal Hassan18.1K visualizações

Destaque

Measuring capacity lesson3 por
Measuring capacity lesson3Measuring capacity lesson3
Measuring capacity lesson3Lidia Marie
4.6K visualizações15 slides
Line balancing por
Line balancing Line balancing
Line balancing Md. Mazadul Hasan Shishir
7.3K visualizações41 slides
Measurement System Analysis por
Measurement System AnalysisMeasurement System Analysis
Measurement System AnalysisRonald Shewchuk
4.8K visualizações80 slides
Unit 1 Service Operations Management por
Unit 1 Service Operations ManagementUnit 1 Service Operations Management
Unit 1 Service Operations ManagementGopinath Guru
8K visualizações10 slides
Reverse engineering por
Reverse engineeringReverse engineering
Reverse engineeringDaniel Stenberg
2.7K visualizações36 slides
Maintenance, Re-engineering &Reverse Engineering in Software Engineering por
Maintenance,Re-engineering &Reverse Engineering in Software EngineeringMaintenance,Re-engineering &Reverse Engineering in Software Engineering
Maintenance, Re-engineering &Reverse Engineering in Software EngineeringManish Kumar
1.7K visualizações9 slides

Destaque(20)

Measuring capacity lesson3 por Lidia Marie
Measuring capacity lesson3Measuring capacity lesson3
Measuring capacity lesson3
Lidia Marie4.6K visualizações
Measurement System Analysis por Ronald Shewchuk
Measurement System AnalysisMeasurement System Analysis
Measurement System Analysis
Ronald Shewchuk4.8K visualizações
Unit 1 Service Operations Management por Gopinath Guru
Unit 1 Service Operations ManagementUnit 1 Service Operations Management
Unit 1 Service Operations Management
Gopinath Guru8K visualizações
Reverse engineering por Daniel Stenberg
Reverse engineeringReverse engineering
Reverse engineering
Daniel Stenberg2.7K visualizações
Maintenance, Re-engineering &Reverse Engineering in Software Engineering por Manish Kumar
Maintenance,Re-engineering &Reverse Engineering in Software EngineeringMaintenance,Re-engineering &Reverse Engineering in Software Engineering
Maintenance, Re-engineering &Reverse Engineering in Software Engineering
Manish Kumar1.7K visualizações
Tools for capacity planning, measurement of capacity, capacity planning process por Rohan Monis
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
Rohan Monis11.1K visualizações
Reverse Engineering of Software Architecture por Dharmalingam Ganesan
Reverse Engineering of Software ArchitectureReverse Engineering of Software Architecture
Reverse Engineering of Software Architecture
Dharmalingam Ganesan4.9K visualizações
Legacy Software Maintenance And Management por ValueCoders
Legacy Software Maintenance And ManagementLegacy Software Maintenance And Management
Legacy Software Maintenance And Management
ValueCoders812 visualizações
Reverse engineering por Saswat Padhi
Reverse engineeringReverse engineering
Reverse engineering
Saswat Padhi6.2K visualizações
Reverse Engineering por siddu019
Reverse EngineeringReverse Engineering
Reverse Engineering
siddu0192.4K visualizações
Reverse engineering por Hicube Infosec
Reverse engineeringReverse engineering
Reverse engineering
Hicube Infosec3.9K visualizações
Capacity 1 por Marisa Bajada
Capacity 1Capacity 1
Capacity 1
Marisa Bajada11.3K visualizações
reverse engineering por ayush_nitt
reverse engineeringreverse engineering
reverse engineering
ayush_nitt772 visualizações
Service Operation - Manajemen Layanan Teknologi Informasi por Muhammad Idil Haq Amir
Service Operation - Manajemen Layanan Teknologi InformasiService Operation - Manajemen Layanan Teknologi Informasi
Service Operation - Manajemen Layanan Teknologi Informasi
Muhammad Idil Haq Amir8.3K visualizações
intra and inter personal relations por Ganesh Sahu
intra and inter personal relationsintra and inter personal relations
intra and inter personal relations
Ganesh Sahu58.2K visualizações
Service Operation Processes por nuwulang
Service Operation ProcessesService Operation Processes
Service Operation Processes
nuwulang19.8K visualizações
Capacity Management por Antonio Gonzalez
Capacity ManagementCapacity Management
Capacity Management
Antonio Gonzalez17.5K visualizações
Facility layout por Faiz Hamzah
Facility layoutFacility layout
Facility layout
Faiz Hamzah12.2K visualizações
Capacity Planning with Free Tools por Adrian Cockcroft
Capacity Planning with Free ToolsCapacity Planning with Free Tools
Capacity Planning with Free Tools
Adrian Cockcroft15.2K visualizações

Similar a Software reverse engineering

5 chap - MAINTENANCE por
5 chap - MAINTENANCE5 chap - MAINTENANCE
5 chap - MAINTENANCEsujitkumar Sujit.Karande
1.4K visualizações39 slides
International Journal of Engineering Research and Development por
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentIJERD Editor
217 visualizações3 slides
A035401010 por
A035401010A035401010
A035401010inventionjournals
214 visualizações10 slides
want to contact me login to www.stqa.org por
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.orgnazeer pasha
749 visualizações34 slides
Lecture9 por
Lecture9Lecture9
Lecture9tehakelew tefera
194 visualizações24 slides
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey por
Paper_19-Software_Architecture_Reconstruction_Method_a_SurveyPaper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_SurveyZainab Nayyar
165 visualizações7 slides

Similar a Software reverse engineering(20)

International Journal of Engineering Research and Development por IJERD Editor
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
IJERD Editor217 visualizações
want to contact me login to www.stqa.org por nazeer pasha
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 pasha749 visualizações
Lecture9 por tehakelew tefera
Lecture9Lecture9
Lecture9
tehakelew tefera194 visualizações
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey por Zainab Nayyar
Paper_19-Software_Architecture_Reconstruction_Method_a_SurveyPaper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
Zainab Nayyar165 visualizações
Software engineering : Layered Architecture por Muhammed Afsal Villan
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered Architecture
Muhammed Afsal Villan9.8K visualizações
Programming Fundamentals lecture 3 por REHAN IJAZ
Programming Fundamentals lecture 3Programming Fundamentals lecture 3
Programming Fundamentals lecture 3
REHAN IJAZ166 visualizações
3Audit Software & Tools.pptx por jack952975
3Audit Software & Tools.pptx3Audit Software & Tools.pptx
3Audit Software & Tools.pptx
jack95297512 visualizações
Computers in management por Kinshook Chaturvedi
Computers in managementComputers in management
Computers in management
Kinshook Chaturvedi6.7K visualizações
e-Business - SE trends por Vladimir Kotov
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
Vladimir Kotov955 visualizações
Sofware Engineering Important Past Paper 2019 por MuhammadTalha436
Sofware Engineering Important Past Paper 2019Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019
MuhammadTalha43674 visualizações
Software cracking and patching por Mayank Gavri
Software cracking and patchingSoftware cracking and patching
Software cracking and patching
Mayank Gavri178 visualizações
Reverse Engineering por Taniya Anand
Reverse EngineeringReverse Engineering
Reverse Engineering
Taniya Anand16 visualizações
LIFT: A Legacy InFormation retrieval Tool por Kellyton Brito
LIFT: A Legacy InFormation retrieval ToolLIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval Tool
Kellyton Brito1.6K visualizações
Software Engineering por Zahoorali Khan
Software EngineeringSoftware Engineering
Software Engineering
Zahoorali Khan5.2K visualizações

Último

Matthias Beller ChemAI 231116.pptx por
Matthias Beller ChemAI 231116.pptxMatthias Beller ChemAI 231116.pptx
Matthias Beller ChemAI 231116.pptxMarco Tibaldi
88 visualizações29 slides
Batrachospermum.pptx por
Batrachospermum.pptxBatrachospermum.pptx
Batrachospermum.pptxnisarahmad632316
31 visualizações37 slides
PRINCIPLES-OF ASSESSMENT por
PRINCIPLES-OF ASSESSMENTPRINCIPLES-OF ASSESSMENT
PRINCIPLES-OF ASSESSMENTrbalmagro
11 visualizações12 slides
Conventional and non-conventional methods for improvement of cucurbits.pptx por
Conventional and non-conventional methods for improvement of cucurbits.pptxConventional and non-conventional methods for improvement of cucurbits.pptx
Conventional and non-conventional methods for improvement of cucurbits.pptxgandhi976
16 visualizações35 slides
EVALUATION OF HEPATOPROTECTIVE ACTIVITY OF SALIX SUBSERRATA IN PARACETAMOL IN... por
EVALUATION OF HEPATOPROTECTIVE ACTIVITY OF SALIX SUBSERRATA IN PARACETAMOL IN...EVALUATION OF HEPATOPROTECTIVE ACTIVITY OF SALIX SUBSERRATA IN PARACETAMOL IN...
EVALUATION OF HEPATOPROTECTIVE ACTIVITY OF SALIX SUBSERRATA IN PARACETAMOL IN...gynomark
12 visualizações15 slides
CSF -SHEEBA.D presentation.pptx por
CSF -SHEEBA.D presentation.pptxCSF -SHEEBA.D presentation.pptx
CSF -SHEEBA.D presentation.pptxSheebaD7
10 visualizações13 slides

Último(20)

Matthias Beller ChemAI 231116.pptx por Marco Tibaldi
Matthias Beller ChemAI 231116.pptxMatthias Beller ChemAI 231116.pptx
Matthias Beller ChemAI 231116.pptx
Marco Tibaldi88 visualizações
Batrachospermum.pptx por nisarahmad632316
Batrachospermum.pptxBatrachospermum.pptx
Batrachospermum.pptx
nisarahmad63231631 visualizações
PRINCIPLES-OF ASSESSMENT por rbalmagro
PRINCIPLES-OF ASSESSMENTPRINCIPLES-OF ASSESSMENT
PRINCIPLES-OF ASSESSMENT
rbalmagro11 visualizações
Conventional and non-conventional methods for improvement of cucurbits.pptx por gandhi976
Conventional and non-conventional methods for improvement of cucurbits.pptxConventional and non-conventional methods for improvement of cucurbits.pptx
Conventional and non-conventional methods for improvement of cucurbits.pptx
gandhi97616 visualizações
EVALUATION OF HEPATOPROTECTIVE ACTIVITY OF SALIX SUBSERRATA IN PARACETAMOL IN... por gynomark
EVALUATION OF HEPATOPROTECTIVE ACTIVITY OF SALIX SUBSERRATA IN PARACETAMOL IN...EVALUATION OF HEPATOPROTECTIVE ACTIVITY OF SALIX SUBSERRATA IN PARACETAMOL IN...
EVALUATION OF HEPATOPROTECTIVE ACTIVITY OF SALIX SUBSERRATA IN PARACETAMOL IN...
gynomark12 visualizações
CSF -SHEEBA.D presentation.pptx por SheebaD7
CSF -SHEEBA.D presentation.pptxCSF -SHEEBA.D presentation.pptx
CSF -SHEEBA.D presentation.pptx
SheebaD710 visualizações
Ecology por Abhijith Raj.R
Ecology Ecology
Ecology
Abhijith Raj.R6 visualizações
Workshop Chemical Robotics ChemAI 231116.pptx por Marco Tibaldi
Workshop Chemical Robotics ChemAI 231116.pptxWorkshop Chemical Robotics ChemAI 231116.pptx
Workshop Chemical Robotics ChemAI 231116.pptx
Marco Tibaldi95 visualizações
Physical Characterization of Moon Impactor WE0913A por Sérgio Sacani
Physical Characterization of Moon Impactor WE0913APhysical Characterization of Moon Impactor WE0913A
Physical Characterization of Moon Impactor WE0913A
Sérgio Sacani42 visualizações
Pollination By Nagapradheesh.M.pptx por MNAGAPRADHEESH
Pollination By Nagapradheesh.M.pptxPollination By Nagapradheesh.M.pptx
Pollination By Nagapradheesh.M.pptx
MNAGAPRADHEESH15 visualizações
DATABASE MANAGEMENT SYSTEM por Dr. GOPINATH D
DATABASE MANAGEMENT SYSTEMDATABASE MANAGEMENT SYSTEM
DATABASE MANAGEMENT SYSTEM
Dr. GOPINATH D5 visualizações
Connecting communities to promote FAIR resources: perspectives from an RDA / ... por Allyson Lister
Connecting communities to promote FAIR resources: perspectives from an RDA / ...Connecting communities to promote FAIR resources: perspectives from an RDA / ...
Connecting communities to promote FAIR resources: perspectives from an RDA / ...
Allyson Lister33 visualizações
MSC III_Advance Forensic Serology_Final.pptx por Suchita Rawat
MSC III_Advance Forensic Serology_Final.pptxMSC III_Advance Forensic Serology_Final.pptx
MSC III_Advance Forensic Serology_Final.pptx
Suchita Rawat10 visualizações
Class 2 (12 july).pdf por climber9977
  Class 2 (12 july).pdf  Class 2 (12 july).pdf
Class 2 (12 july).pdf
climber99779 visualizações
Company Fashion Show ChemAI 231116.pptx por Marco Tibaldi
Company Fashion Show ChemAI 231116.pptxCompany Fashion Show ChemAI 231116.pptx
Company Fashion Show ChemAI 231116.pptx
Marco Tibaldi74 visualizações
ENTOMOLOGY PPT ON BOMBYCIDAE AND SATURNIIDAE.pptx por MN
ENTOMOLOGY PPT ON BOMBYCIDAE AND SATURNIIDAE.pptxENTOMOLOGY PPT ON BOMBYCIDAE AND SATURNIIDAE.pptx
ENTOMOLOGY PPT ON BOMBYCIDAE AND SATURNIIDAE.pptx
MN6 visualizações
SANJAY HPLC.pptx por sanjayudps2016
SANJAY HPLC.pptxSANJAY HPLC.pptx
SANJAY HPLC.pptx
sanjayudps2016142 visualizações

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