[发明专利]代码注入方法、装置、设备以及存储介质在审
申请号: | 202111646723.5 | 申请日: | 2021-12-30 |
公开(公告)号: | CN114327772A | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 樊冰新;陈逢锦;郑旗 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F8/41 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 注入 方法 装置 设备 以及 存储 介质 | ||
本公开提供了代码注入方法、装置、设备以及存储介质,涉及云服务、边缘计算、人工智能、区块链等技术领域。具体实现方案为:获取目标程序在运行时的第一代码;将第一代码转换为可编辑代码;确定可编辑代码的控制流图;根据控制流图,将第二代码注入可编辑代码中,得到第三代码;执行第三代码。本实现方式可以根据控制流图插入第二代码,从而降低了注入的代码的性能开销,提高了执行效率。
技术领域
本公开涉及计算机技术领域,具体涉及云服务、边缘计算、人工智能、区块链等技术领域,尤其涉及代码注入方法、装置、设备以及存储介质。
背景技术
代码注入是将实现一定功能的代码段注入至应用程序代码中,以增加原有应用程序能够实现的功能。由于实现代码注入实质上是在应用程序运行的过程中,动态的将代码段插入到预设位置的过程。
现有的代码注入方法往往需要对源代码进行修改,这在一些无法获取到源代码的情况下难以实现。
发明内容
本公开提供了一种代码注入方法、装置、设备以及存储介质。
根据第一方面,提供了一种代码注入方法,包括:获取目标程序在运行时的第一代码;将第一代码转换为可编辑代码;确定可编辑代码的控制流图;根据控制流图,将第二代码注入可编辑代码中,得到第三代码;执行第三代码。
根据第二方面,提供了一种代码注入装置,包括:获取单元,被配置成获取目标程序在运行时的第一代码;转换单元,被配置成将第一代码转换为可编辑代码;确定单元,被配置成确定可编辑代码的控制流图;注入单元,被配置成根据控制流图,将第二代码注入可编辑代码中,得到第三代码;执行单元,被配置成执行第三代码。
根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与上述至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,上述指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面所描述的方法。
根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,上述计算机指令用于使计算机执行如第一方面所描述的方法。
根据第五方面,一种计算机程序产品,包括计算机程序,上述计算机程序在被处理器执行时实现如第一方面所描述的方法。
根据本公开的技术可以根据控制流图插入第二代码,从而降低了注入的代码的性能开销,提高了执行效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本公开的代码注入方法的一个实施例的流程图;
图3是根据本公开的代码注入方法的一个应用场景的示意图;
图4是根据本公开的代码注入方法的另一个实施例的流程图;
图5是根据本公开的代码注入装置的一个实施例的结构示意图;
图6是用来实现本公开实施例的代码注入方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111646723.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于CAN通讯的车灯点亮方法
- 下一篇:一种用于通信基站的5G天线