买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:本发明公开了一种基于Android移动端的软件加固方法及系统,涉及软件加固技术领域。包括:S1、获取待加固的软件原APK;S2、得到对应壳DEX文件;S3、解压原APK获取原DEX文件和原SO文件;S4、对原DEX文件进行解析、提取;S5、对原SO文件以及libsec.so进行解析加密;S6、将得到的壳DEX签名值以及libsec.so壳DEX签名值保存到加密class.bin文件中;S7、重新打包并签名生成加固后的APK。本发明直接在Android移动端完成整个加固的流程,无需电脑端参与,可以做到加固后一键签名,并安装到移动端。
主权项:1.一种基于Android移动端的软件加固方法,其特征在于,包括以下步骤:S1、APK获取步骤:获取待加固的软件原APK;S2、壳模板回编译步骤:对待加固软件的原APK进行分析,得到对应壳DEX文件以及libsec.so文件;S2中具体内容包括:对原APK进行反编译,得到原APK的smali文件和文本格式的AndroidManifest文件,分析AndroidManifest是否具有application选择对应的壳模板smali文件,若AndroidManifest中有application组件,则选择具有application组件的壳模板smali文件,若AndroidManifest中没有application组件,则选择没有application组件的壳模板smali文件,得到壳模板smali文件并进行相应修改,最终得到壳模板文件,将得到的壳模板文件回编译成壳APK,解压获取壳DEX文件;S3、原APK解压步骤:解压原APK,获取解压后的文件,包括但不限于:原DEX文件和原SO文件;S4、assets文件生成步骤:对S3中获得的原DEX文件进行解析、提取,将结果保存在对应的assets文件中;S5、lib文件生成步骤:对S3中原SO文件以及libsec.so进行解析加密,将加密后的文件保存在对应的lib文件中;S6、文件添加步骤:根据S2中得到的对应壳DEX文件以及libsec.so文件分别生成壳DEX签名值以及核心SO签名值,将得到的核心SO签名值以及壳DEX签名值保存到加密class.bin文件中;S7、打包加固步骤:将S2中对应壳DEX文件、S4中对应assets文件、S5中对应lib文件以及S6中加密class.bin文件重新打包并签名生成加固后的APK;S4中具体步骤如下:S401:解析S3中得到的原DEX文件;S402:提取原DEX文件中代码段,对代码段加密、保存;S403:提取相应的元数据并保存,获得挖空后的DEX文件;S404:将S403中获得的挖空后的DEX文件压缩并保存;S405:将S402-S403中文件保存到assets目录中;S5中具体内容包括:解析S3中得到的原SO文件以及libsec.so,同时使用密钥变换技术对密钥进行保护;其中,对于壳SO文件libsec.so通过Jni_Onload函数进行加密并生成签名,并进行保存;对于原SO文件的对代码段进行加密并保存;二者均保存在lib文件中。
全文数据:
权利要求:
百度查询: 浙江数孪科技有限公司 一种基于Android移动端的软件加固方法及系统
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。