SlideShare a Scribd company logo
Reverse Engineering
Protecting and Breaking the Software
Satria Ady Pradana
https://xathrya.id
# 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
(Workshop) Reverse Engineering - Protecting and Breaking the Software
PPTX
From Reversing to Exploitation
PPTX
Reverse Engineering: Protecting and Breaking the Software
PPTX
Reverse Engineering: Protecting and Breaking the Software (Workshop)
PPTX
Bypass Security Checking with Frida
PPTX
(Training) Malware - To the Realm of Malicious Code
PPTX
Another Side of Hacking
PDF
5 Important Secure Coding Practices
(Workshop) Reverse Engineering - Protecting and Breaking the Software
From Reversing to Exploitation
Reverse Engineering: Protecting and Breaking the Software
Reverse Engineering: Protecting and Breaking the Software (Workshop)
Bypass Security Checking with Frida
(Training) Malware - To the Realm of Malicious Code
Another Side of Hacking
5 Important Secure Coding Practices

What's hot (20)

PDF
Deception Technology: Use Cases & Implementation Approaches
PPTX
Introduction To Vulnerability Assessment & Penetration Testing
PPTX
Vulnerability and Exploit Trends: Combining behavioral analysis and OS defens...
PDF
Introduction to Memory Analysis
PPTX
Ethical Hacking Conference 2015- Building Secure Products -a perspective
PDF
Application Security Testing for Software Engineers: An approach to build sof...
PPTX
Regular Expression Denial of Service RegexDoS
PPTX
Machine Learning for Malware Classification and Clustering
PPTX
Ethical Hacking n VAPT presentation by Suvrat jain
PDF
PPTX
Secure coding practices
PDF
Cissp cbk final_exam-answers_v5.5
PPT
Testingfor Sw Security
PDF
What Every Developer And Tester Should Know About Software Security
PDF
Application Security Risk Assessment
PDF
Black Hat USA 2016 Survey Report (FFRI Monthly Research 2016.8)
PPTX
WTF is Penetration Testing v.2
PPT
Mobile application security and threat modeling
PPTX
VAPT, Ethical Hacking and Laws in India by prashant mali
PPT
STRIDE And DREAD
Deception Technology: Use Cases & Implementation Approaches
Introduction To Vulnerability Assessment & Penetration Testing
Vulnerability and Exploit Trends: Combining behavioral analysis and OS defens...
Introduction to Memory Analysis
Ethical Hacking Conference 2015- Building Secure Products -a perspective
Application Security Testing for Software Engineers: An approach to build sof...
Regular Expression Denial of Service RegexDoS
Machine Learning for Malware Classification and Clustering
Ethical Hacking n VAPT presentation by Suvrat jain
Secure coding practices
Cissp cbk final_exam-answers_v5.5
Testingfor Sw Security
What Every Developer And Tester Should Know About Software Security
Application Security Risk Assessment
Black Hat USA 2016 Survey Report (FFRI Monthly Research 2016.8)
WTF is Penetration Testing v.2
Mobile application security and threat modeling
VAPT, Ethical Hacking and Laws in India by prashant mali
STRIDE And DREAD
Ad

Viewers also liked (6)

PDF
Reverse Engineering for Documenting Software Architectures, a Literature Review
PPT
Reverse Engineering Web Applications
PDF
Reverse Engineering of Software Architecture
PDF
Reversing and Patching Machine Code
PPTX
Introduction to Software Reverse Engineering
PPTX
Software reverse engineering
Reverse Engineering for Documenting Software Architectures, a Literature Review
Reverse Engineering Web Applications
Reverse Engineering of Software Architecture
Reversing and Patching Machine Code
Introduction to Software Reverse Engineering
Software reverse engineering
Ad

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

