Android es un sistema operativo que utiliza muchos lenguajes de programación. Los lenguajes más comunes son Java (o Android Java si lo prefiere), C, XML, Bash y algunos más. Las aplicaciones de Android pueden descompilarse mediante 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 nuevamente a Java: Dex2Jar y JAD. Sin embargo, son bastante difíciles de usar y se necesita algo de experiencia para usarlos correctamente. Por suerte, desarrollador reconocido por XDA tabla de cría1337 Creé un script bash simple, que hace todo el trabajo por nosotros. Este script puede obtener todas las dependencias necesarias, así como también obtener el código Java directamente desde APK. Funciona sólo en Linux, pero estoy bastante seguro de que se puede utilizar en sistemas que no sean similares a UNIX, como Windows con Cygwin. El desarrollador recomienda colocar el archivo en ~/bin y hacerlo ejecutable. Más instrucciones están disponibles en el hilo.
A veces los guiones pueden hacer la vida mucho más fácil. Si estás interesado en el proyecto, dirígete al hilo original para obtener más información y aprender cómo convertir código ensamblador a Java.
Nota: Herramientas como esta deben utilizarse con fines educativos. "Tomar prestado" código de aplicaciones (de pago o gratuitas) no es ético y no debería realizarse. Son de código cerrado por una razón. Mantenlo en mente.