Proguard no obstruye las aplicaciones de Android

De acuerdo con este enlace: http://developer.android.com/guide/developing/tools/proguard.html , indican:

ProGuard hace que su aplicación sea más difícil de realizar ingeniería inversa, es importante que la use cuando su aplicación utiliza características que son sensibles a la seguridad, como cuando está licenciando sus aplicaciones.

¡Pero eso no es cierto! Estoy usando el Proguard más reciente (4.7) incluido en la previsualización ADT 17 4. Utilizo proguard mientras exporto mi aplicación agregando

proguard.config=proguard-android.txt 

En mi proyecto.properties (proguard-android.txt es sólo la configuración predeterminada incluida en ADT 17).

Pero puedo invertir fácilmente la ingeniería de mi apk, devolviéndole su código original usando estos pasos:

  1. Utilice apk-tool para extraer el apk.

  2. Utilice smali para convertir los archivos .smali en un .dex (apunta a smali a la carpeta que contiene los archivos .smali, normalmente dentro de / src / com / [companyname] / [appname])

  3. Utilice dex2jar para convertir el archivo .dex resultante en un archivo .jar

  4. Utilice jd-gui para ver el archivo .jar resultante

Así que mi pregunta es: ¿estoy haciendo algo mal? ¿O es proguard simplemente completamente inútil para ofuscar el código?

One Solution collect form web for “Proguard no obstruye las aplicaciones de Android”

Si está utilizando las bibliotecas de compatibilidad de android.support. *, Esto puede ser la raíz de un problema. Agregue las siguientes líneas a su archivo de configuración proguard:

 -dontwarn android.support.** -keep class android.support.** { *; } 

La forma más fácil de diagnosticar problemas de proguard es la creación de una aplicación con apache ant. Verá todas las advertencias y errores en stderr.

Esto es aplicable a todas las bibliotecas que utilizan carga dinámica de clase, reflexión y múltiples implementaciones de la misma clase dependiente de la versión de la API.

  • Cómo generar mapping.txt con Eclipse?
  • Android form build.xml con proguard no se construye en la versión
  • Encontrar el rastro de pila ofuscado generado por proguard
  • Las herramientas de compilación de Android evitan que ProGuard elimine las clases de biblioteca de appcompat no utilizadas
  • Proguard devuelto con código de error 1. Ver consola de Android
  • ¿El uso de ProGuard vale la pena?
  • ¿Cómo enseño a ProGuard a deshacerse de algo que es mantener que no estoy usando?
  • ¿Cómo construyo un proyecto de Android usando Ant? (IntelliJ IDE)
  • Ocultar cadenas en código ofuscado
  • Android-maven-plugin: método de despliegue que no elimina SharedPreferences
  • Biblioteca de Compatiblity de Android Proguard
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.