我正在尝试使用 ByteBuddy 附加到我的计算机上运行的正在运行的进程。我希望在我附加到正在运行的程序时,我的代理将导致重新加载加载的类并显示我的 Transformer 的打印语句。
相反,当我停止正在附加的正在运行的进程时,会发生一些来自我的 Transformer 的打印语句,用于某些 JDK 类。
代码贴在下面:
import net.bytebuddy.ByteBuddy;
import net.bytebuddy.agent.ByteBuddyAgent;
import net.bytebuddy.dynamic.loading.ClassReloadingStrategy;
import net.bytebuddy.implementation.FixedValue;
import java.io.*;
import static net.bytebuddy.matcher.ElementMatchers.named;
public class Thief {
public static void main(String[] args) throws Throwable {
String pid = "86476"; // <-- modify this to attach to any java process running on your computer
System.out.println(new Thief().guessSecurityCode(pid));
}
public String guessSecurityCode(final String pid) throws Throwable {
File jarFile = createAgent();
ByteBuddyAgent.attach(jarFile, pid);
return "0000";
}
蝴蝶不菲
相关分类