我有一个Kitchen.jar
文件。我需要修改其中的一个类。我用JD反编译它。然后我修改Toster.java
文件并编译它:
javac -classpath . Toster.java
然后我把它带回Kitchen.jar
:
jar -uf Kitchen.jar Toster.class
除一个问题外,所有工作。Kitchen.jar
当我在JD中打开更新时,我看到所有方法中的局部变量都重命名为localLongVar
. 为什么?
我问的原因是因为Kitchen.jar
修改后拒绝工作。而且我怀疑它必须是编译问题。也许我滥用了一些标志或任何东西。没有把握。除了基本语法外,我对Java一无所知。
我的猜测是我用最新的 1.7 版本编译它,而原始 jar 是用旧的 JDK 编译的。这可能解释了操作失败,但这并不能解释本地人的重命名。
例子
原始 jar 中的随机行:
BigInteger[] result = new BigInteger[bis.length / 2];
和我班的同一行:
BigInteger[] arrayOfBigInteger1 = new BigInteger[paramArrayOfBigInteger.length * 2];
所以它result
与arrayOfBigInteger1
.