0

我有一个需要更改应用程序类的代理,因为我使用的是 Attach API + Javassit。首先我尝试使用:

Class.forName("net.minecraft.client.multiplayer.PlayerControllerMP");

但是我收到一个异常,说找不到该类。

            for (Class<?> c : instrumentation.getAllLoadedClasses()) {
                if (c.getName().equals("net.minecraft.client.multiplayer.PlayerControllerMP"))
                    playerControllerClazz = c;
            }

要将类添加到 Javassist 路径,我使用了以下代码:

ClassPool.getDefault().appendClassPath(new LoaderClassPath(playerControllerClazz.getClassLoader()));

我从 Javassist 得到了一个名为 NotFoundException 的异常。有过迭代所有通过ClassLoader加载的类的想法

playerControllerClazz.getClassLoader();

使用此代码:

            for (Class<?> c : instrumentation.getInitiatedClasses(playerControllerClazz.getClassLoader())) {
                System.out.println("Class: " + c.getName());
            }

我检查了输出中的所有行,但没有找到 net.minecraft.client.multiplayer.PlayerControllerMP 类。

我哪里错了或发生了什么?

4

0 回答 0