SlideShare a Scribd company logo
Reverse Engineering
The Crash Course
Hi!
I am Satria Ady Pradana
Community Leader
of
Reversing.ID
xathrya
@xathrya
Reversing.ID
Revealing the Truth through Breaking Things
https://xathrya.id
Disclaimer
 This presentation is intended for educational purposes only.
 Reverse engineering of copyrighted material is illegal an might
cause you a direct or indirect consequence. We have no
responsibility of anything you do after learning this.
“What do you think of
Reverse Engineering?
Explaining Reversing
 Originally used in the context of mechanical engineering
 Breaks down an existing object or system to its construction
and then rebuild it based on new demand.
 Extracting knowledge or design information from anything man-
made and reproducing it or reproduce anything based on the
extracted information.
Reversing = Solving Puzzles
Reverse Engineering: The Crash Course
Motivation
 Interfacing
 Improve documentation shortcomings
 Bug Fixing
 Creation of unlicensed duplicates
 Repurposing
 Finding security bugs
 For fun!
Common Practice
Some popular and commonly used practice or operation
 Resource Modification (Modding)
 Control Flow Bypass
 Code Caving
Resource Modification (Modding)
 Modify the resource of application
 Icon
 Menu
 Layout
 Sprite
Control Flow Bypass
 Alter program flow
 Force program to takes (or leaves) intended action.
 Jump over the protection mechanism
Code Caving
 Writing code to specific region of application (or process’
memory)
 Fast and easy
 No need for source
 In conjunction of Function Trampoline.
Basic Knowledge
The Language
 Depend on the target of reversing.
 Each programming languages might have unique trait or
characteristic.
 Channel in Go
 Two classes of programming language: native, interpreted.
 Assembly
 Primitive of Processors operations
 Complex operation is decomposed to various instructions
 Constrained by processors’ architecture
The Executable Format
 Application has a format.
 Identify by magic number.
 Structured and has some sections for data, code, resource, etc.
 Function might be provided by foreign module (ex: DLL), list of
imported function is maintained.
Reverse Engineering: The Crash Course
Reverse Engineering: The Crash Course
Design Pattern
 Software is divided into conceptual module and working
together.
 Repeatable solution to a commonly occurring problem in a
software design.
Common Code Base
 Library
 Framework
Common Tools
Breaking the system to fine-grain components
 Hex Editor
 Disassembler
 Debugger
 Resource Editor
Hex Editor
 Display the content of file as collection of hex formatted-data and modify
part of them.
 Find pattern and occurrence.
Reverse Engineering: The Crash Course
Disassembler
 Transform stream of hex bytes to its assembly representation.
 Resolve data and resource, referred by the code.
Reverse Engineering: The Crash Course
Debugger
 Test or debug other (target) program
 Examine program condition at runtime.
 Modify code or data section.
 Modify CPU state
 Alter control flow
Reverse Engineering: The Crash Course
Common Process in Reversing
Some popular activity and flow
 Identify
 Disassembly
 Decompile if possible
 Debug
 Patch
End of Game.

More Related Content

PPTX
Firmware Reverse Engineering
PPTX
Introduction to Software Reverse Engineering
PPTX
Reverse code engineering
PDF
Reversing and Patching Machine Code
PDF
Software Reverse Engineering in a Security Context
PPTX
Software Reverse Engineering in a Security Context (ncrisc 2018)
PDF
Backend engineer journey
Firmware Reverse Engineering
Introduction to Software Reverse Engineering
Reverse code engineering
Reversing and Patching Machine Code
Software Reverse Engineering in a Security Context
Software Reverse Engineering in a Security Context (ncrisc 2018)
Backend engineer journey

Similar to Reverse Engineering: The Crash Course (20)

