我正在为一个被严重混淆的应用程序开发一个去模糊器。为了简化代码,我想删除很多多余的方法。不幸的是,我没有足够的asm和字节码的知识来做到这一点,谁能告诉我如何使用asm来检查被调用的方法?
发布于 2013-08-19 21:44:30
收集类调用的方法列表非常简单。如果您使用的是ASM sax api,那么只需重写
public void visitMethodInsn(int opcode, String owner, String name, String desc)并收集方法名称、所有者和签名。
如果您使用tree api,则可以从MethodInsnNodes获得相同的信息。
生成一个类声明/定义的方法列表也很简单--每个方法都会导致调用visitMethod或tree api中的一个方法节点。
https://stackoverflow.com/questions/18304396
复制相似问题