我有一个混淆的Java jar文件,可以在JVM中运行时动态解密。如果没有外部代理,我如何从JVM内存中获取一个简单的类,并创建一个.class
文件?
我已经尝试过使用java.lang.instrument
代理的方法,如下所述:
Retrieving .class files from a running app
导致异常
com.sun.tools.attach.AgentInitializationException:
Agent JAR loaded but agent failed to initialize
at sun.tools.attach.HotSpotVirtualMachine.loadAgent(HotSpotVirtualMachine.java:121)
我正在使用JDK8。
我不知道.class
文件是否只是Class
对象的序列化,我猜不是(它的字节码)。
答案 0 :(得分:0)
try {
InputStream fin = Foo.class.getClassLoader().getResourceAsStream("Foo.class");
Files.copy(fin, Paths.get("./Foo.class"));
} catch (Exception e) {
e.printStackTrace();
}