Java BLOAT删除参数?

时间:2015-06-09 09:37:32

标签: java bytecode deobfuscation

我目前正在为使用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;
    }
}

感谢您的帮助!

0 个答案:

没有答案