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 - Collect and Analyze Billions of Data Points in Real Time
  • Mergify - Tired of breaking your main and manually rebasing outdated pull requests?
  • Sonar - Write Clean Java Code. Always.
  • 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

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • 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