nowfound

Dev tools · August 22, 2024

AG

A Ghidra extension for exporting parts of a program as object files

This Ghidra extension unrelocates machine code through analysis and then synthesizes a working object file from a listing selection. It effectively turns computer programs into Lego bricks, to be torn down into pieces and reused into something new. It supports the COFF and ELF object file formats, for the x86 and MIPS architectures. It has been successfully used on Linux, Windows and PlayStation executables. One user report is on a commercial video game from 2009 with a ~7 MiB Windows executable written in C++: it was delinked without its C runtime library and then relinked into a new…

In plain words

This Ghidra extension extracts selected machine code from compiled programs and converts it into reusable object files in COFF or ELF formats. It supports x86 and MIPS architectures and has worked on Linux, Windows, and PlayStation executables. The tool analyzes and unrelocates code to create standalone components that can be relinked elsewhere, enabling uses like modding, porting software, and converting file formats.

written from the facts on this page · September 2026

From the sources

In the maker’s words, at launch

This Ghidra extension unrelocates machine code through analysis and then synthesizes a working object file from a listing selection. It effectively turns computer programs into Lego bricks, to be torn down into pieces and reused into something new. It supports the COFF and ELF object file formats, for the x86 and MIPS architectures. It has been successfully used on Linux, Windows and PlayStation executables. One user report is on a commercial video game from 2009 with a ~7 MiB Windows executable written in C++: it was delinked without its C runtime library and then relinked into a new executable at a different base address, with no visible change in functionality, as a prelude to a decompilation project. Use-cases I've demonstrated on my blog include modding, making software ports, converting executable file formats, creating libraries... I've originally built this as part of a video game decompilation project ; I've been working on this over the past 2.5 years and recently it has started gaining some users besides me.

Does the same job

all alternatives →
  • AG
    A Ghidra extension that turns programs back into object files2024 · github.com · ▲7

    Hi all, I've been working on tooling that can reverse the work of a linker. It allows one to take bits and pieces of an executable and delink them into working object files, which can then be reused as-is to make new programs or libraries, without having to decompile or disassemble them first. The readme has links to my blog demonstrating some of the use-cases. The most impressive one so far is making a port of a ~100 KiB Linux a.out i386 program to a native Windows PE i386 executable, despite not having access to its original source code or even decompiling it. Currently, 32-bit i386 and…

  • GM
  • GP
    Ghidra Plays Mario2023 · github.com · ▲207

    I've been exploring new ways of testing Ghidra processor modules. In this repo, I was able to emulate NES ROMs in Ghidra to test its 6502 specification, which resulted in finding and fixing some bugs. Context: Ghidra is used for reverse engineering binary executables, complementing the usual disassembly view with function decompilation. Each supported architecture has a SLEIGH specification, which provides semantics for parsing and emulating instructions, not unlike the dispatch handlers you would find in interpreters written for console emulators. Emulator devs have long had extensive test…

  • IM
    I made a Doom-like game fit inside a QR code2025 · github.com · ▲531

    I sometimes pick up random projects just because I can, this was one of those times. I made it as a week long project a while back this year but never shared here, so thought to go for it haha. I created a game inspired by Doom and the backrooms called The Backdooms under 2.4kb in minified html. (for reference, this entire post would be around 1.8kB haha) I had to use a not popular way of using GZip with Zlib headers (had to write my own script for compressing it, also in the repo) to eventually convert it a size 40 QR code that works right in your browser using Decompressionstream API. This…

  • CM
    CompressX, my FFmpeg wrapper for macOS2024 · compressx.app · ▲170

    Hey HN, just wanted to share my success story with CompressX, my FFmpeg wrapper for macOS. For those who may not be familiar, FFmpeg is a powerful tool for converting, streaming, and recording audio and video content. I started CompressX as a weekend project to serve my 9-5 jobs, primarily to compress demo videos for uploading to GitLab and sharing with my colleagues. It took me 2 weeks to make the first working version. I shared the demo on Twitter and the reaction was extraordinary. People loved it, they said that I was bringing the Pied Piper to life. Four months later, I hit the $9,000…

  • DP
    Doom port to pure Go – Gore2025 · github.com · ▲148

    Hi HN, I’ve been working on Gore – a port of the classic Doom engine written in pure Go, based on a ccgo C-to-Go translation of Doom Generic. It loads original WAD files, uses a software renderer (no SDL or CGO, or Go dependencies outside the standard library). Still has a bit of unsafe code that I'm trying to get rid of, and various other caveats. In the examples is a terminal-based renderer, which is entertaining, even though it's very hard to play with terminal-style input/output. The goal is a clean, cross-platform, Go-native take on the Doom engine – fun to hack on, easy to read,…

More dev tools this month

the category →
  • Dograh592

    The open source VAPI alternative

    Dev tools · 25d ago · dograh.com

  • Meridian530

    Don't let your work go unnoticed. Get promoted!

    Dev tools · 20d ago · meridiona.com

  • x1516

    Lovable for iPhone apps go from idea to App Store

    Dev tools · 11d ago · x1.new

  • The first open-source price index for GPU compute

    Dev tools · 10d ago · getcomputable.com

  • OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.

    Dev tools · 2d ago · opentrailpaper.com

  • Open-source GTM skills for technical founders

    Dev tools · 29d ago · gtmcofounder.com

Launched alongside, August 2024

the whole month →
  • Wordware9,866

    Your tool for building AI agents with natural language

    AI · 2024 · wordware.ai

  • IY

    Life & fun · 2024 · ytch.xyz

  • Me.bot1,628

    The inspiring companion for your life

    AI · 2024 · me.bot

  • Upmetrics AI1,197

    Business plan & financial forecast using AI

    Work · 2024 · upmetrics.co

  • Jupitrr AI1,196

    Auto-generate B-roll visuals for content marketing videos

    AI · 2024 · jupitrr.com

  • IA

    Hey there HN! We’re Joe and Stopa, and today we’re open sourcing InstantDB, a client-side database that makes it easy to build real-time and collaborative apps like Notion and Figma. Building modern apps these days involves a lot of schleps. For a basic CRUD app you need to spin up servers, wire up endpoints, integrate auth, add permissions, and then marshal data from the backend to the frontend and back again. If you want to deliver a buttery smooth user experience, you’ll need to add optimistic updates and rollbacks. We do these steps over and over for every feature we build, which can…

    Dev tools · 2024 · github.com