Decompile JavaEE

We have a Java EE application that the provider no longer exists (due to bankruptcy). Unfortunately, we have to make some changes to the functionality of the application, which means reverse engineering the JavaEE application.

We use the JD-GUI to reverse engineer about 70% of applications / classes, and then manually configure them to create in Eclipse.

However, leftovers are not so easy to build because they are produced by code generators? What tools can I use for future use?

Edit:

This is one example of a difficulty:

return ((SchemaTypeSystem)Class.forName(
    "org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl",
    true,
    class$schema$system$s322D2AAD7A06BA82525CDB874D86D59A$TypeSystemHolder.getClassLoader())
        .getConstructor(new Class[] { Class.class })
        .newInstance(new Object[] { TypeSystemHolder.class }));

I don’t know what is

class$schema$system$s322D2AAD7A06BA82525CDB874D86D59A$TypeSystemHolder.getClassLoader())
+3
source share
2 answers

JAD (http://www.varaneckas.com/jad).

, , :

1) Class class$schema$system$s322D2AAD7A06BA82525CDB874D86D59A$TypeSystemHolder;
2) ClassLoader loader = class$schema$system$s322D2AAD7A06BA82525CDB874D86D59A$TypeSystemHolder.getClassLoader();
3) Class type = Class.forName("org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl", true, loader);
4) Constructor ctor = type.getConstructor(Class.class);
5) Object obj = ctor.newInstance(TypeSystemHolder.class);
6) SchemaTypeSystem result = (SchemaTypeSystem) obj;
7) return result;

1, (, ). Java "TypeSystemHolder.class" getClass, . , "TypeSystemHolder.class" , callsite, , .

"TypeSystemHolder.class" , JAD . , , JAD ( ) Eclipse (http://jadclipse.sourceforge.net).

, , , . , Java , . catch. goto, ( Java), .

, , . , XmlBeans, xn XML Schema Java; XML-, . , XmlBeans .

+4

soot. Java, . , .

, , .

0

Source: https://habr.com/ru/post/1730177/


All Articles