ProGuard - Java Obfuscator and more

Topics 

  • Terminology/Concept 
  • ProGuard 
  • ProGuard - Maven support
  • ProGuard - Ant support

Terminology

What is Shrinking? 

  • Java bytecode contain a lot of unused code, especially if it includes program libraries 
  • Shrinking programs such as ProGuard can analyze bytecode and remove unused classes, fields, and methods. 
  • The program remains functionally equivalent, including the information given in exception stack traces

What is Obfuscation? 

  • Compiled bytecode still contains a lot of debugging information: 
    • source file names, line numbers, field names, method names, argument names, variable names, etc. 
  • This information makes it straightforward to decompile the bytecode and reverse-engineer entire programs.

You must have an active subscription to download PDF and Lab Zip of this course topic.Please click the "Subscribe" button or the "Login" button if you already have an account.