To deobfuscate is to remove obfuscation from computer code, making it accessible to humans. In software development, obfuscation purposefully conceals or distorts parts of the code to make the program difficult to detect, tamper with, or reverse engineer. “Deobfuscators” are apps that help programmers deobfuscate and analyze software.
- Reverse engineering. Software developers use obfuscation to hide proprietary code and commercial secrets. Deobfuscating lets others see what apps are hiding under the hood to recreate their functionality. In these instances, deobfuscation is an act of corporate espionage.
- Determining weaknesses. Obfuscation stops hackers from easily analyzing a program’s code, a practice known as “security by obscurity.” Deobfuscation lets interested parties view the code in its entirety to hunt for exploits and vulnerabilities.
- Detect malicious code. Hackers can use obfuscation to hide malicious scripts in seemingly functional apps. Deobfuscation lets cybersecurity experts uncover these threats and apply appropriate countermeasures.
- Software improvements. High-level programmers sometimes deobfuscate apps to improve their performance or create alternatives for personal use.
- Recreational puzzles. Many programmers enjoy the challenge of deobfuscation and deobfuscate software in their spare time. Some software developers even create special deobfuscation puzzles — code that was obfuscated specifically for others to deobfuscate.