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

Decompilar .class a .java

Estas en el tema de Decompilar .class a .java en el foro de Java en Foros del Web. Hola nuevamente, estoy sufriendo con este tema, resulta que no tenemos el fuente de una aplicación y es necesario decompilar las clases para obtener sus ...
  #1 (permalink)  
Antiguo 29/05/2012, 14:23
 
Fecha de Ingreso: noviembre-2006
Ubicación: Pasto
Mensajes: 154
Antigüedad: 17 años, 4 meses
Puntos: 1
Exclamación Decompilar .class a .java

Hola nuevamente, estoy sufriendo con este tema, resulta que no tenemos el fuente de una aplicación y es necesario decompilar las clases para obtener sus .java. Estoy usando el DJ Java Decompiler el cual parece que trabaja sin problemas.

El problema es que no tengo muy claro de que forma debo reconstruir la aplicacion, es decir:

1. Tengo las paginas .jsp
2. Cuando decompile todos los .class tendre sus respectivos .java


Como debo armar la aplicacion, me dicen que debo reconstruirla y si se hace bien tendre el fuente de esta sin problemas. Como se cual es la estructura de las carpetas y que contiene cada una de ellas? Espero alguien pueda ayudarme y si tiene algun manual de como hacerlo mucho mejor.

Mil gracias! espero haber expresado mis dudas con claridad.
  #2 (permalink)  
Antiguo 29/05/2012, 16:13
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Decompilar .class a .java

¿Cuánto sabes de java?

La ubicación de las clases siguen la estructura de los paquetes, y por ser una aplicación web, la estructura general será la de cualquier proyecto web.

De todas formas, por lo que he leído de tus otros mensajes, tú no necesitas montar de nuevo la aplicación, lo que necesitas es ver el código de una clase en concreto (puede que alguna más) para saber qué es lo que te falta que hace que te dé una excepción.

Tienes los class, quieres obtener los java, para volver a compilar los class
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 29/05/2012, 16:35
 
Fecha de Ingreso: noviembre-2006
Ubicación: Pasto
Mensajes: 154
Antigüedad: 17 años, 4 meses
Puntos: 1
Exclamación Respuesta: Decompilar .class a .java

Te cuento un poco, trabaje en java hace mucho tiempo y lo que recuerdo es muy poco, asi que mis conocimientos en este lenguaje son casi nulos.

En estos momentos ya decompile todas las clases y los guarde como .java. Ahora necesito unir esas clases .java con los .jsp y tener la posibilidad de generar nuevamente la aplicacion y tener su codigo fuente a la vez ya que es muy probable que sea necesario modificar algunas partes de la aplicacion.

Tengo la base de datos, tengo las clases, tengo las paginas .jsp, tomcat esta configurado, el IDE que uso es Eclipse.

Quiero unir todo esto para poder trabajar y poder generar y depurar esta aplicacion en cualquier momento.

Que debo hacer para ir agregando las clases y los jsp a un proyecto java?

Gracias!
  #4 (permalink)  
Antiguo 30/05/2012, 02:29
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Decompilar .class a .java

La estructura total de la aplicación dependerá del IDE que estés usando.

Lo que va a ser común es la estructura de los .java

Cita:
com.applexperts.sgp.DBManager.getPrepareStatement( DBManager.java:93)
Dentro de la carpeta de fuentes (en eclipse src)

..src/com/applexperts/sgp/DBManager.java

Las JSP algo parecido, salvo que en la parte destinada a contenido Web de tu proyecto.

Tienes que buscar un tutorial de cómo crear una aplicación web sencilla en tu IDE y guiarte por él.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #5 (permalink)  
Antiguo 30/05/2012, 08:54
 
Fecha de Ingreso: noviembre-2006
Ubicación: Pasto
Mensajes: 154
Antigüedad: 17 años, 4 meses
Puntos: 1
Exclamación Respuesta: Decompilar .class a .java

Muchas gracias, ahora entiendo un poco mas de como es la estructura de los paquetes y sus clases.

En cada clase esta la siguiente linea:

package com.applexperts.sgp;

Quiere decir que esta es la estructura de las carpetas, ya cree este paquete y he importado todas las clases decompiladas que obtuve.

No se si es porque tengo una version distinta de Eclipse (No estoy seguro en que version fue desarrollada esta clase) pero me marca demasiados errores. Como se si una clase es en realidad una interface? Hay alguna linea de codigo que me diga esto?

Gracias.

Edito: Acabo de ver un import el cual me esta marcando error:
import javax.servlet.ServletException;
import javax.servlet.http.*;

Es necesario instalar algo adicional para que reconosca este import? Tal vez por esto me marca los otros errores.

Última edición por luise32; 30/05/2012 a las 08:58 Razón: Agregar informacion al comentario.
  #6 (permalink)  
Antiguo 30/05/2012, 10:41
 
Fecha de Ingreso: noviembre-2006
Ubicación: Pasto
Mensajes: 154
Antigüedad: 17 años, 4 meses
Puntos: 1
Exclamación Respuesta: Decompilar .class a .java

Acabo de solucionar algunos de los errores, era por que no estaban presentes ciertas librerias que eran necesarias. Asi que las agregue al proyecto, ambas estaban en la carpeta lib de tomcat.

los jar que tuve importar son:

- servlet-api.jar
- jsp-api.jar

Estoy tratando de resolver otros errores poco a poco, siguen siendo muchos pero hay uno que se repite en casi todas las clases que decompile. Voy a copiar el codigo para hacerme entender:

Código PHP:

if(result.isEmpty())
            
result "1";
        
result;
        if(
con != null)
            
con.close();
        return 
s;
        
SQLException e;
        
e;
        
e.printStackTrace();
        if(
con != null)
            
con.close();
        break 
MISSING_BLOCK_LABEL_147;
        
Exception exception;
        
exception
Aqui me marca dos errores:

1. e; esta linea de codigo no dice mucho, no se que opinen ustedes.
2. exception;

El error que me informa Eclipse dice asi: Syntax error, insert "AssignmentOperator Expression" to complete Expression

Esta mal decompilada la clase? Ustedes que opinan.
  #7 (permalink)  
Antiguo 30/05/2012, 12:31
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Decompilar .class a .java

Buenas,

Los decompiladores no son perfectos y tienen fallos al decompilar. En ese caso, el código original estaría capturando varias excepciones con try catch (que el decompilador no es capaz de decompilar correctamente).

Tendrás que ver según el contexto, que excepciones debes capturar.

Saludos.
  #8 (permalink)  
Antiguo 30/05/2012, 16:35
 
Fecha de Ingreso: noviembre-2006
Ubicación: Pasto
Mensajes: 154
Antigüedad: 17 años, 4 meses
Puntos: 1
Respuesta: Decompilar .class a .java

Malas noticias! Trate de todas las formas posibles pero no fui capaz de rearmar la aplicacion. Les agradezco a todos por su ayuda. Estamos pensando volver a crear la aplicacion desde ceros :)

Hasta la proxima!

Etiquetas: clase, class, jsp, aplicaciones
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 12:13.