如何从Java程序的内存中清除字符串?

时间:2017-09-10 18:20:29

标签: java jvm

我正在尝试学习JVM附加。我已经学会了如何将代理连接到JVM,这一切都运行正常。我的问题是,是否可以在附加后从目标的内存中删除字符串?如果使用Process Hacker 2搜索.jar,则可以在内存中找到其路径。例: In this screenshot there are alot of strings left in the memory

我见过类似的程序,比如LSquad(这是一个用于清除Minecraft hacks字符串的程序)。我尝试使用Luyten反编译它,我看到它使用外部DLL。你能用原生java做,还是需要外部库?

1 个答案:

答案 0 :(得分:1)

您可以通过不再引用该字符串来删除字符串或任何对象(并执行GC,最有可能需要完整的GC)

在您的情况下,突出显示的字符串是一个jar,很可能您需要卸载该DLL以释放它。 (我不知道你是否会在JVM中这样做,或者你将如何做到这一点)