1.一种软件加固方法,包括:
对软件开发工具包SDK进行解析,根据待执行业务类型确定显示接口;其中,所述显示接口至少为一个;
隐藏所述SDK中除所述显示接口之外的其它接口,以及,隐藏所述显示接口中的接口内容;以及,
将所述显示接口中的接口内容另存至其他适当位置处,以在所述显示接口被调用时从所述其他适当位置处获取对应的接口内容;
将修改后的SDK重打包生成加固SDK。
2.根据权利要求1所述的方法,其特征在于,所述将所述显示接口中的接口内容另存,包括:
将所述显示接口中的接口内容另存至设定队列中。
3.根据权利要求1所述的方法,其特征在于,所述隐藏所述显示接口中的接口内容,包括:
对所述显示接口中的接口内容进行加密隐藏。
4.根据权利要求3所述的方法,其特征在于,所述对所述显示接口中的接口内容进行加密隐藏,包括:
对所述显示接口中的接口内容进行加密处理,以及,在加密内容中插入保护代码。
5.根据权利要求4所述的方法,其特征在于,所述保护代码包括:反编译工具的崩溃代码;其中,当触发所述崩溃代码时,结束工作流程。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在所述将修改后的SDK重打包生成加固SDK的步骤之后,所述方法还包括:
对所述加固SDK进行签名。
7.根据权利要求6所述的方法,其特征在于,所述对所述加固SDK进行签名,包括:
下发所述加固SDK,由用户使用其身份标识对所述加固SDK进行签名;或者,
利用用户上传的身份标识对所述加固SDK进行签名。
8.根据权利要求2所述的方法,其特征在于,所述设定队列包括:类加载器下的队列。
9.根据权利要求2所述的方法,其特征在于,所述设定队列包括:DexPathList;类加载器包括:ClassLoader。
10.一种软件加固系统,包括:
解析模块,用于对软件软件开发工具包SDK进行解析,确定显示接口;
第一隐藏模块,用于隐藏所述SDK中除所述显示接口之外的其它接口;
第二隐藏模块,用于隐藏所述显示接口中的接口内容;
另存模块,用于将所述显示接口中的接口内容另存至其他适当位置处,以在所述显示接口被调用时从所述其他适当位置处获取对应的接口内容;
生成模块,用于将修改后的SDK重打包生成加固SDK;
其中,所述解析定模块,用于对软件开发工具包SDK进行解析,根据待执行业务类型确定所述显示接口;其中,所述显示接口至少为一个。
11.根据权利要求10所述的系统,其特征在于,所述另存模块,用于将所述显示接口中的接口内容另存至设定队列中。
12.根据权利要求10所述的系统,其特征在于,所述第二隐藏模块,用于对所述显示接口中的接口内容进行加密隐藏。
13.根据权利要求12所述的系统,其特征在于,所述第二隐藏模块,用于对所述显示接口中的接口内容进行加密处理,以及,在加密内容中插入保护代码。
14.根据权利要求13所述的系统,其特征在于,所述保护代码包括:反编译工具的崩溃代码;其中,当触发所述崩溃代码时,结束工作流程。
15.根据权利要求10至14中任一项所述的系统,其特征在于,还包括:
签名模块,用于在所述生成模块将修改后的SDK重打包生成加固SDK之后,对所述加固SDK进行签名。
16.根据权利要求15所述的系统,其特征在于,所述签名模块,用于下发所述加固SDK,由用户使用其身份标识对所述加固SDK进行签名;或者,利用用户上传的身份标识对所述加固SDK进行签名。
17.根据权利要求11所述的系统,其特征在于,所述设定队列包括:类加载器下的队列。
18.根据权利要求11所述的系统,其特征在于,所述设定队列包括:DexPathList;类加载器包括:ClassLoader。