SlideShare a Scribd company logo
Bug Hunting
Through
Reverse Engineering
d.monkey @ echo.or.id
Reverse Engineering
Reverse Engineering
Reverse Engineering
-ETOOBIG
Software
Hardware
Computer
Software
Hardware
Computer
Application
Operating System
Firmware
HW
Software
Hardware
Computer
Application
Operating System
Firmware
HW
Application
Computer
Virtual Machines
Native Application
Virtual Machines
Computer Applications
Native Application
Virtual Machines
Applications
Native Application
Bytecode ISA Opcode
Virtual Machines
Application based Virtual Machines
Java Applications
Python
PHP
Javascript
Native Applications
Native Applications
C / C++
Golang
Rust
Ocaml
Native Applications
Native Applications
C / C++
Golang
Rust
Ocaml
Native Apps
C / C++ Source Code
Compiler
Native Apps
The Reason
• Development With No Access To Source Code

• Bypass Restrictions

• Malware Analysis

• Bug Hunting & Exploit Development

• Self-Satistification of curiosity.
Another Reason
Another Reason
The Reason
• Development With No Access To Source Code

• Bypass Restrictions

• Malware Analysis

• Bug Hunting & Exploit Development

• Self-Satistification of curiosity.
Exploit Development
Fuzzing
Analyze
Exploitations
Fuzzing
Generate Testcase
Feed Input to
Program
Crash
Repeat
Reversing and Fuzzing
• RE is hard if the target is too complex.

• RE is hard if such obfuscations implemented in
the target

• Fuzzing sometimes it just works, but without RE
it’s just a plain bugs with no prior knownledge to
exploit.
Reversing Nightmare
• Software Obfuscations

• Packer / Self Modifying Code

• Code Flattening, Subtitutions, Dead Code
Insertions, Etc.

• Self Virtual Machines
Reversing Nightmare
Reversing Nightmare
Reversing Nightmare
Reversing Nightmare
Reversing Nightmare
• Software Obfuscations

• Packer / Self Modifying Code

• Code Flattening, Subtitutions, Dead Code
Insertions, Etc.

• Self Virtual Machines
Bug Classes
• Memory Corruptions

• Race Conditions

• Weak Cryptographic

• Implementation / Architectural Flaw
Reverse Engineering Native Apps
• Static Analysis

• Dynamic Analysis
Static Analysis
Native Apps
Disassemble
Analyze
Static Analysis
• Pros

• Good for analyzing a small apps / specific
functions

• Best to find implementation flaw a bad features

• Cons

• If the apps is to big it’s hard to find bugs

• Hard to analyze if such obfuscations applied
Tool for Static Analysis
Dynamic Analysis
Native Apps
Emulate / Debugger
Analyze
Dynamic Analysis
• Pros

• Good for analyzing obfuscated apps.

• Good for analyzing complex apps.

• Cons

• Need to run apps so for some big apps is quite
computations heavy.
Native Apps
C / C++ Source Code
Compiler
Native Apps
LLVM
Native Apps
C / C++ Source Code
Compiler
Native Apps
Backend
Frontend
PASS
LLVM
LLVM IR
Fuzzing
Fuzzing with LibFuzzer
C / C++ Source Code
Compiler
Native Apps
Backend
Frontend LibFuzzer
LLVM PASS
Fuzzing with LibFuzzer
Native Apps
Compiler
Native Apps
Backend
Frontend LibFuzzer
Disassembler
Bitcode Translations
DEMO

More Related Content

PPTX
Reverse Engineering.pptx
PDF
Using Metrology Software to Capture Data for Reverse Engineering
PPTX
Agility reboot iv
PPTX
Performance Aware Development
PDF
Heuristics ofsoftwaretestability
PPT
Re ppt1
PPTX
Defrag2014 anomalies final
PDF
Introduction to Non Functional Requirement (NFR)
Reverse Engineering.pptx
Using Metrology Software to Capture Data for Reverse Engineering
Agility reboot iv
Performance Aware Development
Heuristics ofsoftwaretestability
Re ppt1
Defrag2014 anomalies final
Introduction to Non Functional Requirement (NFR)

What's hot (20)

PPTX
Adressing nonfunctional requirements with agile practices
PPTX
Differences asked in Software Testing Interview.
PPTX
Status report #7
PPTX
Software engineering
PPTX
Status report #8
PPT
Introduction to Software Enigneering
PDF
WQD2011 - INNOVATION - DEWA - Substation Signal Analyzer Software
PPTX
PDF
Current_Resume
PPTX
Simply zdlc
PPTX
Computer aided software engineering
PPTX
Function Points
PPTX
Software engineering 14 software quality metrics
DOC
Joseph G Scott
PDF
Function Points
PPTX
formal verification
PDF
Biometric Authentication Hardware Device Teq Diligent Case Study
PPTX
An Introduction to Iterative Software Development
Adressing nonfunctional requirements with agile practices
Differences asked in Software Testing Interview.
Status report #7
Software engineering
Status report #8
Introduction to Software Enigneering
WQD2011 - INNOVATION - DEWA - Substation Signal Analyzer Software
Current_Resume
Simply zdlc
Computer aided software engineering
Function Points
Software engineering 14 software quality metrics
Joseph G Scott
Function Points
formal verification
Biometric Authentication Hardware Device Teq Diligent Case Study
An Introduction to Iterative Software Development
Ad

