Reverse Engineering
Protecting and Breaking the Software
Satria Ady Pradana
https://xathrya.id
Reversing.ID
Revealing the Truth through Breaking Things
# Whoami?
 Cyber Security Consultant at Mitra Integrasi Informatika (MII)
 Researcher at dracOs Dev Team
 Coordinator of Reversing.ID
 Member of Indonesia Honeynet Project
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.
Today’s Adventure
 Fundamental of Reverse Engineering
 Basic Principle
 Tools
 Common Practice
 Common Protection
Revealing the Reversing
What, Why, and How?
The Term
 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-
mad and reproducing it or reproduce anything based on the
extracted information.
What it Means?
 Take things apart to figure out how it works
 Solving puzzle
 Constantly learn new things
 Thinking out of the box
Motivation
 Interfacing
 Improve documentation shortcomings
 Bug Fixing
 Creation of unlicensed duplicates
 Repurposing
 Finding security bugs
 For fun!
The Yin Yang
 Reverse engineer and developer compete each other.
 Developer want to protect their intellectual property
 Reverse engineer want to break the protection.
 Who will win?
Too Broad
 Software
 Hardware
 Radio Frequency
 Protocol
Limit ourselves to reverse engineering for code and data.
Success Story
Success Story
BIOS
Fundamental Principle
 Comprehension
 Gain knowledge of basic principle or mechanics of object, the
behavior, and knowledge that might related to subject.
 Decomposition
 Breaking down the system into its structure and gain insight about
inherent structure and properties of the component that make the
system.
 Reconstruction
 Reform or reconstruct the components based on need.
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: Protecting and Breaking the Software
Reverse Engineering: Protecting and Breaking the Software
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: Protecting and Breaking the Software
Disassembler
 Transform stream of hex bytes to its assembly representation.
 Resolve data and resource, referred by the code.
Reverse Engineering: Protecting and Breaking the Software
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: Protecting and Breaking the Software
Comprehension
Gaining the knowledge related to the target
Approach of Learning the Subject
 Background checking
 What programming language
 What packer used
 What library might be used
 Static Analysis
 Dynamic Analysis
Decomposition
Breaking the structure of system to its fine-grained components
 Get the global view of program flows
 Graph
 Grouping
Reconstruction
Creating the system based on the extracted knowledge
 anything
Common Protection
 Obfuscation
 Self debug
 Section Corruption
 Packer
 Encryption
 Virtual Machine
Advance Stuffs
 Dynamic Binary Instrumentation
 Symbolic Execution
References
 http://www.openrce.org/articles/
 http://vxheaven.org/
 https://www.reddit.com/r/reverseengineering

More Related Content

PPTX
Reverse Engineering: Protecting and Breaking the Software (Workshop)
PPTX
Reverse Engineering - Protecting and Breaking the Software
PPTX
(Workshop) Reverse Engineering - Protecting and Breaking the Software
PPTX
From Reversing to Exploitation
PPTX
Bypass Security Checking with Frida
PPTX
(Training) Malware - To the Realm of Malicious Code
PPTX
Student Spring 2021
PPTX
Firmware Reverse Engineering
Reverse Engineering: Protecting and Breaking the Software (Workshop)
Reverse Engineering - Protecting and Breaking the Software
(Workshop) Reverse Engineering - Protecting and Breaking the Software
From Reversing to Exploitation
Bypass Security Checking with Frida
(Training) Malware - To the Realm of Malicious Code
Student Spring 2021
Firmware Reverse Engineering

What's hot (19)

