我正在查看一个混淆的应用程序,该应用程序似乎有很多我想要重新排列或删除的 GOTO
问题是,我该怎么做呢?
for(final MethodNode mn : classNode.methods) {
final BIF is = new BIF(mn); //BIF is my bytecode instruction finder
AbstractInsnNode ain;
while ((ain = is.next()) != null) {
if (ain instanceof JumpInsnNode && ain.getOpcode() == GOTO) {
final JumpInsnNode jump = (JumpInsnNode) ain;
mn.instructions.remove(jump);
removed++;
}
}
}
所以我尝试将它们全部删除,但它似乎不起作用,我不知道如何重新排列它们