Definition
Plain language
A tool that turns a compiled program back into readable code, so people can study software they don't have the source for.
As stated in the literature
A reverse-engineering tool that lifts machine code or bytecode into higher-level pseudocode (e.g., pseudo-C); the input channel through which agents and analysts read closed-source binaries, as with IDA Pro's Hex-Rays.
Also called: decompile, decompiled, decompilation, decompilers
Why it matters: It lets people inspect and understand software they didn't write and don't have the original code for, which is essential for security analysis and reverse engineering.
For example, a security analyst with only a finished app and no source code can run it through a decompiler to read approximate code and spot a hidden vulnerability.
Heard on the show
“The part that's hard is semantic reasoning over decompiled code — reading the pseudocode that comes out of a decompiler and understanding what the program is actually trying to do.”Episode 024 — An AI Agent That Found 28 Zero-Days in Windows — And What Made It Work