Decompiladores de Java online

Si te encuentras en la necesidad, por el motivo que sea, de tener que acceder al código fuente de una aplicación Java y obviamente no tienes acceso al mismo, la mejor opción en la mayoría de los casos es usar un decompilador. Por la naturaleza de la arquitectura del lenguaje Java, a menos que la aplicación que tenemos entre manos haya sido ofuscada, el resultado de la decompilación suele ser bastante precisa, con quizás algunas excepciones.
Leer más

Dalvik VM: Ficheros .dex

En esta entrada vamos a hablar de la estructura interna de los ficheros .dex. Lo primero, decir que, los ficheros .dex se encuentran empaquetados dentro los archivos .apk (Android Package). A continuación podemos ver una imagen con la estructura interna de estos ficheros:

dex_structure

Como podemos apreciar, un fichero .dex esta divido en distintas secciones llamadas “pools”. El pool de strings contiene todos los Strings que las clases dentro del .dex usan. En pool de tipos (type_ids) se guardan los distintos tipos datos usados en la aplicación, etc. Además de las secciones mostradas en la imagen, en la estructura actual de los ficheros dex existe una sección más por debajo de la de datos (data) llamada link_data o enlace de datos. En este momento dicha sección no está documentada. Todo lo que dice la documentación oficial es que en ella se guarda información sobre los ficheros enlazados estáticamente. Si el fichero no es enlazado esta sección permanece vacía y dicha documentación concluye diciendo que dicha sección se use como mejor se adecue a nuestra implementación.

Veamos la estructura de cada sección.


Leer más

Jabaco

Jabaco es un lenguaje de programación orientado a objetos con una sintaxias muy parecida a Visual Basic 6. Hasta nada nuevo y mucho os preguntaréis que para que queremos otro VB, aunque según la web oficial, éste orientado a objetos. La peculiaridad de este lenguaje / compilador, es que genera código bytecode para una máquina virtual de Java. Los requerimientos son: • JRE 1.4.2 o superior. • Windows XP o mejor (traducción literal.
Leer más