8.30.2018

Android Reversing 101: Instalación y Configuración de Herramientas ( Actualizado )

El mundo del reversing en android es muy interesante aunque la verdad no hay tanta información como en el reversing de software desktop, 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 Platform Tools : Incluye herramientas que interactúan con la plataforma Android, como adb, fastboot y systrace. Nosotros usaremos adb para conectar nuestra dispositivo movil con nuestra computadora. 
  • ApkTool : nos servirá para descompilar y recompilar nuestro apk.
  • Dex2Jar : nos permitira convertir un archivo DEX a JAR.
  • Jadx : nos permitirá ver el código fuente de un archivo JAR.
  • Cmder: Emulador de la consola de linux en windows , necesario para utilizar los comandos de linux para realizar nuestros objetivos.
  • 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 Platfom Tools

Aquellas personas que tengan Android Studio no es nesecario descargar esto , pero si no asi.  Podemos descargar SDK Platform Tools descargar desde su web click aqui 



En este proceso explicare si tenemos Android Studio o SDK Platform Tools. Una vez descargado y descomprimido tendremos platform-tools_r28.0.1-windows que editaremos solo en platform-tools y guardaremos en ruta C:\


y bueno si tenemos Android Studio encontramos en esta direccion C:\Users\[ Nombre_del_Usuario]\AppData\Local\Android\Sdk\platform-tools.

ahora solo queda poner nuestra ruta en el path de windows .


despues elegimos Configuracion avanzada del sistema 




con esto ya estaria para trabajar en el siguiente tutorial .


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:
  • Despues guardaremos la direccion donde guardamos dicha carpeta que en mi caso es C:\Program Files\apktool en la path de windows.
  • Como último proceso validamos que esta bien configurado la variable de entorno y ejecutamos una CMD, escribiendo apktool en nuestra consola .


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 d2j-dex2jar, repetimos el mismo proceso que realizamos con apktool y si marcha todo bien nuestro resultado final al ejecutarlo en la terminal  d2j-dex2jar





    JADX

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




    Una vez entrando al link de Release de jadx , tenemos dos opciones descargar el exe o el archivo zip que tiene los archivos para usar los comando por consola y la gui, yo usare la ultima opcion. Por ultimo solo toca guardar en el directorio C:\ y no olvidar poner la direccion C:\jadx\bin en el path de windows.

    Cmder

    Podremos descargar esta herramienta muy util desde su web oficial Enlace .


    Nosotros descargaremos la version full , descomprimimos y guardamos donde quisieramos y ejecutemos cuando lo necesitemos.

    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 una carpeta con el mismo nombre del archivo jar  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 .

    Compartir:

    0 comentarios:

    Publicar un comentario

    Hola visitante! deja tu comentario sobre la entrada no spam!