[发明专利]一种基于动态链接库的静态资源保护方法及其装置在审
申请号: | 201811604823.X | 申请日: | 2018-12-26 |
公开(公告)号: | CN109766717A | 公开(公告)日: | 2019-05-17 |
发明(设计)人: | 程威;郭拉 | 申请(专利权)人: | 北京思源互联科技有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F21/64 |
代理公司: | 北京宣言律师事务所 11509 | 代理人: | 李知伦 |
地址: | 100102 北京市朝*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 动态链接库 静态资源 安全动态 链接库 整体程序 整体防护 动态库 链接 破解 删除 共享 统一 | ||
本发明涉及基于动态链接库的静态资源保护方法及其装置。本发明的基于动态链接库的静态资源保护方法,包括以下步骤:将静态资源形成静态资源动态库文件,并以资源方式链接进所述动态链接库,构成所述动态链接库下的子安全动态链接库。其有益效果是:通过在动态链接库内建立不同的子安全动态链接库的方式,减少分散的单个静态资源文件被误删除导致整体程序无法运行的可能性,统一的动态链接库可以隐藏分散的子安全动态链接库的内部实现函数,通过统一的加固方式,将安全动态链接库共享一套成体系的保护方案进行整体防护,防止逐个被破解;对静态资源文件具有很好的保护作用。
技术领域
本发明涉及信息安全领域,特别涉及基于动态链接库的静态资源保护方法及其装置,属于程序代码加固技术领域。
背景技术
现有技术在处理静态资源时,都是将一个静态资源文件与一个安全保护的动态链接库结合一起处理,然后分别进行整体加固和保护,割裂的强相关性的两个文件增加了被中间注入和拦截的可能性。且资源文件与逻辑文件分离时会带来版本的兼容性问题。
发明内容
本发明的目的在于克服现有技术的不足,提供一种安全、兼容性好的基于动态链接库的静态资源保护方法及其装置。基于安全动态链接库(如so)的方式,对静态资源(如安全键盘)进行安全保护。
本发明提供的一种基于动态链接库的静态资源保护方法,其技术方案为:
一种基于动态链接库的静态资源保护方法,包括以下步骤:
将静态资源形成静态资源动态库文件,并以资源方式链接进所述安全动态链接库,构成所述动态链接库下的子安全动态链接库。
优选地,在所述动态链接库内,分操作平台设计并实现所述静态资源动态库文件对所述动态链接库的跨平台适配层的调用,并生成能够与不同操作平台对接的公共接口。
优选地,采用代码混淆处理和代码水印处理对所述动态链接库进行整体加固。
优选地,所述代码水印处理的方式是采用动态链接库私钥对所述动态链接库中存储的数据进行整体签名,获得签名文件并存储在动态链接库内;运行时采用动态链接库公钥对签名文件进行验证,并上传所述签名文件供远程服务器验证。
优选地,代码混淆处理的方式包括控制流平坦化处理、内容别名化处理、花指令处理或整型数据编码处理中的一种或任几种。
优选地,控制流平坦化处理的方式是整理动态链接库内函数的代码长度,并将代码长度大于设定行数的函数,编译时拆分为多个子程序;
内容别名化处理的方式是收集动态链接库内的原始变量名称,并按照设定的编码方式对原始变量名称进行编码并取代原始变量名称;
花指令处理的方式是在动态链接库的入口处增加无业务逻辑的垃圾冗余代码;并将常量字符串、函数名称或变量名称的字符串拆分成单个字符并存储在不同位置,调用时再组合在一起;
整型数据编码处理的方式是定义计算函数对原有数据进行替换。
优选地,所述子安全动态链接库共享一套RT运行时防护对静态资源动态库文件进行防护。
优选地,所述操作平台包括windows操作平台、linux操作平台、mac操作平台、ios操作平台和android操作平台;其中,windows操作平台使用导入二进制的方式编译静态资源动态库文件到安全动态链接库,linux操作平台、mac操作平台、ios操作平台和android操作平台使用objcopy的方式编译静态资源动态库文件到安全动态链接库。
优选地,所述静态资源包括安全文件系统、安全键盘资源或者静态的白盒库资源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思源互联科技有限公司,未经北京思源互联科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811604823.X/2.html,转载请声明来源钻瓜专利网。