Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR. Learn more →
Ghidra-delinker-extension Alternatives
Similar projects and alternatives to ghidra-delinker-extension
-
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
-
Filestash
:file_folder: A file manager / web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze, ...
-
KeenWrite
Discontinued Free, open-source, cross-platform desktop Markdown text editor with live preview, string interpolation, and math.
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
-
-
-
-
-
-
-
ansible-easy-vpn
Discontinued An Ansible playbook that sets up a Wireguard server with ad blocking, DNS-over-HTTPS, and a WebUI with 2FA
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
ghidra-delinker-extension discussion
ghidra-delinker-extension reviews and mentions
-
Binary modding a water dispenser to save me from pressing a button (2021)
That assumes you have a source tree to build. Decompilation output generally is meant for human consumption and is not suitable for a compiler without significant rework and carrying out a full decompilation project (even a non-matching one) is a lot of work.
This is why traditional binary patching is the usual go-to option, because it doesn't require much upfront effort to perform. The downside is that you're constrained by the memory map of the original program and contorting your modifications to fit can be a huge pain.
There are alternative, less widely known techniques out there with different tradeoffs. For example, if you can make the original program bytes relocatable then you can run those through a linker and let it mend both original and new parts together. I've specifically built tooling to do that (delinking programs back to object files [1]), it's faster than a decompilation project because you merely need to figure out and undo all the relocation spots, but you don't get source code at the end.
[1] https://github.com/boricj/ghidra-delinker-extension
-
A Simple ELF
The Linux kernel source tree has nolibc [1], a header-only C standard library implementation that is about as barebones and paper-thin as it gets and is the next step up from a pure freestanding environment as shown in this article. I've used it to create a tiny but working program that prints out the ASCII table [2] as part of my Ghidra extension test suite.
[1] https://github.com/torvalds/linux/tree/master/tools/include/...
[2] https://github.com/boricj/ghidra-delinker-extension/tree/mas...
-
The Age of Software Artisans
Well, it's one of those things where you know the rules so well that you can break them, but my Ghidra extension is indeed on GitHub: https://github.com/boricj/ghidra-delinker-extension
Unless you meant copying source code from GitHub, which isn't an option if the program is a 1997 PlayStation video game and you don't have the source code for it.
-
Show HN: A Ghidra extension for exporting parts of a program as object files
There are links to various case studies on my blog inside the README of the repository.
https://github.com/boricj/ghidra-delinker-extension/blob/mas...
-
Ask HN: Is there any software you only made for your own use but nobody else?
Over the past two years I've been working on tooling that allows me to delink programs back into object files. What started out as a bunch of Jython scripts is nowadays a full-blown Ghidra extension that can export working object files from a program selection in two mouse clicks. I'm using it as part of a video game decompilation project, but it also enables a whole bunch of other use cases I've documented on my blog.
It's not that it is meant for my use only (any capable reverse-engineer familiar with Ghidra should be able to pick it up and use it) nor that it will never see the light of the day (it's open-source). However, it is such an esoteric capability and outright heresy according to computer sciences that I'm having a hard time just finding people who can wrap their heads around the concept, let alone people who would actually want to use this. Simply put, it's so far out there that I don't even know where or how to advertise it in the first place.
A couple of people did end up reaching out to me in the last couple of weeks about it, so it might be on the cusp of sprouting a very tiny user base. Still, I've made it for my own use and until very recently I've never expected anybody else would use it.
If someone wants to check out the dark magic: https://github.com/boricj/ghidra-delinker-extension (disclaimer: might trigger nightmares to linker developers).
-
NSA Ghidra open-source reverse engineering framework
I'm developing my own Ghidra extension that can export object files out of a program selection: https://github.com/boricj/ghidra-delinker-extension
Ghidra's data model, analyzers and UI gave me a framework that allowed me to focus on the specifics of delinking, which is the key to make this idea work. Without that, I would not have been able to pull it off and I would've given up on my decompilation project a long time ago, for lack of a means to divide and conquer it.
-
Spider-Man (Neversoft) Decompilation Project Progress Checkpoint – May 2024
I've been working on my own reverse-engineering/decompilation project (_Tenchu: Stealth Assassins_) and I've created a Ghidra extension that can export a program selection as a working, relocatable object file [1].
I've had some really good results on x86 since writing an analyzer for an architecture where relocation spots target 4-byte immediate fields inside of instructions is fairly easy. Unfortunately, the PlayStation uses a MIPS processor and writing an analyzer for split HI16/LO16 relocations is proving to be a devilishly tricky problem.
I got it to a point where it works well enough on MIPS most of the time, but there's always a new weird edge case hidden inside a function thousands of instructions long where it breaks down...
[1] https://github.com/boricj/ghidra-delinker-extension
- Ask HN: What rabbit hole(s) did you dive into recently?
-
Exploring Object File Formats
extension [1]. It's a bit finicky to get it right (toolchains assume that object files are valid and don't have much in the way of diagnostics), but these are fairly simple under the hood. Section bytes, symbols and relocations, with some headers and metadata to wrap these up...
It's a bit of a shame that object files aren't more of a lingua franca of toolchains in practice. Embedding binary blobs inside a program in a portable way is still a mess today.
[1] https://github.com/boricj/ghidra-delinker-extension/tree/mas...
- Show HN: A Ghidra extension that turns programs back into object files
-
A note from our sponsor - CodeRabbit
coderabbit.ai | 17 Mar 2025
Stats
boricj/ghidra-delinker-extension is an open source project licensed under Apache License 2.0 which is an OSI approved license.
The primary programming language of ghidra-delinker-extension is Java.
Popular Comparisons
- ghidra-delinker-extension VS nun-db
- ghidra-delinker-extension VS seleneCMSBundle
- ghidra-delinker-extension VS pls
- ghidra-delinker-extension VS VideoFlashingReduction
- ghidra-delinker-extension VS ansible-easy-vpn
- ghidra-delinker-extension VS rosboard
- ghidra-delinker-extension VS divedb
- ghidra-delinker-extension VS KeenWrite
- ghidra-delinker-extension VS wcc
- ghidra-delinker-extension VS pdbex