[发明专利]一种代码重定向方法、装置、设备及计算机可读存储介质在审

专利信息
申请号: 202210963202.0 申请日: 2022-08-11
公开(公告)号: CN115373681A 公开(公告)日: 2022-11-22
发明(设计)人: 贾宏祥;万振华;王颉;李华;董燕 申请(专利权)人: 深圳开源互联网安全技术有限公司
主分类号: G06F8/41 分类号: G06F8/41;G06F11/36
代理公司: 深圳市恒申知识产权事务所(普通合伙) 44312 代理人: 廖厚琪
地址: 518100 广东省深圳市龙华区民治*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 代码 定向 方法 装置 设备 计算机 可读 存储 介质
【权利要求书】:

1.一种代码重定向方法,其特征在于,包括:

将针对初始方法的重定向需求所确定的重定向方法,编译成动态链接库文件;其中,所述重定向方法为用户自定义的包装方法;

在JIT编译器对所述初始方法的CIL代码进行编译之前,采用程序集中待调用方法的CIL代码对所述初始方法的CIL代码进行匹配;其中,所述CIL代码包括:CIL操作码;

若检测到与所述初始方法的CIL代码相匹配的目标调用方法的目标CIL代码,则采用所述目标CIL代码替换所述CIL代码;

在替换过程中,若所述目标调用方法插桩失败,则调用所述动态链接库文件中的所述重定向方法,对所述初始方法进行重定向。

2.根据权利要求1所述的代码重定向方法,其特征在于,所述将针对初始方法的重定向需求所确定的重定向方法,编译成动态链接库文件的步骤之前,还包括:

对所述初始方法的CIL代码进行预处理,并根据预处理结果确定所述初始方法的重定向需求;

根据所述重定向需求确定对应于所述初始方法的所述重定向方法。

3.根据权利要求1所述的代码重定向方法,其特征在于,所述采用程序集中待调用方法的CIL代码对所述初始方法的CIL代码进行匹配的步骤,包括:

基于CIL的运行机制获取所述初始方法的CIL代码;

对所述初始方法的CIL代码进行分析;

根据分析结果添加程序集引用;

将所述初始方法的CIL代码与引用的程序集中待调用方法的CIL代码进行匹配。

4.根据权利要求1所述的代码重定向方法,其特征在于,所述采用所述目标CIL代码替换所述CIL代码的步骤,包括:

通过newobj操作码调用所述初始方法的构造函数,并返回一个目标调用方法的引用实例;

通过stloc.0操作码将所述引用实例推入本地变量栈;其中,所述stloc.0操作码表示为stloc操作码的下标为0,所述下标对应的数据包括:本地变量、方法参数;

通过ldloc.0操作码将下标为0的所述本地变量推出到求值栈,并通过ldloc.1操作码将下标为1的初始方法参数推入所述求值栈;

通过callvirt操作码调用目标调用方法,将所述初始方法参数与所述目标调用方法参数进行替换,并通过stloc.1操作码将所述目标调用方法的返回值推入下标为1的本地变量栈。

5.根据权利要求4所述的代码重定向方法,其特征在于,所述通过stloc.1操作码将所述目标调用方法的返回值推入下标为1的本地变量栈的步骤之前,还包括:

对所述目标调用方法进行插桩;

在插桩成功之后,控制所述初始方法获取所述目标调用方法的所述返回值。

6.根据权利要求4所述的代码重定向方法,其特征在于,所述对所述初始方法进行重定向的步骤,包括:

通过ldarg.1操作码将所述下标为1的所述初始方法的参数压入求值栈;

通过call函数调用所述重定向方法;

通过stloc.0操作码将所述重定向方法的返回值压入下标为0的本地变量栈。

7.根据权利要求1所述的代码重定向方法,其特征在于,所述对所述初始方法进行重定向的步骤之后,还包括:

将所述重定向方法更新至程序集中;

当JIT编译器再次对所述初始方法的CIL代码进行编译时,通过引用所述程序集调用所述重定向方法执行对所述CIL代码的编译。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳开源互联网安全技术有限公司,未经深圳开源互联网安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202210963202.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top