我目前正在为使用BLOAT字节码库的Java反混淆器编写一个功能。
我写的功能是能够从方法签名中删除未使用的参数,并让它更新对该方法的所有引用。
示例:
public class Main {
public void cya() {
helloworld(1, 2, 3, 5);
}
public void helloworld(int a, int b, int c, int d) {
a += 1;
c += 3;
}
}
正如您所见, helloworld 中的参数 b 和 d 从未在方法中使用。因此,它们应该被删除,因为它们是无用的。
我的问题是,使用BLOAT如何删除参数并让它更新对该方法的所有其他引用(比如在eclipse中更改方法签名时删除参数)。
所以结果就是这样:
public class Main {
public void cya() {
helloworld(1, 3);
}
public void helloworld(int a, int c) {
a += 1;
c += 3;
}
}
感谢您的帮助!