Cómo evitar la ingeniería inversa de un archivo APK?


Estoy desarrollando una aplicación de procesamiento de pagos para Android, y quiero evitar que un hacker acceda a cualquier recurso, activo o código fuente desde el archivo APK.

Si alguien cambia el .extensión apk a .zip luego pueden descomprimirlo y acceder fácilmente a todos los recursos y activos de la aplicación, y usando dex2jar y un descompilador Java, también pueden acceder al código fuente. Es muy fácil aplicar ingeniería inversa a un archivo APK de Android - para obtener más detalles, consulte Stack Pregunta de desbordamiento Ingeniería inversa de un archivo APK a un proyecto.

He utilizado la herramienta Proguard proporcionada con el SDK de Android. Cuando hago ingeniería inversa de un archivo APK generado usando un almacén de claves firmado y Proguard, obtengo código ofuscado.

Sin embargo, los nombres de los componentes de Android permanecen sin cambios y algunos códigos, como los valores clave utilizados en la aplicación, permanecen sin cambios. Según la documentación de Proguard, la herramienta no puede ofuscar los componentes mencionados en el manifiesto file.

Ahora mis preguntas son:

  1. ¿Cómo puedo evitar completamente la ingeniería inversa de un APK Android? Es esto posible?
  2. ¿Cómo puedo proteger todos los recursos, activos y código fuente de la aplicación para que los hackers no puedan hackear el archivo APK de ninguna manera?
  3. ¿Hay alguna manera de hacer que el hackeo sea más difícil o incluso imposible? ¿Qué más puedo hacer para proteger el código fuente en mi archivo APK?

Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52