Estoy trabajando con una gran aplicación web Java de un proveedor comercial. Recibí un parche del proveedor en la forma de un nuevo archivo .class que se supone que resuelve un problema que tenemos con el software. En el pasado, la aplicación de parches de este proveedor ha provocado la aparición de problemas nuevos y completamente independientes, por lo que quiero entender el cambio que se realiza incluso antes de aplicarlo a una instancia de prueba.Encontrar diferencias entre las versiones de un archivo de clase Java
Tengo los dos archivos .class uno al lado del otro, el que se extrae de la versión actualmente en ejecución y el actualizado del proveedor. JAD y JReversePro tanto descompilar y desmontar (respectivamente) las dos versiones a la misma salida. Sin embargo, los archivos .class son de diferentes tamaños y veo diferencias en la salida de od -x
, por lo que definitivamente no son idénticos.
¿Qué otros pasos podría tomar para determinar la diferencia entre los dos archivos?
Conclusión:
Gracias por las grandes respuestas. Como la salida javap -c
también es idéntica para los dos archivos de clase, concluiré que Davr tiene razón y el proveedor me envió un placebo. Mientras estoy aceptando la respuesta de Davr por esa razón, fueron Chris Marshall y John Meagher quienes nos pasaron a javap, así que gracias a ustedes tres.