gpt4 book ai didi

Java 代理、检测和数组创建

转载 作者:行者123 更新时间:2023-12-04 06:38:22 31 4
gpt4 key购买 nike

我需要为我的 java 应用程序编写一个代理,它在每个数组创建时执行一些特定的操作。到目前为止,我无法找到在此事件上运行我的代码的任何方法。

  • java.lang.instrument.ClassFileTransformer 没有获得“数组类”,因此无法 Hook “数组的构造函数”。和“数组类永远不可修改”
  • 没有 JVMTI 事件对应于此

  • 有什么建议?

    最佳答案

    为此,您需要修改应用程序的字节码。我找到了 ObjectWeb ASM成为工作的最佳工具。总体思路是:

  • 创建一个 JVMTI 代理来拦截您感兴趣的类。
  • 将要检测的类传递给 ASM 类转换器。
  • 在类转换器中,您可以拦截与构造数组相关的 Java 操作码,例如ANEWARRAY(有关更多信息,请参阅 JVM spec)。
  • 关于Java 代理、检测和数组创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4593442/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com