Viewers also liked (15)

PDF
Binary exploitation - AIS3
PDF
SECCON 2016 Online CTF [Memory Analysis] Write-Up (ver.korean)
PPT
Glibc malloc internal
PDF
Sigreturn Oriented Programming
PDF
Heap exploitation
PDF
Advanced heap exploitaion
PDF
Play with FILE Structure - Yet Another Binary Exploit Technique
PPT
Introduction to Reverse Engineering
PPTX
Reverse engineering
PPT
Introduction to Reverse Engineering
PDF
Reverse engineering
PPT
Reverse Engineering
PPTX
Reverse engineering & its application
PPTX
Reverse engineering
PPTX
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
Binary exploitation - AIS3
SECCON 2016 Online CTF [Memory Analysis] Write-Up (ver.korean)
Glibc malloc internal
Sigreturn Oriented Programming
Heap exploitation
Advanced heap exploitaion
Play with FILE Structure - Yet Another Binary Exploit Technique
Introduction to Reverse Engineering
Reverse engineering
Introduction to Reverse Engineering
Reverse engineering
Reverse Engineering
Reverse engineering & its application
Reverse engineering
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
Ad

Similar to Bug hunting through_reverse_engineering (20)

PDF
Webinar slides: Introduction to Database Proxies (for MySQL)
PDF
Kicking Down Silos: Co-Designing Software & Hardware to Create Great Products
PPTX
Intro to PhoneGap
PDF
Here Be Dragons – Advanced JavaScript Debugging
PDF
FITC - Here Be Dragons: Advanced JavaScript Debugging
PDF
Pipeline as code for your infrastructure as Code
PDF
Sensible scaling
PPTX
Static-Analysis-in-Industry.pptx
PDF
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
PDF
Cross platform mobile approaches
PPTX
Jason Kent - AppSec Without Additional Tools
PDF
Badoo: Cross platform Mobile Test Automation and Continuos Delivery
ODP
Continuous Delivery of (y)our infrastructure.
PDF
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
PDF
Machine programming
ODP
JavaOne 2014 Security Testing for Developers using OWASP ZAP
PDF
Write Generic Code with the Tooling API
PDF
Getting your mobile test automation process in place - using Cucumber and Cal...
PPTX
From Web to Mobile with Stage 3D
PDF
Abusing bleeding edge web standards for appsec glory
Webinar slides: Introduction to Database Proxies (for MySQL)
Kicking Down Silos: Co-Designing Software & Hardware to Create Great Products
Intro to PhoneGap
Here Be Dragons – Advanced JavaScript Debugging
FITC - Here Be Dragons: Advanced JavaScript Debugging
Pipeline as code for your infrastructure as Code
Sensible scaling
Static-Analysis-in-Industry.pptx
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Cross platform mobile approaches
Jason Kent - AppSec Without Additional Tools
Badoo: Cross platform Mobile Test Automation and Continuos Delivery
Continuous Delivery of (y)our infrastructure.
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
Machine programming
JavaOne 2014 Security Testing for Developers using OWASP ZAP
Write Generic Code with the Tooling API
Getting your mobile test automation process in place - using Cucumber and Cal...
From Web to Mobile with Stage 3D
Abusing bleeding edge web standards for appsec glory

Recently uploaded (20)

PDF
Understanding Forklifts - TECH EHS Solution
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
top salesforce developer skills in 2025.pdf
PDF
medical staffing services at VALiNTRY
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
AI in Product Development-omnex systems
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
history of c programming in notes for students .pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
System and Network Administraation Chapter 3
PDF
Nekopoi APK 2025 free lastest update
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Understanding Forklifts - TECH EHS Solution
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
top salesforce developer skills in 2025.pdf
medical staffing services at VALiNTRY
CHAPTER 2 - PM Management and IT Context
AI in Product Development-omnex systems
Upgrade and Innovation Strategies for SAP ERP Customers
history of c programming in notes for students .pptx
Design an Analysis of Algorithms II-SECS-1021-03
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
ISO 45001 Occupational Health and Safety Management System
Wondershare Filmora 15 Crack With Activation Key [2025
How to Migrate SBCGlobal Email to Yahoo Easily
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Design an Analysis of Algorithms I-SECS-1021-03
System and Network Administraation Chapter 3
Nekopoi APK 2025 free lastest update
VVF-Customer-Presentation2025-Ver1.9.pptx
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...

Bug hunting through_reverse_engineering