所以这是我的情况:我有一个.jar文件,其中有2个.class文件,都是从我无权访问的库中导入的(该库是专有的,并且某种程度上是隐藏的,因此无法获取)。

现在,我想更改这些.class文件的实现。反编译是没有问题的,但是由于我没有库,因此代码取决于我无法编译。我听说过为缺少的方法创建“存根”,但是我对Java不够了解,无法弄清楚在这种情况下如何创建这样的存根(如果可能的话,朝着正确方向的一些指针将不胜感激)。

有什么办法可以使修改后的文件得以编译?喜欢强迫编译器忽略缺少的方法吗?还是我唯一的选择类似于Java Bytecode Editor

最佳答案

如果反编译类使用一些缺少的依赖关系,例如

class X {
  void x() {
      y.Y y = new y.Y();
      y.y();
  }
}


您应该为此创建一个存根

package y;
public class Y {
    public void y() {
    }
}

07-24 18:25
查看更多