Android es un sistema operativo que utiliza muchos lenguajes de programación. Los lenguajes más comunes son Java (o Android Java, si lo prefieres), C, XML, Bash y algunos más. Las aplicaciones de Android se pueden descompilar con APKTool y algunas herramientas similares, y su salida es Smali. Sé que muchos de ustedes no estarán de acuerdo conmigo, pero Smali es un lenguaje bastante complicado, mucho más que Java.

Hay dos herramientas que pueden convertir Smali de nuevo a Java: Dex2Jar y JAD. Sin embargo, son bastante difíciles de usar y se necesita algo de experiencia para usarlas correctamente. Afortunadamente, el desarrollador reconocido por XDAbroodplank1337creó un script bash simple que hace todo el trabajo por nosotros. Este script puede obtener todas las dependencias necesarias, así como el código Java directamente desde APK. Funciona solo en Linux, pero estoy bastante seguro de que se puede usar en sistemas que no sean UNIX como Windows con Cygwin. El desarrollador recomienda que coloques el archivo en ~/bin y lo hagas ejecutable. Hay más instrucciones disponibles en el hilo.

A veces, los scripts pueden hacer la vida mucho más sencilla. Si te interesa el proyecto, visita elhilo originalpara obtener más información y aprender a convertir código ensamblador en Java.

Nota: herramientas como esta deben utilizarse con fines educativos. "Tomar prestado" código de aplicaciones (pagas o gratuitas) es poco ético y no debería realizarse. Son de código cerrado por alguna razón. Téngalo en cuenta.