PPTX
Reverse Engineering: The Crash Course
PDF
Software cracking and patching
PDF
Hacking with Reverse Engineering and Defense against it
PPTX
Reverse engineering
PPTX
Reverse code engineering
PPTX
Reverse Engineering.pptx
PDF
WhitePaperTemplate
PDF
International Journal of Engineering Research and Development
PDF
Demystifying Binary Reverse Engineering - Pixels Camp
PPTX
Reverse Engineering for iti students motor mechanic vehicle
PDF
V4I5201571
PPTX
Reengineering including reverse & forward Engineering
PDF
IRJET- Obfuscation: Maze of Code
PPTX
reverse.ppt.pptx
PDF
Software Reverse Engineering in a Security Context
PPTX
Reverse engineering in software engineering vaibhav
PPTX
Reverse engineering
PPTX
BSides Algiers - Reversing Win32 applications - Yacine Hebbal
PPTX
reverse_ee.pptx
PPTX
Reverse Engineering 101
Reverse Engineering: The Crash Course
Software cracking and patching
Hacking with Reverse Engineering and Defense against it
Reverse engineering
Reverse code engineering
Reverse Engineering.pptx
WhitePaperTemplate
International Journal of Engineering Research and Development
Demystifying Binary Reverse Engineering - Pixels Camp
Reverse Engineering for iti students motor mechanic vehicle
V4I5201571
Reengineering including reverse & forward Engineering
IRJET- Obfuscation: Maze of Code
reverse.ppt.pptx
Software Reverse Engineering in a Security Context
Reverse engineering in software engineering vaibhav
Reverse engineering
BSides Algiers - Reversing Win32 applications - Yacine Hebbal
reverse_ee.pptx
Reverse Engineering 101

More from Satria Ady Pradana (12)

PPTX
Rekayasa Balik - Sebuah Hikayat dari Dunia Digital
PPTX
The Offensive Python - Practical Python for Penetration Testing
PPTX
Android Security : A Hacker's Perspective
PPTX
(Workshop) Memory Forensic - Investigating Memory Artefact
PPTX
Memory Forensic - Investigating Memory Artefact
PPTX
Drac lab automatic malware analysis & repository
PPTX
Web Security Workshop : A Jumpstart
PPTX
Dracos forensic flavor
PPTX
Path of Cyber Security
PPTX
Docker and-daily-devops
PDF
Defense of the assets
PPTX
Tugas Akhir 13510030 - Analisis Keamanan Dalam Pengembangan Sistem Transaksi ...
Rekayasa Balik - Sebuah Hikayat dari Dunia Digital
The Offensive Python - Practical Python for Penetration Testing
Android Security : A Hacker's Perspective
(Workshop) Memory Forensic - Investigating Memory Artefact
Memory Forensic - Investigating Memory Artefact
Drac lab automatic malware analysis & repository
Web Security Workshop : A Jumpstart
Dracos forensic flavor
Path of Cyber Security
Docker and-daily-devops
Defense of the assets
Tugas Akhir 13510030 - Analisis Keamanan Dalam Pengembangan Sistem Transaksi ...

Recently uploaded (20)

PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Approach and Philosophy of On baking technology
PDF
Machine learning based COVID-19 study performance prediction
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Network Security Unit 5.pdf for BCA BBA.
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Encapsulation theory and applications.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Electronic commerce courselecture one. Pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Diabetes mellitus diagnosis method based random forest with bat algorithm
Approach and Philosophy of On baking technology
Machine learning based COVID-19 study performance prediction
Per capita expenditure prediction using model stacking based on satellite ima...
Digital-Transformation-Roadmap-for-Companies.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Network Security Unit 5.pdf for BCA BBA.
“AI and Expert System Decision Support & Business Intelligence Systems”
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Building Integrated photovoltaic BIPV_UPV.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Dropbox Q2 2025 Financial Results & Investor Presentation
Encapsulation theory and applications.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Electronic commerce courselecture one. Pdf
MYSQL Presentation for SQL database connectivity
Profit Center Accounting in SAP S/4HANA, S4F28 Col11

Reverse Engineering - Protecting and Breaking the Software