将类注入 JVM 并与现有类交互

发布于 2024-10-11 07:30:48 字数 328 浏览 5 评论 0原文

我想将我的 Java 类注入到 Windows 上现有的 Java 应用程序中。

我发现一篇文章描述了使用 CreateRemoteThread 的方法 - java-code-injection-via-winapis

但尚不清楚注入的类是否可以与现有类“连接”并调用它们。

有人知道这是否可能吗? JNI 中是否有可用于搜索和获取已运行类的引用的函数?

I want to inject my Java class into an existing Java application, on Windows.

I found an article describing a method using CreateRemoteThread - java-code-injection-via-winapis

But it's not clear if the injected class can 'connect' with the existing classes and call them.

Does anybody know if this is possible? Are there functions in the JNI which can be used to search and get a reference to already running classes?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

油焖大侠 2024-10-18 07:30:48

我确信还有其他复杂的方法可以完成您想做的事情(例如使用java Instrumentation api)。然而,可能有一种更简单的方法。

  1. 找到应用程序的主类,
  2. 将该类反编译为java代码。
  3. 添加一个简单的钩子来调用您的自定义代码(或以其他方式修改此类以满足您的需要)
  4. 重新编译修改后的类并替换相关 jar 中的类文件
  5. 运行您修改后的应用程序!

i'm sure there are other complicated ways to do what you want to do (e.g. using the java instrumentation apis). however, there is probably a much easier way.

  1. find the class which is the main class for the application
  2. decompile the class into java code.
  3. add a simple hook to invoke your custom code (or otherwise modify this class to suit your needs)
  4. recompile the modified class and replace the class file in the relevant jar
  5. run your modified application!
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文