【技术实现步骤摘要】
一种在模块重定位表中隐藏秘钥的方法
[0001]本专利技术涉及秘钥加密
,尤其涉及一种在模块重定位表中隐藏少量秘钥的方法。
技术介绍
[0002]对于很多核心模块需要使用秘钥来解密数据,而秘钥的安全则是怎么存储在模块中则是秘钥安全的核心。现有方案则可能存储到代码中,存储在字符串表格中,或者加密存储在文件中或者资源文件中等等,这些方法目前都被大家所熟知,秘钥的安全性成为一个难题,一旦存放秘钥的数据库或文件系统被攻破,全部文件都有暴露的风险,因此,需要一些非常规手段来存储。
技术实现思路
[0003]本专利技术提供了一种模块重定位表中隐藏秘钥的方法,基于重定位特性,构建重定位表格,并将秘钥数据隐藏存储在重定位表格中,安全性高。
[0004]本专利技术提供的技术方案为:
[0005]一种在模块重定位表中隐藏秘钥的方法,包括:
[0006]在模块中选择一个内存地址作为起始地址;
[0007]生成秘钥数据,并将所述秘钥数据拆分为秘钥字符串;
[0008]将所述起始地址作为基 ...
【技术保护点】
【技术特征摘要】
1.一种在模块重定位表中隐藏秘钥的方法,其特征在于,包括:在模块中选择一个内存地址作为起始地址;生成秘钥数据,并将所述秘钥数据拆分为秘钥字符串;将所述起始地址作为基地址,构造并生成重定位表格;将所述秘钥字符串对应存储在所述重定位表格中。2.根据权利要求1所述的模块重定位表中隐藏秘钥的方法,其特征在于,所述秘钥数据的拆分过程,包括如下步骤:将所述秘钥数据中包含的字符串拆分为第一秘钥字符串和第二秘钥字符串,并将所述第一秘钥字符串和所述第二秘钥字符串拆分为单个字符;其中,所述秘钥数据中包含的字符位数为偶数,所述第一秘钥字符串和所述第二秘钥字符串包含相等位数的字符。3.根据权利要求1或2所述的模块重定位表中隐藏秘钥的方法,其特征在于,所述重定位表格的构建过程包括如下步骤:生成重定位数据的指令代码,将所述秘钥字符串设置在所述指令代码之间作为数据间隔,并记录指令代码和所述数据间隔的的字节长度;设置所述重定位数据的起始偏移地址;设置重定位表格内的重定位数据个数;增加代码空间,将所述秘钥字符串存储在所述重定位表格内;其中,所述指令代码为汇编代码或调用函数,所述起始偏移地址由所述基地址与模块偏移量相加获得。4.根据权利要求3所述的模块重定位表中隐藏秘钥的方法,其特征在于,所述秘钥字符串存储在所述重定位表格内的过程,包括如下步骤:构建指针函数,并在所述指针函数内定义字符串变量;通过所述字符串变量在所述重定位表格中的虚拟地址和字符串变量在所述重定位表格中的偏移计算所述钥字符串变量在所述重定位表格中的地址;修改所述字符串变量在所述重定位表格中的偏移,使所述偏移数值与所述秘钥字符串的第一个字符数值相对应;构建引用函数,引用所述字符串变量,以在所述重定位表格中生成所述秘钥字符串。5.根据权利要求4所述的模块重定位表中隐藏秘钥的方法,其特征在于,还包括如下步骤:通过内存映射读取所述模块内数据,并对所述数据进行解析,得到重定位表格的起始地址;通过所述起始地址获取所述重定位表格;遍历所述重定位表格,获取所述...
【专利技术属性】
技术研发人员:周志刚,
申请(专利权)人:武汉斗鱼鱼乐网络科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。