6

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

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

例如,不知道 JVMTI 或 JVMPI 之类的东西是否会起作用?或者以某种简单的方式改变JVM的实现?

4

1 回答 1

5

取决于你的类,但你可能会使用javaagent来注入一个自定义 ClassFileTransformer,如果被查询,它会加载一个不同的类......(javaagents 上的简单示例)。但这仅适用于之前未加载该类的情况...

于 2013-04-08T10:18:11.050 回答