[发明专利]一种字节码插桩方法在审
申请号: | 201910794489.7 | 申请日: | 2019-08-27 |
公开(公告)号: | CN110597515A | 公开(公告)日: | 2019-12-20 |
发明(设计)人: | 张福军;陆昕;鲍碧波;蒋如超;李祥兵 | 申请(专利权)人: | 绿漫科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F11/30 |
代理公司: | 33230 杭州赛科专利代理事务所(普通合伙) | 代理人: | 付建中 |
地址: | 310012 浙江省杭州市西湖区*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 字节码 字节流 插桩 文件生成 写回 耗时 返回 监控 | ||
1.一种字节码插桩方法,其特征在于:其步骤为:
(1)通过ASM生成ClassVisitor接口;
(2)在字节码内生成toByteArray()函数;
(3)返回生成的字节码的字节流;
(4)将字节流写回文件生成调整后的class文件。
2.根据权利要求1所述的一种字节码插桩方法,其特征在于:class文件为Java类框架文件。
3.根据权利要求2所述的一种字节码插桩方法,其特征在于:Java类文件是8位字节的二进制流,数据项按顺序存储在class文件中,相邻的项之间没有间隔。
4.根据权利要求3所述的一种字节码插桩方法,其特征在于:Java类文件的项包括有Magic、Version、Constant Pool、Access_flag、This Class、Super Class、Interfaces、Fields、Methods、Class attributes。
5.根据权利要求4所述的一种字节码插桩方法,其特征在于:Magic用于存放一个Java类文件的魔数和版本信息,
Version用于存放Java类文件的版本信息。
6.根据权利要求4所述的一种字节码插桩方法,其特征在于:Constant Pool用于存放类中各种文字字符串、类名、方法名和接口名称、final变量以及对外部类的引用信息,
Access_flag用于指明文件中定义的是类后者接口,同时指名类或接口的访问标志。
7.根据权利要求4所述的一种字节码插桩方法,其特征在于:This Class用于指向表示该类全限定名称的字符串常量的指针,
Super Class用于指向表示父类全限定名称的字符串常量的指针,
Interfaces为一个指针数组,存放了该类或父类实现的所有接口名称的字符串常量的指针。
8.根据权利要求6所述的一种字节码插桩方法,其特征在于:Fields用于对类或接口中声明的字段进行细致的描述,
Methods同于对类或接口中声明的方法进行细致的描述,
Class attributes用于存放在该文件中类或接口所定义的属性的基本信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于绿漫科技有限公司,未经绿漫科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910794489.7/1.html,转载请声明来源钻瓜专利网。