Guardsquare / proguard

ProGuard, Java optimizer and obfuscator
https://www.guardsquare.com/en/products/proguard
GNU General Public License v2.0
2.87k stars 409 forks source link

add option to use random symbols for obfuscation #109

Open javaone199 opened 3 years ago

javaone199 commented 3 years ago

add option to use random order of symbols for obfuscation for class, member, package name, etc. By default, a to z is used in the alphabetical order. Whenever a symbol is needed for obfuscation, it should be picked randomly so that obfuscated code is different for every run. It will make code more difficult to be reverse engineered and understood by attackers for every release.

Like dictionary options, the code can be re-obfuscated to use the default alphabetical order. So the option will not work. The solution is: always use random symbols if code was obfuscated with random symbols. This can be detected by scanning used class names.

mrjameshamilton commented 3 years ago

Thanks for the request @javaone199 ! We don't currently have any plans to do this but I've tagged this with enhancement to keep track of the request.