PDF
Real World Application Threat Modelling By Example
PDF
Finacle - Secure Coding Practices
PPTX
Server Side Template Injection by Mandeep Jadon
PDF
A journey into Application Security
PPTX
Regular Expression Denial of Service RegexDoS
PDF
Application Security Testing for Software Engineers: An approach to build sof...
PDF
WTF is Penetration Testing
ODP
OWASP Secure Coding
PDF
Thick Application Penetration Testing: Crash Course
PPTX
Secure Coding 101 - OWASP University of Ottawa Workshop
PPTX
Pentesting Android Apps
PPTX
Secure programming with php
PPTX
Android pen test basics
PPTX
Web Security Workshop : A Jumpstart
PDF
Is My App Secure ?
PPTX
Static Code Analysis
PDF
Beyond the mcse red teaming active directory
PDF
Fuzzing and You: Automating Whitebox Testing
Real World Application Threat Modelling By Example
Finacle - Secure Coding Practices
Server Side Template Injection by Mandeep Jadon
A journey into Application Security
Regular Expression Denial of Service RegexDoS
Application Security Testing for Software Engineers: An approach to build sof...
WTF is Penetration Testing
OWASP Secure Coding
Thick Application Penetration Testing: Crash Course
Secure Coding 101 - OWASP University of Ottawa Workshop
Pentesting Android Apps
Secure programming with php
Android pen test basics
Web Security Workshop : A Jumpstart
Is My App Secure ?
Static Code Analysis
Beyond the mcse red teaming active directory
Fuzzing and You: Automating Whitebox Testing
Ad

Similar to Reverse Engineering: Protecting and Breaking the Software (20)

PPTX
Reverse Engineering: The Crash Course
PPTX
Introduction to Software Reverse Engineering
PPTX
T3_Embedded programing_07072022T3_Embedded programing_07072022.pptx
PDF
International Journal of Engineering Research and Development
DOCX
Mit104 software engineering
PDF
Information Management 2marks with answer
PPTX
Software-Engineering-and-Best-Practices.
PDF
Software Reverse Engineering in a Security Context
PDF
Machine programming
PDF
A035401010
PPTX
Security Best Practices
PPTX
Reengineering including reverse & forward Engineering
PPTX
Reverse code engineering
PPTX
IDAPRO
PDF
Software design.edited (1)
PDF
IRJET- Obfuscation: Maze of Code
PDF
Malware Analysis and Reverse Engineering Training
PPTX
Class 6 computer part 2
PPTX
Software engineering : Layered Architecture
Reverse Engineering: The Crash Course
Introduction to Software Reverse Engineering
T3_Embedded programing_07072022T3_Embedded programing_07072022.pptx
International Journal of Engineering Research and Development
Mit104 software engineering
Information Management 2marks with answer
Software-Engineering-and-Best-Practices.
Software Reverse Engineering in a Security Context
Machine programming
A035401010
Security Best Practices
Reengineering including reverse & forward Engineering
Reverse code engineering
IDAPRO
Software design.edited (1)
IRJET- Obfuscation: Maze of Code
Malware Analysis and Reverse Engineering Training
Class 6 computer part 2
Software engineering : Layered Architecture
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

Recently uploaded (20)

PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PDF
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
STKI Israel Market Study 2025 version august
PDF
Flame analysis and combustion estimation using large language and vision assi...
PDF
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
PDF
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PPT
Geologic Time for studying geology for geologist
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
DOCX
search engine optimization ppt fir known well about this
PPTX
Modernising the Digital Integration Hub
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
Statistics on Ai - sourced from AIPRM.pdf
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PPTX
The various Industrial Revolutions .pptx
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
A review of recent deep learning applications in wood surface defect identifi...
Developing a website for English-speaking practice to English as a foreign la...
Credit Without Borders: AI and Financial Inclusion in Bangladesh
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
Final SEM Unit 1 for mit wpu at pune .pptx
STKI Israel Market Study 2025 version august
Flame analysis and combustion estimation using large language and vision assi...
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
Taming the Chaos: How to Turn Unstructured Data into Decisions
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
Geologic Time for studying geology for geologist
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
search engine optimization ppt fir known well about this
Modernising the Digital Integration Hub
Convolutional neural network based encoder-decoder for efficient real-time ob...
Statistics on Ai - sourced from AIPRM.pdf
OpenACC and Open Hackathons Monthly Highlights July 2025
The various Industrial Revolutions .pptx
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
A review of recent deep learning applications in wood surface defect identifi...

Reverse Engineering: Protecting and Breaking the Software