0

我正在为一个被严重混淆的应用程序开发一个反混淆器。为了简化代码,我想删除很多冗余方法。不幸的是,我没有足够的 asm 和字节码知识来做到这一点,有人可以告诉我如何使用 asm 来检查被调用的方法吗?

4

1 回答 1

1

收集类调用的方法列表很简单。如果您使用的是 ASM sax api,那么只需覆盖

public void visitMethodInsn(int opcode, String owner, String name, String desc)

并收集方法名称、所有者和签名。

如果您使用树 api,则可以从 MethodInsnNodes 获得相同的信息。

生成一个类声明/定义的方法列表同样很简单——每个方法都会导致调用 visitMethod 或树 api 中的方法节点。

于 2013-08-19T13:44:30.357 回答