SlideShare a Scribd company logo
Firmware
Reverse Engineering
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 is Firmware?
 Software that provides low-level control for the device’s specific hardware.
 Single or collection of specialized software
 Mostly embedded on hardware, stored on specific region (ex: ROM), and
executed on closed environment (only on that hardware).
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
Firmware Reverse Engineering
Type of Firmware
 Bare-metal firmware
 A single program, single layer.
 No operating system.
 Direct access and full control of low-level hardware.
 Primitive operations (ex: spin the disk for X degree clockwise).
 Typically used for specific hardware, such as hard disk, motherboard, etc.
 Full firmware
 One or more application, multiple layer.
 Include an embedded operating system (ex: linux)
 Higher level of operations (ex: handle routing protocol)
 Typically used for appliance, such as router, IoT hardware, etc.
This session will be limited to Full
Firmware.
Reversing bare-metal firmware will
require more knowledge about
hardware.
Ecosystem of Firmware (Development)
 Toolchain (compiler)
 Kernel
 File System
 Application
 Bootloader
Full Firmware is bundle of bootloader, kernel, file system, and application.
Common Reversing Steps
 Information gathering
 Acquire the firmware
 Extract
 Analysis & Modification
 Repackage
Common Tools
 File Format Identifier (and Parser)
 Binwalk, file
 Extractor
 Squashfs-tools
 Disassembler
 IDA, Radare2
 Emulator
 Cross toolchain
 Packager
1. Information Gathering
 What to search?
 File format
 Architecture
 Hardware feature
 Some information source
 Datasheet
 FCC specification
Common Architecture
 x86 / x86_64
 ARM
 MIPS
Different processor architecture leads to different machine code and thus
different tools.
2. Firmware Acquisition
 Dump from hardware
 Sniff the firmware-update mechanism
 Download the firmware
Remember to analyze the firmware
3. Firmware Extraction
 Extraction means unpack the firmware and get all the contents of firmware.
 Remember that full firmware consists of many components!
 Different format / structure has different strategy.
 Need to preserve the content, no loss and no noise.
4. Analysis & Modification
 Search for this and that
 Backdoor from manufacturer.
 Vulnerability?
 Patch here and there
 Create backdoor
 Hidden operation
 Nullify some features
5. Repackage
 Put the content back to a package
 Different structure has different tools.
DEMO !!!

More Related Content

PPTX
Firmware analysis 101
PPTX
Building an Empire with PowerShell
PDF
Anti forensics-techniques-for-browsing-artifacts
PDF
Purple Team Exercise Hands-On Workshop #GrayHat
PDF
Tor Browser Forensics on Windows OS
PPTX
Client side attacks using PowerShell
PPTX
Introduction To Vulnerability Assessment & Penetration Testing
PPTX
Red Team Revenge - Attacking Microsoft ATA
Firmware analysis 101
Building an Empire with PowerShell
Anti forensics-techniques-for-browsing-artifacts
Purple Team Exercise Hands-On Workshop #GrayHat
Tor Browser Forensics on Windows OS
Client side attacks using PowerShell
Introduction To Vulnerability Assessment & Penetration Testing
Red Team Revenge - Attacking Microsoft ATA

What's hot (11)

PDF
How to Hunt for Lateral Movement on Your Network
PDF
和艦長一起玩轉 GitLab & GitLab Workflow
PPTX
[역기획]로스트아크_엘릭서 시스템
PPTX
RACE - Minimal Rights and ACE for Active Directory Dominance
PPTX
Open gl introduction
PDF
aclpwn - Active Directory ACL exploitation with BloodHound
PDF
What is pentest
PPT
Bit'in Temel Kavramları
PDF
PHDays 2018 Threat Hunting Hands-On Lab
PPTX
Bethesda's Iterative Level Design Process for Skyrim and Fallout 3
PPTX
FreeIPA - Attacking the Active Directory of Linux
How to Hunt for Lateral Movement on Your Network
和艦長一起玩轉 GitLab & GitLab Workflow
[역기획]로스트아크_엘릭서 시스템
RACE - Minimal Rights and ACE for Active Directory Dominance
Open gl introduction
aclpwn - Active Directory ACL exploitation with BloodHound
What is pentest
Bit'in Temel Kavramları
PHDays 2018 Threat Hunting Hands-On Lab
Bethesda's Iterative Level Design Process for Skyrim and Fallout 3
FreeIPA - Attacking the Active Directory of Linux
Ad

Similar to Firmware Reverse Engineering (20)

