[发明专利]一种基于中间语言的字符串加密方法有效

专利信息
申请号: 201711089034.2 申请日: 2017-11-08
公开(公告)号: CN107908933B 公开(公告)日: 2020-08-28
发明(设计)人: 马明 申请(专利权)人: 北京顶象技术有限公司
主分类号: G06F21/14 分类号: G06F21/14;G06F8/41;H04L9/06;H04L9/08
代理公司: 北京超凡志成知识产权代理事务所(普通合伙) 11371 代理人: 齐云
地址: 100089 北京市海淀区*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 中间 语言 字符串 加密 方法
【权利要求书】:

1.一种基于中间语言的字符串加密方法,其特征在于,包括以下步骤:

步骤1、利用不同语言的前端编译器将源代码文件编译为中间代码文件;

步骤2、解析中间代码文件,遍历中间代码文件中的所有常量,提取所述常量的字符串常量;

步骤3、对步骤2提取的字符串常量加密,写入中间代码;

步骤4、为步骤2中提取出的每一个字符串常量生成解密函数;

步骤5、针对步骤2中提取出的每一个字符串常量,遍历他们在代码区的所有字符串引用,在字符串引用之前增加对其解密函数的调用;

步骤6、替换字符串引用,完成字符串加密操作;

步骤7、将以上处理后的中间代码文件编译为目标二进制文件,完成编译;

所述步骤4具体包括:

a)创建与原字符串常量相同空间大小的全局变量,用符号buffer表示,和一个1字节的全局变量,用于标识字符串常量是否已经解密,用符号flag表示,初始值置0;

b)将预编译为中间语言的C算法解密函数,插入代码区;

c)生成字符串常量解密函数,在函数体中先判断flag,若为0则开始解密:读取密文和密钥,调用C算法对应的解密函数,对字符串常量进行解密,并将解密后的明文写入buffer,然后将flag置1,避免多次解密。

2.如权利要求1所述的一种基于中间语言的字符串加密方法,其特征在于,所述步骤2提取所述常量的字符串常量包括c语言风格和objective-c语言风格两种不同格式的字符串,区分提取,具体为:

a)c语言风格字符串为字符数组格式,直接提取字符串本身;

b)如果是objective-c语言风格字符串,该字符串只是一个包含字符数组的结构体,根据结构体中的引用符号提取对应的字符数组。

3.如权利要求1所述的一种基于中间语言的字符串加密方法,其特征在于,所述步骤3具体包括:

a)提取字符串常量的值;

b)从预设的多种加密算法中,随机提取一种加密算法,用符号C表示,并随机生成密钥,对字符串常量的值进行加密,获得字符串常量值经过加密后的密文;

c)将密文和密钥保存在常量区,并删除原字符串常量。

4.如权利要求1所述的一种基于中间语言的字符串加密方法,其特征在于,所述步骤6具体包括:

a)对于C语言风格字符串,遍历原字符串的所有引用,全部替换为引用buffer;

b)对于Objective-C语言风格字符串,将其结构体中的字符数组引用替换为buffer。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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