Browse projects/Developer tools/Inspect a compiled program/Ghidra
Look inside a compiled program
Get a function inventory and decompiled C-like code from a program file.
Inspect a compiled program when you need to understand its functions or recover how a feature works. Ghidra analyses the file locally without executing it and saves the decompiled functions alongside their names, addresses and any failures.
This is Ghidra’s headless analysis workflow. The full headless command remains available for custom analysis and scripts. For the interactive desktop interface, use Ghidra’s native application. Decompiled code is an approximation, not the original source.
You bring
- a compiled executable or library recognised by Ghidra, such as an ELF or PE file
program
You get
- the C-like code recovered for each successfully decompiled function
functions.c - function names, addresses, signatures, input hash and decompilation failures
functions.json - Ghidra's analysis log, including warnings
analysis.log - Ghidra's full headless command, for your own projects, analysis options and scripts
Make it yours
UGT guides you through these settings.
- maximum analysis and export time in seconds; defaults to 900
Choose 30–3600. Large programs can need more time and memory. A timeout fails the run.
Good to know
- This is a CPU headless setup with a 3 GB container memory limit. Large or heavily obfuscated binaries may need a different setup.
- The automatic workflow requires a recognised executable format. Raw firmware needing a processor, base address or special loader should use the provided headless command with explicit options.
More setup notes
- Some functions cannot be decompiled. Read failures in functions.json and warnings in analysis.log; a partial result does not establish complete program coverage. The desktop GUI is not included.
Your files & access
Processing has no network access. The recipe can use only the files you give it. UGT downloads the software during setup.
Licences & source
Ghidra Apache-2.0, with third-party distribution licences retained; OpenJDK GPL-2.0 with Classpath Exception. UGT's export script, driver and synthetic sample are Apache-2.0.
What UGT sets up for you
- Ghidra at commit
8ca9077040cc
How was it tested?
Run on clean x86-64 (Intel/AMD) and ARM64 machines on 10 Nov 2026. Its check passed on a known sample and rejected deliberately broken results.
This checks the job this page describes, not every feature of the original project.
Developer tools
Run tools and services for the software you build.
- REAmorluto
☆
Archived on GitHub
See how a JavaScript app fits together
Map an app’s modules, imports and Electron boundaries, with evidence you can inspect later.
- Meilisearchmeilisearch
☆
Archived on GitHub
Search your documents with an API
Run a local search API that your apps can add documents to and query.


