【问题标题】:Attach to a running Java process?附加到正在运行的 Java 进程?
【发布时间】:2017-04-26 08:47:30
【问题描述】:

我正在尝试从一个单独的 java 进程运行的 java 进程中附加和调用方法并编辑变量。

示例: 进程 1 有一个循环,它打印一个在类中定义的私有字符串变量。 进程 2(启动时),更改字符串消息,然后进程 1 将继续打印出更改的变量。

这更像是我正在尝试的一个简单版本,但如果我能弄清楚,我可以自己轻松找出其余部分。

谢谢! 埃鲁阿克斯

【问题讨论】:

标签: java reflection code-injection inject


【解决方案1】:

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

使用 Java 代理并使用诸如 Hotspot Attach API 之类的东西进行注入是可能的(而且非常容易)。这是一种非常“可检测”的方法,但仍然有效。如果您出于某种原因希望使您的注入更加低调,我建议使用 DLL 注入来插入您的类并使用 JNI 从 DLL 调用您的入口方法。这些 DLL 和注入器很容易获得,如果您具备良好的本地知识,甚至很容易制作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-02
    • 2018-02-19
    • 2015-06-06
    • 2012-02-01
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多