我希望能够替换一些类并向已经运行的JVM中添加一些类。我读到我需要使用CreateRemoteThread,但我没有完全理解它。我读过这篇关于如何做它的文章(软件RnD),但我不知道它能做什么以及为什么。除此之外,它只引入新的类,而不改变现有的类。我怎样才能用C++做这件事?
发布于 2017-04-02 03:47:39
您甚至不需要CreateRemoteThread --有一种官方方法可以连接到远程JVM并使用附加API替换加载的类。
MANIFEST.MF属性的Agent-Class,并将代理打包到jar文件中。
pid)。
进口com.sun.tools.attach.VirtualMachine;VirtualMachine vm = VirtualMachine.attach(pid);尝试{ vm.loadAgent(agentJarPath,options);}最后{ vm.detach();}
在文章中有更多的细节。如果您坚持使用C/C++而不是Java,您可以查看我的jattach实用程序。
https://stackoverflow.com/questions/43157989
复制相似问题