PPTX
Reverse Engineering - Protecting and Breaking the Software
PPTX
Reverse Engineering: Protecting and Breaking the Software
PPTX
(Workshop) Reverse Engineering - Protecting and Breaking the Software
PPTX
Reverse Engineering: Protecting and Breaking the Software (Workshop)
PPTX
Reengineering including reverse & forward Engineering
PPTX
Building Large Scale PHP Web Applications with Laravel 4
PPT
Software Reengineering
DOCX
Mit104 software engineering
PPT
software engineering software development life cycle
PPTX
My Saminar On Php
PPTX
06 fse design
PPT
1. Introduction
PPT
reverse(1)
PDF
Hibernate training at HarshithaTechnologySolutions @ Nizampet
PDF
10 Ways To Improve Your Code
DOCX
DOCX
PPTX
IDAPRO
PDF
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
PDF
10 Ways To Improve Your Code( Neal Ford)
Reverse Engineering - Protecting and Breaking the Software
Reverse Engineering: Protecting and Breaking the Software
(Workshop) Reverse Engineering - Protecting and Breaking the Software
Reverse Engineering: Protecting and Breaking the Software (Workshop)
Reengineering including reverse & forward Engineering
Building Large Scale PHP Web Applications with Laravel 4
Software Reengineering
Mit104 software engineering
software engineering software development life cycle
My Saminar On Php
06 fse design
1. Introduction
reverse(1)
Hibernate training at HarshithaTechnologySolutions @ Nizampet
10 Ways To Improve Your Code
IDAPRO
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
10 Ways To Improve Your Code( Neal Ford)
Ad

More from Satria Ady Pradana (20)

PPTX
Malware for Red Team
PPTX
Down The Rabbit Hole, From Networker to Security Professional
PPTX
MITM: Tales of Trust and Betrayal
PPTX
Berkarir di Cyber Security
PPTX
IOT Security FUN-damental
PPTX
Python-Assisted Red-Teaming Operation
PPTX
IoT Security - Preparing for the Worst
PDF
Silabus Training Reverse Engineering
PPTX
Practical Security - Modern Day Software
PPTX
The Offensive Python: Practical Python for Penetration Testing
PPTX
From Reversing to Exploitation: Android Application Security in Essence
PPTX
Android Security: Art of Exploitation
PPTX
Bypass Security Checking with Frida
PPTX
Malware: To The Realm of Malicious Code (Training)
PPTX
Memory Forensic: Investigating Memory Artefact (Workshop)
PPTX
Memory Forensic: Investigating Memory Artefact
PPTX
Another Side of Hacking
PPTX
Automatic Malware Analysis & Repository
PPTX
Web Security Jumpstart
PPTX
DracOs Forensic Flavor - Workshop
Malware for Red Team
Down The Rabbit Hole, From Networker to Security Professional
MITM: Tales of Trust and Betrayal
Berkarir di Cyber Security
IOT Security FUN-damental
Python-Assisted Red-Teaming Operation
IoT Security - Preparing for the Worst
Silabus Training Reverse Engineering
Practical Security - Modern Day Software
The Offensive Python: Practical Python for Penetration Testing
From Reversing to Exploitation: Android Application Security in Essence
Android Security: Art of Exploitation
Bypass Security Checking with Frida
Malware: To The Realm of Malicious Code (Training)
Memory Forensic: Investigating Memory Artefact (Workshop)
Memory Forensic: Investigating Memory Artefact
Another Side of Hacking
Automatic Malware Analysis & Repository
Web Security Jumpstart
DracOs Forensic Flavor - Workshop
Ad

Recently uploaded (20)

PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Cloud computing and distributed systems.
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Approach and Philosophy of On baking technology
PDF
Empathic Computing: Creating Shared Understanding
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Machine learning based COVID-19 study performance prediction
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
cuic standard and advanced reporting.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Spectral efficient network and resource selection model in 5G networks
Agricultural_Statistics_at_a_Glance_2022_0.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Cloud computing and distributed systems.
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Programs and apps: productivity, graphics, security and other tools
Approach and Philosophy of On baking technology
Empathic Computing: Creating Shared Understanding
sap open course for s4hana steps from ECC to s4
Machine learning based COVID-19 study performance prediction
Unlocking AI with Model Context Protocol (MCP)
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
cuic standard and advanced reporting.pdf

Reverse Engineering: The Crash Course