在最新的sun jre中更改/在bootclassloader中加载的仪器类的任何方法

Ben*_* Xu 6 java

需要:我们需要在plugin.jar中破解一个类,详细地说,改变一个类的非静态方法的详细实现.与最新的jre一样,-Xbootclasspath/p不起作用,只有-Xbootclasspath/a有效.我们也不想改变整个jre.

我们知道我们的最后一个解决方案是直接更改plugin.jar文件.但是想知道是否有更好的解决方案,不需要直接更改jar文件.

例如,不知道JVMTI或JVMPI之类的东西是否有效?或者以某种方式改变JVM的实现方式?

wrm*_*wrm 5

取决于你的类,但你可以使用javaagent注入一个自定义的ClassFileTransformer来加载一个不同的类,如果查询...(简单的javaagents 示例).但这只有作用,如果之前没有加载类......