首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于指令注入的代码处理方法、终端及存储介质 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:北京智游网安科技有限公司

摘要:本发明公开了一种基于指令注入的代码处理方法、终端及存储介质,所述方法包括:在APP的加密阶段,解析DEX文件,将所述DEX文件进行拆分,抽取出所述DEX文件中保存的代码指令,并进行加密保存;构建解密代码的二进制指令,注入到所述DEX文件中原指令位置;当加密APP运行到被加密的方法时,执行已注入的二进制指令,对方法指令进行解密还原,并跳转到被解密出的指令内存,继续执行解密出的指令。本发明在加密时将完整的DEX文件进行拆分,分离出加密方法的代码段,并在原代码段注入解密指令,运行时调用被加密的方法,首先执行注入的解密指令,完成当前执行方法的解密,确保被加密方法只有被执行的时候才会解密。

主权项:1.一种基于指令注入的代码处理方法,其特征在于,所述基于指令注入的代码处理方法包括:在APP的加密阶段,解析DEX文件,将所述DEX文件进行拆分,抽取出所述DEX文件中保存的代码指令,并进行加密保存;所述在APP的加密阶段,解析DEX文件,将所述DEX文件进行拆分,抽取出所述DEX文件中保存的代码指令,并进行加密保存,具体包括:在APP的加密时,通过加密工具对所述DEX文件的二进制文件进行解析;遍历获取DEX文件中所有方法,解析出方法对应代码段的二进制的代码项目结构;提取所述代码项目结构中记录的二进制指令数据;根据提取出的所述二进制指令数据中的类名、方法名和方法签名生成唯一识别ID;将所述识别ID和所述二进制指令数据进行关联,并进行加密保存;在所述代码项目结构中的指定字段位置插入构建的解密引擎调用指令;所述将所述DEX文件进行拆分,具体包括:将二进制指令从所述DEX文件中剪切出来,并保存到预设文件中;构建解密代码的二进制指令,注入到所述DEX文件中原指令位置;当加密APP运行到被加密的方法时,执行已注入的二进制指令,对方法指令进行解密还原,并跳转到被解密出的指令内存,继续执行解密出的指令;所述当加密APP运行到被加密的方法时,执行已注入的二进制指令,对方法指令进行解密还原,并跳转到被解密出的指令内存,继续执行解密出的指令,包括:在加密APP运行时,执行被加密的方法,执行注入的所述解密引擎调用指令;解密引擎通过方法调用栈查找到当前正在执行方法的类名、方法名和方法签名计算出ID;通过ID查找存储在指定文件中的加密指令位置;解密引擎解密对应的指令,并将指令还原到当前方法的代码项目结构,字段指向的内存空间,完成指令的解密和还原;实现对DEX文件中方法代码的单独加密,只有在被加密方法执行时,才会进行相应的解密操作,加密后的DEX文件在内存中,始终是分散存储的,避免通过内存DUMP的方式获取原DEX;所述解密引擎解密对应的指令,并将指令还原到当前方法的代码项目结构,字段指向的内存空间,完成指令的解密和还原,之后还包括:解密指令还原结束,执行预设语句,对当前的程序计数器进行修改,得到第一执行的内存地址,根据所述的内存地址跳转到解密还原的内存,继续执行原方法的逻辑。

全文数据:

权利要求:

百度查询: 北京智游网安科技有限公司 一种基于指令注入的代码处理方法、终端及存储介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。