为什么需要这个,因为在之前的博文中提到,为了增加逆向的难度,部分软件会对部分关键方法和类进行隐藏,所以我们需要把这个类从内存中拿出来。
本文介绍使用javaagent的方法,下一篇介绍dumpclass,两种方法各有利弊。
本文需要用到第三方jar为:javassist-3.20.0-GA.jar,不过我们需要的是它的源码javassist-3.20.0-GA-sources.jar
新建名为DumpClassAgent的项目,项目结构如下
将下载到的源码复制到src目录下
DumpClassAgent.java文件内容package com.vvvtimes.demo.agent;
import java.lang.instrument.Instrumentation;
public class DumpClassAgent {
public static void premain(String agentOps, Instrumentation inst) {
try {
inst.addTransformer(new DumpClassTransformer());
} catch (Exception e) {
e.printStackTrace();
}
}
}
DumpClassTransformer.jav