首页 / JAVA / 本机java字节码检测
本机java字节码检测
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了本机java字节码检测,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含893字,纯文字阅读大概需要2分钟。
内容图文
![本机java字节码检测](/upload/InfoBanner/zyjiaocheng/802/c3ddf1fa0ffc429b811ce24be222cab6.jpg)
对于java中的字节码检测,有asm框架和bcel和javaassist库.
但是我需要在本机代码中进行检测,因为javaagent运行时已经加载了一些java类,例如java.lang.Thread,java.lang.Class等.
是否有任何库用于在本机代码中检测java类?
编辑:
似乎有点混乱.
我想要的是:
创建一个本机java代理,它使用JVMTI apis在加载类时使用OnClassLoad事件挂钩更改类的字节码.
解决方法:
我在博士研究期间遇到了这个问题.对我来说最有效的答案是使用java库(我使用ASM)在单独的JVM中执行字节码修改.
我使用JVMTI类加载挂钩来捕获类文件,并使用tcp连接将其传输到单独的JVM.在单独的JVM中修改了类后,我将其返回给JVMTI代理,后者将其复制到VM内存中,并将指向修改后的类文件的指针返回给JVM.
我发现在同一个JVM中编写类很难被分析,因为我想要修改的系统类文件(例如java.lang.Object)必须在我需要执行编织的任何类文件之前加载.在确定我最终使用的单独JVM方法之前,我没有成功地搜索c / c字节码库.
您可以使用weaver JVM的主机名/端口参数化JVMTI代理,也可以使用某种形式的发现,具体取决于您的要求.
内容总结
以上是互联网集市为您收集整理的本机java字节码检测全部内容,希望文章能够帮你解决本机java字节码检测所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。