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

时间:2011-01-09 23:55:53

标签: java windows java-native-interface code-injection

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

我发现了一篇描述使用CreateRemoteThread - java-code-injection-via-winapis

的方法的文章

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

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

1 个答案:

答案 0 :(得分:2)

我确信还有其他复杂的方法可以做你想做的事情(例如使用java instrumentation apis)。但是,可能有一种更简单的方法。

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