PDF
Beginners guide on how to start exploring IoT 2nd session
PPTX
Reverse Engineering - Protecting and Breaking the Software
PPTX
Null mumbai-reversing-IoT-firmware
PPTX
Reverse Engineering: Protecting and Breaking the Software
PDF
Efficient Reverse Engineering of Automotive Firmware
PDF
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
PPTX
BlueHat v17 || Extracting Secrets from Silicon – A New Generation of Bug Hunt...
PPTX
13-MohamedHany - 5-dateee-2025 5 12.pptx
PDF
Firmware Extraction & Fuzzing - Jatan Raval
PPTX
M5-1.pptx m5 document for 18 ec751 students of engineering
PDF
Demystifying Binary Reverse Engineering - Pixels Camp
PDF
Hacking with Reverse Engineering and Defense against it
PPTX
Reverse Engineering: The Crash Course
PPTX
Reverse code engineering
PPTX
Description of an Firmware-Types,Importance and it's Function
PDF
Hardware Reverse Engineering: From Boot to Root
PPTX
Making and breaking security in embedded devices
PPTX
Software reverse engineering
PDF
Reverse engineering
PPTX
Reverse engineering
Beginners guide on how to start exploring IoT 2nd session
Reverse Engineering - Protecting and Breaking the Software
Null mumbai-reversing-IoT-firmware
Reverse Engineering: Protecting and Breaking the Software
Efficient Reverse Engineering of Automotive Firmware
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
BlueHat v17 || Extracting Secrets from Silicon – A New Generation of Bug Hunt...
13-MohamedHany - 5-dateee-2025 5 12.pptx
Firmware Extraction & Fuzzing - Jatan Raval
M5-1.pptx m5 document for 18 ec751 students of engineering
Demystifying Binary Reverse Engineering - Pixels Camp
Hacking with Reverse Engineering and Defense against it
Reverse Engineering: The Crash Course
Reverse code engineering
Description of an Firmware-Types,Importance and it's Function
Hardware Reverse Engineering: From Boot to Root
Making and breaking security in embedded devices
Software reverse engineering
Reverse engineering
Reverse engineering
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
Reverse Engineering: Protecting and Breaking the Software (Workshop)
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
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)
Reverse Engineering: Protecting and Breaking the Software (Workshop)
Memory Forensic: Investigating Memory Artefact (Workshop)
Memory Forensic: Investigating Memory Artefact
Another Side of Hacking
Automatic Malware Analysis & Repository
Web Security Jumpstart

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Approach and Philosophy of On baking technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Empathic Computing: Creating Shared Understanding
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Chapter 3 Spatial Domain Image Processing.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Reach Out and Touch Someone: Haptics and Empathic Computing
Approach and Philosophy of On baking technology
Network Security Unit 5.pdf for BCA BBA.
Mobile App Security Testing_ A Comprehensive Guide.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Encapsulation_ Review paper, used for researhc scholars
Advanced methodologies resolving dimensionality complications for autism neur...
Understanding_Digital_Forensics_Presentation.pptx
sap open course for s4hana steps from ECC to s4
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
MYSQL Presentation for SQL database connectivity
Empathic Computing: Creating Shared Understanding
Building Integrated photovoltaic BIPV_UPV.pdf
Electronic commerce courselecture one. Pdf
NewMind AI Weekly Chronicles - August'25 Week I
Chapter 3 Spatial Domain Image Processing.pdf

Firmware Reverse Engineering

  • 2. Hi! I am Satria Ady Pradana Community Leader of Reversing.ID xathrya @xathrya Reversing.ID Revealing the Truth through Breaking Things https://xathrya.id
  • 3. 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.
  • 4. What is Firmware?  Software that provides low-level control for the device’s specific hardware.  Single or collection of specialized software  Mostly embedded on hardware, stored on specific region (ex: ROM), and executed on closed environment (only on that hardware).
  • 5. What do you think of Reverse Engineering?
  • 6. 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.
  • 9. Type of Firmware  Bare-metal firmware  A single program, single layer.  No operating system.  Direct access and full control of low-level hardware.  Primitive operations (ex: spin the disk for X degree clockwise).  Typically used for specific hardware, such as hard disk, motherboard, etc.  Full firmware  One or more application, multiple layer.  Include an embedded operating system (ex: linux)  Higher level of operations (ex: handle routing protocol)  Typically used for appliance, such as router, IoT hardware, etc.
  • 10. This session will be limited to Full Firmware. Reversing bare-metal firmware will require more knowledge about hardware.
  • 11. Ecosystem of Firmware (Development)  Toolchain (compiler)  Kernel  File System  Application  Bootloader Full Firmware is bundle of bootloader, kernel, file system, and application.
  • 12. Common Reversing Steps  Information gathering  Acquire the firmware  Extract  Analysis & Modification  Repackage
  • 13. Common Tools  File Format Identifier (and Parser)  Binwalk, file  Extractor  Squashfs-tools  Disassembler  IDA, Radare2  Emulator  Cross toolchain  Packager
  • 14. 1. Information Gathering  What to search?  File format  Architecture  Hardware feature  Some information source  Datasheet  FCC specification
  • 15. Common Architecture  x86 / x86_64  ARM  MIPS Different processor architecture leads to different machine code and thus different tools.
  • 16. 2. Firmware Acquisition  Dump from hardware  Sniff the firmware-update mechanism  Download the firmware Remember to analyze the firmware
  • 17. 3. Firmware Extraction  Extraction means unpack the firmware and get all the contents of firmware.  Remember that full firmware consists of many components!  Different format / structure has different strategy.  Need to preserve the content, no loss and no noise.
  • 18. 4. Analysis & Modification  Search for this and that  Backdoor from manufacturer.  Vulnerability?  Patch here and there  Create backdoor  Hidden operation  Nullify some features
  • 19. 5. Repackage  Put the content back to a package  Different structure has different tools.