[发明专利]用于安卓系统的防逆向破解共享对象文件的方法和装置有效
| 申请号: | 201510671883.3 | 申请日: | 2015-10-13 |
| 公开(公告)号: | CN105227565B | 公开(公告)日: | 2019-02-22 |
| 发明(设计)人: | 娄河松 | 申请(专利权)人: | 北京娜迦信息科技发展有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06 |
| 代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
| 地址: | 100084 北京市海淀区中关村*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 系统 逆向 破解 共享 对象 文件 方法 装置 | ||
1.一种用于安卓系统的防逆向破解共享对象文件的方法,其特征在于,所述方法包括:
加载安装包文件,其中,所述安装包文件包括共享对象文件,所述共享对象文件包括预先链接至共享对象文件的壳中的解密算法、已加密的被保护函数和加密算法;
加载所述共享对象文件至内存中;
在所述安装包文件调用被保护函数时,调用解密算法解密所述已加密的被保护函数,得到被保护函数的明文源代码;
将所述被保护函数的明文源代码加载至明文源代码地址中;
执行所述被保护函数的明文源代码;
响应于执行所述被保护函数的明文源代码完成,调用加密算法删除所述被保护函数的明文源代码。
2.根据权利要求1所述的方法,其特征在于,所述调用解密算法解密所述已加密的被保护函数,得到被保护函数的明文源代码包括:
调用预设于静态链接文件中的解密函数,并根据预设于所述壳中的被保护函数的数据集合,将被保护函数的明文源代码地址传送至解密函数,其中,所述数据集合中的单条数据包括所述被保护函数的明文源代码地址、明文源代码大小、密文源代码地址和密文源代码大小;
所述解密函数调用所述解密算法,并将所述明文源代码地址传送至所述解密算法;
所述解密算法根据所述明文源代码地址在所述数据集合中查询密文源代码地址和密文源代码大小;
所述解密算法根据所述密文源代码地址和密文源代码大小解密所述被保护函数,得到被保护函数的明文源代码。
3.根据权利要求2所述的方法,其特征在于,所述响应于执行所述被保护函数的明文源代码完成,调用加密算法删除所述被保护函数的明文源代码包括:
响应于执行所述被保护函数的明文源代码完成,调用预设于所述静态链接文件中的加密函数,并将所述明文源代码地址传输给所述加密函数;
所述加密函数调用预设于所述壳中的所述加密算法,并将所述明文源代码地址传输给加密算法;
所述加密算法根据所述明文源代码地址在所述数据集合中查询明文源代码大小;
所述加密算法根据所述明文源代码地址和所述明文源代码大小,删除所述被保护函数的明文源代码。
4.根据权利要求2或3任意一项所述的方法,其特征在于,所述数据集合的结构形式包括以下任意一项:数据表、链表、二维数组和结构体数组。
5.一种用于安卓系统的防逆向破解共享对象文件的装置,其特征在于,所述装置包括:
第一加载模块,用于加载安装包文件,其中,所述安装包文件包括共享对象文件,所述共享对象文件包括预先链接至共享对象文件的壳中的解密算法、已加密的被保护函数和加密算法;
第二加载模块,用于加载所述共享对象文件至内存中;
解密模块,用于在所述安装包文件调用被保护函数时,调用解密算法解密所述已加密的被保护函数,得到被保护函数的明文源代码;
第三加载模块,用于将所述被保护函数的明文源代码加载至明文源代码地址中;
执行模块,用于执行所述被保护函数的明文源代码;
删除模块,用于响应于执行所述被保护函数的明文源代码完成,调用加密算法删除所述被保护函数的明文源代码。
6.根据权利要求5所述的装置,其特征在于,所述解密模块包括:
第一调用模块,用于调用预设于静态链接文件中的解密函数,并根据预设于所述壳中的被保护函数的数据集合,将被保护函数的明文源代码地址传送至解密函数,其中,所述数据集合中的单条数据包括所述被保护函数的明文源代码地址、明文源代码大小、密文源代码地址和密文源代码大小;
第二调用模块,用于通过所述解密函数调用所述解密算法,并将所述明文源代码地址传送至所述解密算法;
查询模块,用于通过所述解密算法根据所述明文源代码地址在所述数据集合中查询密文源代码地址和密文源代码大小;
解密子模块,用于根据所述密文源代码地址和密文源代码大小解密所述被保护函数,得到被保护函数的明文源代码。
7.根据权利要求6所述的装置,其特征在于,所述删除模块包括:
第三调用模块,用于响应于执行所述被保护函数的明文源代码完成,调用预设于所述静态链接文件中的加密函数,并将所述明文源代码地址传输给所述加密函数;
第四调用模块,用于通过所述加密函数调用所述加密算法,并将所述明文源代码地址传输给加密算法;
查询子模块,用于通过所述加密算法根据所述明文源代码地址在所述数据集合中查询明文源代码大小;
删除子模块,用于通过所述加密算法根据所述明文源代码地址和所述明文源代码大小,删除被保护函数的明文源代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京娜迦信息科技发展有限公司,未经北京娜迦信息科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510671883.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:应用的数据包传输方法及装置
- 下一篇:一种数据持有性证明方法





