decompiling
Extracting source code
Decompiling is the process of converting compiled computer code back into a human-readable form.
When software is compiled, source code becomes machine code that's difficult for humans to read.
Decompiling reverses this, attempting to reconstruct something like the original: They decompiled the app to understand how it worked.
The results are rarely as clean as the original source code.
Decompiling is used for software analysis, security research, and reverse engineering—sometimes legally contested when applied to proprietary software.
Binary-to-assembly translator
- machine codeCPU-executable binary instructions
- assembly languageMnemonic-based processor instructions
- bytecodeCompiled platform-neutral instructions
- executableDirectly runnable program file
binary · instruction set · mnemonics · hexadecimal · registers · memory address · stack · firmware
Programming language from Sun
Programming instructions before compilation
- high-level languageAbstracted programming syntax
- pseudocodeInformal algorithm representation
- data structuresInformation organization schemes
- abstractionDistilling to essential qualities
readability · restoration · translation · interpretation · semantics · logic · algorithm
Analyzing something to understand construction
- analysisMethodical study of parts
- obfuscationDeliberate concealment through confusion
- packingPutting items in containers
- anti-tamperDesigned to prevent interference
protection · cracking · patching · vulnerability · exploit · unpacking · code injection · hooking
disassembler
Binary-to-assembly translator
- machine codeCPU-executable binary instructions
- assembly languageMnemonic-based processor instructions
- bytecodeCompiled platform-neutral instructions
executable · binary · instruction set · mnemonics · hexadecimal · registers · memory address · stack · firmware · microcode
Java
Programming language from Sun
source code
Programming instructions before compilation
- high-level languageAbstracted programming syntax
- pseudocodeInformal algorithm representation
- data structuresInformation organization schemes
abstraction · readability · restoration · translation · interpretation · semantics · logic · algorithm
reverse engineering
Analyzing something to understand construction
- analysisMethodical study of parts
- obfuscationDeliberate concealment through confusion
- packingPutting items in containers
anti-tamper · protection · cracking · patching · vulnerability · exploit · unpacking · code injection · hooking · forensics
- hackinghacker, exploit, hacking, dictionary attack, backdoor
decompilingcompiling
Gathering into unified whole
compilation · building · assembling · linking · code generation
decompilingobfuscating
Making unclear or confusing
encrypting · encoding · minifying · packing · protecting
decompilingcompiling
Gathering into unified whole
programming · coding · software development · building · authoring
compilation, compile, compiled, compiler, compiling, recompile, recompiled, recompiling, decompile