[发明专利]一种对可执行文件进行加固的方法和装置有效
| 申请号: | 201611129918.1 | 申请日: | 2016-12-09 |
| 公开(公告)号: | CN106709289B | 公开(公告)日: | 2020-01-31 |
| 发明(设计)人: | 吴乐 | 申请(专利权)人: | 北京奇虎科技有限公司 |
| 主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F21/60 |
| 代理公司: | 11323 北京市隆安律师事务所 | 代理人: | 权鲜枝;何立春 |
| 地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 加密 加密函数 可执行文件 方法和装置 函数选择 加密手段 破解 存储 | ||
1.一种对可执行文件进行加固的方法,其中,该方法包括:
将可执行文件中的N个待加密的函数按次序存储,其中,N为大于一的自然数;
为每个待加密的函数选择对应的加密方法;
依次对N个待加密的函数进行加密,其中,对第一个待加密函数,以该待加密函数对应的加密方法进行加密;
对第M个待加密函数,以该待加密函数对应的加密方法进行加密后,再以第M-1个函数所使用的所有加密方法,按所述第M-1个函数所使用加密方法的次序进行加密;其中,M为大于一的自然数。
2.如权利要求1所述的方法,其中,所述将可执行文件中的N个待加密的函数按次序存储包括:
将该N个待加密的函数按次序存储至可执行文件中的同一代码区段。
3.如权利要求1所述的方法,其中,该方法还包括:
获取该N个待加密的函数在所述可执行文件执行时被调用的先后顺序,使该N个待加密的函数的存储次序与该N个待加密的函数在所述可执行文件执行时被调用的先后顺序一致。
4.如权利要求1所述的方法,其中,该方法在所有步骤之前还包括:
将所述可执行文件转换为二进制形式。
5.如权利要求1所述的方法,其中,该方法还包括:
向加固后的可执行文件添加解密逻辑。
6.如权利要求5所述的方法,其中,所述解密逻辑包括:
与各待加密方法对应的解密方法。
7.如权利要求6所述的方法,其中,所述解密逻辑包括:
在可执行文件被加载后,在需要调用代码区段中被加密的函数时,以该函数对应的解密方法对所述代码区段进行解密。
8.如权利要求1-7中任一项所述的方法,其中,所述可执行文件为安卓安装包中的可执行文件。
9.如权利要求8所述的方法,其中,所述方法还包括:
对安卓安装包进行解包,得到至少一个可执行文件;
将加固后的可执行文件打包到对应的安装包中。
10.一种对可执行文件进行加固的装置,其中,该装置包括:
待加密函数预处理单元,适于将可执行文件中的N个待加密的函数按次序存储,其中,N为大于一的自然数;
加密方法选择单元,适于为每个待加密的函数选择对应的加密方法;
加密单元,适于依次对N个待加密的函数进行加密,其中,对第一个待加密函数,以该待加密函数对应的加密方法进行加密;对第M个待加密函数,以该待加密函数对应的加密方法进行加密后,再以第M-1个函数所使用的所有加密方法,按所述第M-1个函数所使用加密方法的次序进行加密;其中,M为大于一的自然数。
11.如权利要求10所述的装置,其中,
所述待加密函数预处理单元,适于将该N个待加密的函数按次序存储至可执行文件中的同一代码区段。
12.如权利要求10所述的装置,其中,所述待加密函数预处理单元,还适于获取该N个待加密的函数在所述可执行文件执行时被调用的先后顺序,使该N个待加密的函数的存储次序与该N个待加密的函数在所述可执行文件执行时被调用的先后顺序一致。
13.如权利要求10所述的装置,其中,该装置还包括:
可执行文件转换单元,适于将所述可执行文件转换为二进制形式。
14.如权利要求11所述的装置,其中,该装置还包括:
解密单元,适于向加固后的可执行文件添加解密逻辑。
15.如权利要求14所述的装置,其中,所述解密逻辑包括:
与各待加密方法对应的解密方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611129918.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种日志信息输出控制方法及装置
- 下一篇:一种利用感应炉熔硅的铝锭起炉工艺





