MIPS Firmware Reverse Engineering - anyone having any success using Ghidra for this?

This page summarizes the projects mentioned and recommended in the original post on /r/ghidra

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • binbloom

    Raw binary firmware analysis software

  • Your best bet here is to get the base address nailed down (assuming it’s a flat/monolithic image). There are a handful of utilities floating around (binbloom, basefind2) that use various pointer heuristics to try to guess the base address. There’s also a nice trick detailed in PoC||GTFO that you can use pretty reliably.

  • basefind2

    A faster firmware base address scanner.

  • Your best bet here is to get the base address nailed down (assuming it’s a flat/monolithic image). There are a handful of utilities floating around (binbloom, basefind2) that use various pointer heuristics to try to guess the base address. There’s also a nice trick detailed in PoC||GTFO that you can use pretty reliably.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • pocorgtfo

    a "Proof of Concept or GTFO" mirror with an extensive index with also whole issues or individual articles as clean PDFs.

  • Your best bet here is to get the base address nailed down (assuming it’s a flat/monolithic image). There are a handful of utilities floating around (binbloom, basefind2) that use various pointer heuristics to try to guess the base address. There’s also a nice trick detailed in PoC||GTFO that you can use pretty reliably.

  • ghidra

    Ghidra is a software reverse engineering (SRE) framework

  • The details of https://github.com/NationalSecurityAgency/ghidra/issues/2030 are interesting (MIPS32 disassembling stops) - the text indicates the disassembler interacts with the decompiler. In my case the decompiler reports: Bad instruction - Truncating control flow here.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts