2017-04-26 49 views
1

我试图附加并调用方法并编辑从独立java进程运行的java进程中的变量。附加到正在运行的Java进程?

实施例: 过程1具有一个循环,打印一个字符串变量这是私有和在该类中定义。 过程2(启动时)更改字符串消息,然后过程1将继续打印出已更改的变量。

这是更多的我想要一个简单的版本,但如果我能明白这一点,我可以很容易找到剩下的我自己。

谢谢! Erouax

+0

也许看看这个:http://stackoverflow.com/questions/10942427/how-to-have-2-jvms-talk-to-one-another – mdewit

+0

@mdewit不幸的不是我后:/ – Erouax

+0

看看这个:http://stackoverflow.com/questions/22441878/attach-to-already-running-jvm – raven1981

回答

0

只需添加这个,因为我完全忘记了我的问题,当我找到答案。

这是可能的(并且很容易)使用Java代理和使用注射要做的事情,如热点连接API。这是一种非常“可检测”的方法,但仍然有效。如果你希望无论出于什么原因让你的注入更加低调,我建议使用DLL注入来查找你的类,并使用JNI从DLL中调用你的入口方法。这些DLL和注入器非常易于使用,如果您拥有体面的本地知识,甚至可以很容易地完成。