Foros del Web » Programación para mayores de 30 ;) » Java »

Como Descompilar las Clases

Estas en el tema de Como Descompilar las Clases en el foro de Java en Foros del Web. Buen dia comunidad, necesito ayuda con el siguiente problema: Tengo una aplicacion web, con Java + Struts + Hibernate. El problema esta en que no ...
  #1 (permalink)  
Antiguo 27/12/2013, 12:02
 
Fecha de Ingreso: septiembre-2010
Mensajes: 91
Antigüedad: 13 años, 7 meses
Puntos: 9
Pregunta Como Descompilar las Clases

Buen dia comunidad, necesito ayuda con el siguiente problema:

Tengo una aplicacion web, con Java + Struts + Hibernate.
El problema esta en que no soy el creador de la aplicacion, y necesito modificarla, pero solo tengo las clases precompiladas (.class), pero para poder hacer cualquier modificacion necesito las .java

Alguien aca sabe como descompilarlas y que queden bien? Trate usando el DJ Java Decompiler, pero no quedaron bien, ponia return donde no iban y bloques de codigo sin llaves, ademas que siempre me ponia partes con MISSING EXPRESSION.

Si me pueden ayudar se los agradecere sinceramente, porque no encuentro como hacer y ya estoy sobre tiempo

De antemano, muchas gracias.
  #2 (permalink)  
Antiguo 27/12/2013, 12:19
 
Fecha de Ingreso: mayo-2010
Mensajes: 21
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: Como Descompilar las Clases

El JDK viene ya con un desensamblador, el Java Class File Disassembler (javap).

Para desensamblar una clase:
Código consola:
Ver original
  1. javap clase (sin .class)

Puedes encontrar toda la documentación en:
http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/javap.html

Última edición por ddmlls; 27/12/2013 a las 12:23 Razón: Enlace corrupto
  #3 (permalink)  
Antiguo 02/01/2014, 02:27
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Como Descompilar las Clases

Aún así está muy limitado.

Eso solo muestra el interior básico de la clase, pero no el contenido de cada método.

Si lo intentas recuperar con javap -c -verbose clase se puede ver internamente el contenido de los métodos, pero desglosado en llamadas en bytecode.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: clase, clases
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:38.