[发明专利]代码注入方法、装置、设备以及存储介质在审
申请号: | 202111646723.5 | 申请日: | 2021-12-30 |
公开(公告)号: | CN114327772A | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 樊冰新;陈逢锦;郑旗 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F8/41 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 注入 方法 装置 设备 以及 存储 介质 | ||
1.一种代码注入方法,包括:
获取目标程序在运行时的第一代码;
将所述第一代码转换为可编辑代码;
确定所述可编辑代码的控制流图;
根据所述控制流图,将第二代码注入所述可编辑代码中,得到第三代码;
执行所述第三代码。
2.根据权利要求1所述的方法,其中,所述根据所述控制流图,将第二代码注入所述可编辑代码中,得到第三代码,包括:
根据所述控制流图,确定所述可编辑代码中基本块之间的跳转指令位置;
将所述第二代码注入所述可编辑代码的跳转指令位置处,得到所述第三代码。
3.根据权利要求1所述的方法,其中,所述根据所述控制流图,将第二代码注入所述可编辑代码中,得到第三代码,包括:
根据所述可编辑代码的类型,确定第二代码的注入形式;
根据所述注入形式将所述第二代码注入所述可编辑代码中,得到第三代码。
4.根据权利要求1所述的方法,其中,所述执行所述第三代码,包括:
将所述第三代码进行持久化;
执行持久化之后的代码。
5.根据权利要求4所述的方法,其中,所述将所述第三代码进行持久化,包括:
将所述第三代码序列化后进行存储。
6.根据权利要求4所述的方法,其中,所述将所述第三代码进行持久化,包括:
将所述第三代码编译成机器码。
7.根据权利要求4所述的方法,其中,所述将所述第三代码进行持久化,包括:
将所述第三代码转换成与所述第一代码相同的格式。
8.一种代码注入装置,包括:
获取单元,被配置成获取目标程序在运行时的第一代码;
转换单元,被配置成将所述第一代码转换为可编辑代码;
确定单元,被配置成确定所述可编辑代码的控制流图;
注入单元,被配置成根据所述控制流图,将第二代码注入所述可编辑代码中,得到第三代码;
执行单元,被配置成执行所述第三代码。
9.根据权利要求8所述的装置,其中,所述注入单元进一步被配置成:
根据所述控制流图,确定所述可编辑代码中基本块之间的跳转指令位置;
将所述第二代码注入所述可编辑代码的跳转指令位置处,得到所述第三代码。
10.根据权利要求8所述的装置,其中,所述注入单元进一步被配置成:
根据所述可编辑代码的类型,确定第二代码的注入形式;
根据所述注入形式将所述第二代码注入所述可编辑代码中,得到第三代码。
11.根据权利要求8所述的装置,其中,所述执行单元进一步被配置成:
将所述第三代码进行持久化;
执行持久化之后的代码。
12.根据权利要求11所述的装置,其中,所述执行单元进一步被配置成:
将所述第三代码序列化后进行存储。
13.根据权利要求11所述的装置,其中,所述执行单元进一步被配置成:
将所述第三代码编译成机器码。
14.根据权利要求11所述的装置,其中,所述执行单元进一步被配置成:
将所述第三代码转换成与所述第一代码相同的格式。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111646723.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于CAN通讯的车灯点亮方法
- 下一篇:一种用于通信基站的5G天线