代码注入方法、装置、设备以及存储介质制造方法及图纸

技术编号:33033229 阅读:30 留言:0更新日期:2022-04-15 09:10
本公开提供了代码注入方法、装置、设备以及存储介质,涉及云服务、边缘计算、人工智能、区块链等技术领域。具体实现方案为:获取目标程序在运行时的第一代码;将第一代码转换为可编辑代码;确定可编辑代码的控制流图;根据控制流图,将第二代码注入可编辑代码中,得到第三代码;执行第三代码。本实现方式可以根据控制流图插入第二代码,从而降低了注入的代码的性能开销,提高了执行效率。提高了执行效率。提高了执行效率。

【技术实现步骤摘要】
代码注入方法、装置、设备以及存储介质


[0001]本公开涉及计算机
,具体涉及云服务、边缘计算、人工智能、区块链等
,尤其涉及代码注入方法、装置、设备以及存储介质。

技术介绍

[0002]代码注入是将实现一定功能的代码段注入至应用程序代码中,以增加原有应用程序能够实现的功能。由于实现代码注入实质上是在应用程序运行的过程中,动态的将代码段插入到预设位置的过程。
[0003]现有的代码注入方法往往需要对源代码进行修改,这在一些无法获取到源代码的情况下难以实现。

技术实现思路

[0004]本公开提供了一种代码注入方法、装置、设备以及存储介质。
[0005]根据第一方面,提供了一种代码注入方法,包括:获取目标程序在运行时的第一代码;将第一代码转换为可编辑代码;确定可编辑代码的控制流图;根据控制流图,将第二代码注入可编辑代码中,得到第三代码;执行第三代码。
[0006]根据第二方面,提供了一种代码注入装置,包括:获取单元,被配置成获取目标程序在运行时的第一代码;转换单元,被配置成将第一代码转换为可编辑代本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种代码注入方法,包括:获取目标程序在运行时的第一代码;将所述第一代码转换为可编辑代码;确定所述可编辑代码的控制流图;根据所述控制流图,将第二代码注入所述可编辑代码中,得到第三代码;执行所述第三代码。2.根据权利要求1所述的方法,其中,所述根据所述控制流图,将第二代码注入所述可编辑代码中,得到第三代码,包括:根据所述控制流图,确定所述可编辑代码中基本块之间的跳转指令位置;将所述第二代码注入所述可编辑代码的跳转指令位置处,得到所述第三代码。3.根据权利要求1所述的方法,其中,所述根据所述控制流图,将第二代码注入所述可编辑代码中,得到第三代码,包括:根据所述可编辑代码的类型,确定第二代码的注入形式;根据所述注入形式将所述第二代码注入所述可编辑代码中,得到第三代码。4.根据权利要求1所述的方法,其中,所述执行所述第三代码,包括:将所述第三代码进行持久化;执行持久化之后的代码。5.根据权利要求4所述的方法,其中,所述将所述第三代码进行持久化,包括:将所述第三代码序列化后进行存储。6.根据权利要求4所述的方法,其中,所述将所述第三代码进行持久化,包括:将所述第三代码编译成机器码。7.根据权利要求4所述的方法,其中,所述将所述第三代码进行持久化,包括:将所述第三代码转换成与所述第一代码相同的格式。8.一种代码注入装置,包括:获取单元,被配置成获取目标程序在运行时的第一代码;转换单元,被配置成将所述第一代码转换为可编辑代码;确定单元,被配置成确定所述可编辑代码的控制流图;注入单元,被配置成根据所述控制流图,将第二代码注入所述可编辑代码中,得到第三代码;执行单元,被配置成执行所述第三...

【专利技术属性】
技术研发人员:樊冰新陈逢锦郑旗
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1