【发布时间】:2017-09-11 02:23:03
【问题描述】:
我正在尝试学习 JVM 附加。我已经学会了如何将代理附加到 JVM,并且一切正常。我的问题是,附加后是否可以从目标内存中删除字符串?如果您使用 Process Hacker 2 搜索 .jar,您可以在内存中找到它的路径。例子:
我见过做类似事情的程序,比如 LSquad(这是一个用于清除 Minecraft hacks 字符串的程序)。我尝试使用 Luyten 对其进行反编译,发现它使用了外部 DLL。可以用原生java做吗,还是需要外部库?
【问题讨论】:
-
您可以通过不再引用该字符串来删除该字符串(并执行 GC,很可能需要完整的 GC)
-
@PeterLawrey:但你怎么知道它也已从字符串池中删除/gc'd?
-
会在代理帮助中执行 System.gc() 吗?
-
@HovercraftFullOfEels 进行堆转储并查找字符串。
-
对敏感数据使用 char 数组。