Menu Close Back

DexGuard versus ProGuard

DexGuard versus ProGuard

DexGuard is based on ProGuard. That's why it's so easy to upgrade from ProGuard to DexGuard . Both products offer very different features. ProGuard is a generic optimizer for Java bytecode, while DexGuard offers advanced protection for Android applications. In this blog you will find an overview of the main differences between the two products.

ProGuard is a generic optimizer for Java bytecode.
DexGuard is a specialized tool for protection of Android applications.

ProGuard is a versatile optimizer for Java bytecode. It allows you to shrink, optimize and obfuscate desktop apps, embedded apps and mobile apps (Android). DexGuard, on the other hand, is specifically designed to protect and optimize Android apps. The multi-layered protection that DexGuard offers is tailored to evolve rapidly as well as the medium in which mobile applications are used. In addition, DexGuard offers features that help you make optimal use of the Android platform. It comes with a configuration set for Android Runtime (ART), for common libraries (Google Play Services, Dagger, Realm, SQLCipher, etc.) and automatically splits DEX files that exceed the size limits imposed by the MultiDex format.

ProGuard offers basic protection against static analysis.
DexGuard protects applications against static and dynamic analysis.

Hackers often combine two approaches when attempting reverse engineering in an application. They try to gain access to application source code using decompilers (static analysis) and monitor application behavior at runtime (dynamic analysis). ProGuard offers basic protection against static analysis only, while DexGuard not only strengthens application source code using multiple obfuscation and obfuscation techniques, but also integrates a number of runtime security mechanisms (runtime application self-protection, RASP). These mechanisms check the integrity of the application and the environment it is running in and allow the application to react whenever suspicious activity is detected.

ProGuard offers basic protection against static analysis


DexGuard protects against static and dynamic analysis

ProGuard oferece ofuscação mínima.
DexGuard aplica múltiplas camadas de criptografia e ofuscação.

Ambos, ProGuard e DexGuard, ofuscam o código de aplicativos Android para protegê-los de engenharia reversa, mas extensão dessa proteção são diferentes. ProGuard oferece proteção básica sob a forma de ofuscação de nomes. DexGuard não apenas ofusca os nomes das classes, campos e métodos, mas também as expressões aritméticas e lógicas e o fluxo de controle do código dentro dos métodos. Além disso, DexGuard criptografa strings e classes e adiciona reflexão para APIs sensíveis ao acesso. O resultado é um aplicativo melhor protegido.

ProGuard foca no bytecode.
DexGuard processa todos os componentes do aplicativo.

While ProGuard's action is restricted to Java application bytecode, DexGuard provides complete protection. In addition to Dalvik bytecode, it optimizes, obfuscates and encrypts native libraries, manifest files, resources, resource files and asset files.

ProGuard is an open source tool.
DexGuard is a commercial, enterprise grade product.

ProGuard can be downloaded and used for free to process your commercial and non-commercial applications. All the information required to configure ProGuard is detailed in the online manual. DexGuard is a commercial product. The license allows you to use DexGuard and give you access to a team of experienced engineers who can help you build and configure the software.