Articles

How To Reverse Engineer An Android Application In 3 Easy Steps

Varun Dwarkani
Varun Dwarkani

Follow

Sep 12, 2020 · 3 min read

Reverse Engineer Android Application

Many beginners or even intermediate Android developers fail to realize that the Android app construyen y envían se pueden realizar ingeniería inversa en mayor medida. Si eres uno de los desarrolladores que piensan en codificar claves secretas o incluso almacenarlas en build.gradle file evitará que entre en manos de hackers u otros desarrolladores, estás equivocado.

La seguridad nunca ha sido fácil y la primera regla es nunca confiar en la seguridad del lado del cliente. El lado del Cliente no es un entorno que controlemos y, por lo tanto, no debemos confiar en él codificando o almacenando secretos que puedan interrumpir nuestro sistema. Por lo tanto, la mejor manera de asegurarse de que no termine atrapado por desarrolladores y hackers es realizar ingeniería inversa de la aplicación por usted mismo y solucionar los problemas si es posible.

Incidente interesante: Una vez estaba trabajando en una aplicación para Android que requería una fórmula matemática para ser utilizada en una función. No me gustan las matemáticas hasta el fondo, me pareció más fácil e interesante aplicar ingeniería inversa a una de las aplicaciones de la competencia y luego saqué la fórmula matemática del código con éxito. :p

Así que, comencemos. Para la ingeniería inversa de una aplicación, necesitaríamos algunas cosas de antemano:

  1. APK de la aplicación.
  2. Un conjunto de códigos a ejecutar.
  3. Herramienta de descompilador Java (JD JUI en este artículo) para ver el código descompilado.

comprensión Básica de la aplicación para Android. Fuente: Pranay Airan.

Necesitaríamos el APK de la aplicación que queremos hacer ingeniería inversa. Hay muchas maneras de hacer eso, pero sugeriré una manera simple aquí. Descargue el extractor de aplicaciones Apk en su dispositivo y seleccione la aplicación de la lista dentro de la aplicación. Una vez hecho esto, abra cualquier Explorador de archivos y vaya a la carpeta ExtractedApks presente en el directorio de almacenamiento interno. Allí, encontrarás el APK. Copie ese APK en su sistema y procederemos con los pasos a continuación.

Segundo paso –

Una vez tengamos el APK, lo invertiremos para conocer y ver el código. Eso nos permitirá y nos dará información sobre la estructuración del código, así como las medidas de seguridad que han tomado para evitar enfrentar un ataque de ingeniería inversa.

Aquí, cambiaremos el nombre de nuestra {aplicación}.archivo apk a {app}.zip y descomprímelo. Dentro de la carpeta extraída, encontraremos las clases.archivo dex que contiene el código de la aplicación.

Un archivo DEX es un archivo ejecutable que contiene el código compilado y se ejecuta en la plataforma Android.

Ahora, usaremos las clases.el archivo dex lo tomamos del archivo zip APK y lo convertimos en JAR. Para hacer eso, podemos usar la herramienta de código abierto ‘dex2jar’ disponible aquí. Dirígete a la sección de versiones y descarga el último archivo zip disponible y extráelo. Copie las clases extraídas.archivo dex y péguelo dentro del directorio ‘dex2jar-x. x’.

Abra el terminal en su máquina y diríjase al directorio ‘dex2jar-x. x’. Ahora ejecutaremos el comando-

d2j-dex2jar.clases de murciélagos.dex

Esto convertirá las clases.archivo dex a un archivo JAR que podemos ver usando cualquier herramienta de Descompilador.

Tercer paso –

Usaremos JD JUI, que es una sencilla herramienta de descompilador Java. Puedes conseguirlo desde aquí. Descarga y extrae el zip. Ejecuta el jd-gui.exe y abrir el archivo dex y Listo! ¡Realizamos ingeniería inversa a la aplicación!!

Descompilados Aplicación para Android de Código Fuente