Duration
1 day
Overview
Reverse Engineering is a technique used to analyse software to identify and understand the parts it is composed of. It is a process of duplicating an existing subassembly, product, and component without the help of documentation, drawings, or computer model. Reverse Engineering analyse a system to create system representations in another form of abstraction.
Prerequisites
There are no prerequisites to attend this course. However, basic understanding of Windows OS and computer architecture concepts would be beneficial.
Audience
Anyone interested in learning about reverse engineering and its various concepts can attend this course. This course is well-suited for information security analysts.
Outline
Introduction to Reverse Engineering
- Define Reverse Engineering
- Reversing Applications
- Low-Level Software
- Reversing Process
- System Monitoring Tools
Low-Level Software
- High-Level Perspectives
- Low-Level Perspectives
- Assemble Language 101
Windows Fundamentals
- Components and Basic Architecture
- Memory Management
- Objects and Handles
- Processes and Threads
- Application Programming Interfaces
- Executable Formats
- Input and Output
Exploring Reversing Tools
- Reversing Approaches
- Disassemblers, Debuggers, and Decompilers
- System Monitoring and Patching Tools
Deciphering File Formats
- Reversing and Interoperability
- Using and Reversing Cryptex
- Password Verification Process
- Directory Layout
- File Extraction Process
Auditing Program Binaries and Reversing Malware
- Defining the Problem and Vulnerabilities
- Malware Types
- Future Malware
- Malware Uses and Vulnerability
- Polymorphism and Metamorphism
Piracy and Copy Protection
- Software Piracy
- Protection Types
- Digital Rights Management
- Watermarking
Antireversing Techniques
- Antireversing Approaches
- Active Antidebugger Techniques
- Confusing Disassemblers
- Control Flow Transformations
- Data Transformations
Breaking Protections
- Patching and Keygenning
- Advanced Cracking – Defender
- Defender Protection Technologies
Introduction to Reversing .NET
- Basics of .NET
- Intermediate Language (IL)
- Decompilers and Obfuscators
- Reversing Obfuscated Code
Overview of Decompilation
- Decompiler Architecture
- Intermediate Representation
- Front End and Code Analysis
Programme scope, delivery arrangements and suitability are confirmed during enquiry.