Android Reversing 101: Instalación y Configuración de Herramientas

No Comments
El mundo del reversing en android es muy interesante aunque la verdad no hay tanta información como en el reversing de software, en esta serie de entradas que estare realizando tiene como objetivo que lleguemos a conocer y aprender juntos desde lo básico e ir avanzando.


Requisitos básicos para comenzar en el reversing android:
  •    Conocimientos básicos sobre java.
  •    Creatividad y muchas ganas de aprender.
Antes de empezar yo tengo experiencia en la ingeniería inversa de binarios, pero una vez aprendido el reversing no es complicado a adaptarse a esto. Al final de cuentas reversing es reversing y no importa si es de binarios o apk, ya que para todo tenemos que investigar y practicar mucho. Digo todo esto pues he investigado sobre el tema pero sin embargo si sufro algún error indica cual es en los comentarios para editar este tutorial y tener una mejor referencia.

Preparando el entorno Windows

Primero necesitamos las herramientas para tener nuestro entorno listo y preparado:
  • Java JDK : Herramientas de desarrollo para java.
  • SDK Tool : Herramientas de desarrollo para android. 
  • ApkTool : nos servirá para descompilar y recompilar nuestro apk.
  • Dex2Jar : nos permitira convertir un archivo DEX a JAR.
  • JD-GUI : nos permitirá ver el código fuente de un archivo JAR.
  • Uber Apk Signer : nos permitirá firmar nuestra apk.

Instalando Java JDK

Procedemos a descargar de su web oficial, para instalar solo es dar siguiente siguiente.



Instalando SDK Tool

Descargamos desde su web click aqui 


En este proceso despues de instalar el sdk, tendremos que instalar los siguientes paquetes.



Instalando Apktool

En la pagina oficial click aqui explica el proceso de instalación, considerando que deseamos aprender se da los pasos a continuación.


  • Una vez que descargamos el script debemos renombrarlo como apktool.bat
  • Descargamos apktool desde el siguiente enlace 
  • Renombramos el archivo descargado a apktool.jar
  • Copiaremos los ficheros apktool.bat y apktool.jar a una carpeta "apktool y lo guardaremos en C:
  • Vamos a inicio de windows -> click derecho en equipo y con click derecho vamos a propiedades.


  • Ahora procedemos a configurar las variables de entorno, ingresando a configuración avanzada del sistema,  variables de entorno -> elegimos PATH -> Editar -> agremos el valor de variable con  punto y coma y la dirección de la carpeta apktoo, en la captura se muestra el proceso. 



  • Como último proceso validamos que esta bien configurado la variable de entorno y ejecutamos una CMD, escribiendo apktool


Si todo fue realizado correctamente tendremos la herramienta funcionando.

    Instalando Dex2jar

    Descargamos desde el siguiente enlace , la versión que usaremos en las próximas entradas  dex-tools-2.1-SNAPSHOT.zip  que descomprimiremos en un carpeta llamada dex2jar, repetimos el mismo proceso que realizamos con apktool y si marcha todo bien nuestro resultado final al ejecutarlo en la terminal  d2j-dex2jar





    JD - GUI

    Contamos igual con la página web oficial desde el siguiente enlace


    En este caso como estamos en un entorno Windows, procedemos a descargar el ejecutable para Windows, el mismo puede ser puesto en cualquier directorio, la recomendación sería que tengamos una carpeta Tools, Herramientas para estar mas organizados. 

    Uber Apk Signer

    La ultima herramienta que usaremos es Uber APK Signer desde el repositorio en GITHUB del siguiente enlace 


    Para mantener la configuración del entorno  se renombra igual con el siguiente nombre uber-apk-signer.jar, del mismo modo repetimos el proceso guardando en el disco C:, y configuramos el PATH respectivo.  despues abrimos nuestro editor de texto y copiamos este codigo

    @echo off
    if "%PATH_BASE%" == "" set PATH_BASE=%PATH%
    set PATH=%CD%;%PATH_BASE%;
    java -jar -Duser.language=en "%~dp0\uber-apk-signer.jar" %*

    y procedemos a guardar como uber-apk-signer.bat en el mismo directorio de uber-apk-signer


    Con todo esto seria suficiente para comenzar y seguir con la siguiente entrada nos vemos .

    0 comentarios

    Publicar un comentario