G.Bordel >Docencia >TAP | Técnicas Actuales de Programación | (curso 2010-2011) | |||||||
|
|||||||||
tema_anterior | Tema 2: Uso del entorno de desarrollo | tema_siguiente |
|
2.5- Desensamblado y decompilación
javap
.
En la siguiente ventrana puede verse el resultado de aplicar el desensamblador a una de las clases de la aplicación
SKTLSSJapp
que ya se ha utilizado antes como ejemplo.
Resultado de "javap -c SKTLSS.Vocabulary" .
|
Esta utilidad puede ser fundamental para quienes esten implicados en aspectos relacionados con
los compiladores o con el funcionamiento de la máquina virtual (en combinación con el debugger jdb
).
Tambien es de interés en actividades de ingeniería inversa, aunque para estos casos es digno de mención el hecho
de que una clase se puede no solo "desensamblar" sino que incluso puede "decompilarse". Aunque parezca extraño, es posible
pasar del programa compilado al fuente gracias a las capacidades de "introspección" que tienen las clases en Java. El resultado
de la decompilación será semejante al programa fuente excepto en cuestiones de formato y en la ausencia de cometarios.
Con el kit de desarrollo de Java no se proporciona ningún decompilador, pero es facil encontrar varios
en Internet. A continuación se muestra el resultado de aplicar uno de ellos a la clase AN1
usada anteriormente como ejemplo.
Original | Decompilada |
Código original de una clase y versión obtenida por "decompilación" . |
Siguiente Tema: 3- Elementos básicos del lenguaje
Plataforma de soporte a curso y contenidos (c) German Bordel 2005. |