APK加固原理是什么?如何进行android apk加固?
APK加固是对APK代码逻辑的一种保护,原理是将APK文件进行某种形式的转换,包括不限于隐藏、混淆、加等操作,进一步保护软件的利益不受损坏。
常见APK应用加固主要有DEX文件、SDK文件、SO文件加固这三类。DEX加固技术包括混淆代码、整体DEX加固、拆分DEX加固、虚拟机加固、Java2C加固,当前性能最强的加固方案是Java2c,将java指令转成c/c++指令,并做虚假控制流、字符串加密等处理,逆向难度最高。SO库文件一般存放着核心算法、重要协议等重要信息。SO加固大概可以分为有源保护和无源保护,有源保护分为自解密、混淆、源码VMP等,无源保护分为加壳、VMP保护。
APK加固后,可以降低被逆向破解风险,目前有些云安全平台提供系统的APP加固服务,如网易易盾、360加固、阿里云等,想要系统提升APK安全等级可以了解下。
apk加固?apk需要进行加固,防二次打包、破解,哪个公司apk加固比较靠谱的?麻烦各位给推荐下!
apk加固一般要达到以下效果:
1、防逆向:通过DEX 文件加壳以及DEX 虚拟化等技术,防止代码被反编译和逆向分析。
2、防篡改:通过校验 APK 开发者签名,防止被二次打包,植入广告或恶意代码。
3、防调试:防止应用被 IDA、JEB 等工具调试,动态分析代码逻辑。
VirboxProtector安卓加固的核心技术有:
DEX 虚拟机保护:对 DEX 中的 dalvik 字节码进行虚拟化,转换为自定义的虚拟机指令,最后由 native 层虚拟机解释执行,防止逆向分析。
DEX 文件加密隐藏:对 DEX 文件加壳保护,防止代码被窃取和反编译。
SO 区段压缩加密:对 SO 库中的代码段和数据段压缩并加密,防止被 IDA 等工具反编译。
单步断点检测:在混淆的指令中插入软断点检测暗桩,防止native层run trace和单步调试。
防动态调试:防止应用被 IDA、JEB 等工具调试,动态分析代码逻辑。
开发者签名校验:对 APK 中的开发者签名做启动时校验,防止被第三方逆向和二次打包。
SO 内存完整性校验:在 SO 库加载时校验内存完整性,防止第三方对 SO 库打补丁。
SO 代码混淆:对 SO 库中指定的函数混淆,通过指令切片、控制流扁平化、立即加密等技术手段,将 native 指令转换为难以理解的复杂指令,无法被 IDA 反编译,并且无法被还原。
SO 代码虚拟化:对 SO 库中指定的函数虚拟化,可以将 x86、x64、arm32、arm64 架构的机器指令转换为随机自定义的虚拟机指令,安全强度极高,可通过工具自定义配置,调整性能与安全性。
安卓apk应用如何进行安全加固
1、首先登陆腾讯云,选择“云产品”------“应用加固”,在弹出的页面中选择“立即使用”;
2.使用app加固对安卓软件进行加固,可以保护我们的隐私,而且腾讯云的应用加固使用也非常的简单,能够有效的对存储数据进行加密保护;拥有防调试、恶意代码植入保护;反编译和环境监测保护等功能。
3.准备好app应用后,选择“申请加固”,在弹出的窗口中上传自己需要加固的apk应用程序,这里注意下:apk应用程序必须小于100M;
4.待上传解析完毕后,就可以进行加固了,这里我们选择默认即可,也可以根据自己的需求自定义:
目前支持以下三种格式:
1.method com.test.ClassName *
表示需要加固com.test.ClassName类下的所有方法
2.method * onCreate
表示需要加固所有类的onCreate方法
3.method com.test.ClassName onCreate
表示需要加固com.test.ClassName类下的onCreate方法
5.稍等片刻后,就会加固成功,然后下载加固后的app应用,重新签名后就可以发行使用了,非常的简单。
类似的应用加固平台还有很多,比如娜迦,爱加密等等,都能有效的保护app应用,防止一些恶意代码的写入和逆向破解。
360加固保加固apk并自动签名
原文地址: http://www.xdowns.com/article/170/Article_5940.html
(2)弹出提醒框,选择“取消”,即可开始加固(下图)。
(3)加固的应用显示在任务栏,状态栏实时显示加固过程中的具体状态。
(4)加固完成后弹出提醒框。点击“确定”打开APK输出路径(见下图)。
也可在列表里选中任务,右击鼠标选择“打开输出文件所在路径”。系统将自动打开APK输出路径。
(2)勾选“启动自动签名”,点击“浏览”按钮,选择Keystore文件(密钥仓库),输入Keystore密码,密码正确后会显示别名,然后输入正确的别名密码,点击“添加”,然后单击“确认”或关闭按钮即可。如下图:
(2)勾选“启动多渠道打包”选项。
(3)根据需要的渠道包,填写相关的配置信息,单击“添加”按钮。
4)表头处蓝色开关按钮为“全选”按钮,可对添加的渠道一次性进行开关操作。
5)“导入”按钮支持导入保存渠道信息的TXT文档。“统计平台”、“渠道名称”、“渠道编号”信息用空格隔开,具体形式见下图。
360加固保,梆梆加壳(apk)
1.加固需要重新签名:
签名文件在 android/app/my-relea-key.keystore
签名密码在:gradle.properties 的MYAPP_RELEASE_STORE_PASSWORD 867789
2.加固平台: 账号:18069788087
360 加固保:jiagu.360.cn
https://jiagu.360.cn/#/global/download
安装包:206 D/soft
3.加固平台:梆梆安全
导出-导出签名apk
梆梆安全加固的app安装后打开部分手机会闪退
安卓Apk加固、重签名
应用宝在线加固: https://console.cloud.tencent.com/ms/reinforce/introduce
加固完成后,需要对加固后的包进行重新签名(腾讯云应用安全在线加固的时候会将您的签名信息删除后再加固,所以加固后的安装包是没有签名信息的,需要您对加固包重新签名)
使用乐固进行重签名:
至此,完成。