Definition
What is name obfuscation?
When you write code, you name things to make them clear: ValidateLicenseKey, decryptUserData, isPremiumAccount. Those names are documentation. When your application is decompiled, that documentation is handed straight to the attacker.
Name obfuscation removes it. It renames every class, method, field, parameter, and variable to a short meaningless symbol. The compiler does not care what things are called, so the program behaves exactly the same.
What changes is the decompiled result. Instead of a readable method named ValidateLicenseKey, an attacker sees a method named a calling a method named b. The logic is intact, but every clue about what it means is gone.
