CD's second night

java9后如何实现self-attch

type
status
date
slug
summary
tags
category
icon
password
允许自我附加(Attach Self):在Java 9及之后的版本中,默认情况下不允许进程自我附加,代码通过修改JVM内部标志位来绕过这一限制。 Permit.godMode(); Field AttachSelfEnabledFlag = Class.forName("sun.tools.attach.HotSpotVirtualMachine").getDeclaredField("ALLOW_ATTACH_SELF");
 
该方法修改JVM内部的ALLOW_ATTACH_SELF标志位,允许进程自我附加。
  • Permit.godMode():使用Permit库绕过Java访问控制。
  • 反射操作
    • 通过反射获取HotSpotVirtualMachine类中的ALLOW_ATTACH_SELF字段。
    • 通过MethodHandles和反射机制,动态修改该字段的修饰符,移除final标志位。
    • ALLOW_ATTACH_SELF字段设置为true,允许自我附加。
    •  
Loading...