ByteBuddy를 사용하여 String.class 또는 Integer.class와 같은 java.lang 패키지의 클래스를 재정의하려고했지만 성공하지 못했습니다. 그게 가능하다면 제 질문이 있습니까?ByteBuddy를 사용하여 java.lang 클래스 다시 정의
[Byte Buddy] IGNORE [[Ljava.lang.String; [null, null]
[Byte Buddy] COMPLETE [[Ljava.lang.String; [null, null]
않습니다
public static void premain(String agentArgs, Instrumentation inst) {
new AgentBuilder.Default()
.type(named("java.lang.String"))
.transform((builder, typeDescription, classLoader) ->
builder.method(named("toString"))
.intercept(FixedValue.value("toString() got hacked!")))
.with(AgentBuilder.Listener.StreamWriting.toSystemOut())
.with(AgentBuilder.RedefinitionStrategy.REDEFINITION)
.with(AgentBuilder.TypeStrategy.Default.REDEFINE)
.installOn(inst);
}
나는 로그의 출력과 제가 String 클래스에 대한 참조입니다 확인하는 경우 :
이
내가 내 자바 에이전트에 노력하고있어 코드 이것은 ByteBuddy가 String 클래스를 재정의하지 않는다는 것을 의미합니까? 그게 가능한가?감사합니다.