怎么加固安卓软件????
加固安卓软件一般要达到以下效果:1、防逆向:通过DEX 文件加壳以及DEX 虚拟化等技术,防止代码被反编译和逆向分析。2、防篡改:通过校验 APK 开发者签名,防止被二次打包,植入广告或恶意代码。3、防调试:防止应用被 IDA、JEB 等工具调试,动态分析代码逻辑。VirboxProtector安卓加固的核心技术一般有:DEX 文件加密隐藏对 DEX 文件加壳保护,防止代码被窃取和反编译。SO 区段压缩加密对 SO 库中的代码段和数据段压缩并加密,防止被 IDA 等工具反编译。单步断点检测在混淆的指令中插入软断点检测暗桩,防止native层run trace和单步调试。防动态调试防止应用被 IDA、JEB 等工具调试,动态分析代码逻辑。开发者签名校验对 APK 中的开发者签名做启动时校验,防止被第三方破解和二次打包。SO 内存完整性校验在 SO 库加载时校验内存完整性,防止第三方对 SO 库打补丁。SO 代码混淆对 SO 库中指定的函数混淆,通过指令切片、控制流扁平化、立即加密等技术手段,将 native 指令转换为难以理解的复杂指令,无法被 IDA 反编译,并且无法被还原。SO 代码虚拟化对 SO 库中指定的函数虚拟化,可以将 x86、x64、arm32、arm64 架构的机器指令转换为随机自定义的虚拟机指令,安全强度极高,可通过工具自定义配置,调整性能与安全性。DEX 虚拟机保护对 DEX 中的 dalvik 字节码进行虚拟化,转换为自定义的虚拟机指令,最后由 native 层虚拟机解释执行,防止逆向分析。
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安全等级可以了解下。
为什么要对安卓的APP进行应用加固
app发布前,最好做一下扫描和加固,应用扫描可以通过静态代码分析、动态数据跟踪,定位出风险代码(目前好多都是只告诉APK包里面有风险),同时监控敏感数据的异常行为。
加固可以在一定程度上保护自己核心代码算法,提高破解/盗版/二次打包的难度,缓解代码注入/动态调试/内存注入攻击等
但也对应用的兼容性有一定影响,加壳技术不行的话,还会影响程序运行效率.
目前市面上有很多第三方加固的平台, 如果新应用发布前需要扫描或者加固的话,可以先试试免费的,例如腾讯御安全,建议自己先去扫描测试下。
android 360上架会不会自动加固
不会自动加固的,需要自己手动去处理,参考内容:
360加固保基于360核心加密技术,对安卓应用进行加固保护,能有效避免应用被恶意破解、反编译、二次打包、内存抓取等。同时给应用提供数据加密、签名校验、防内存修改、完整性校验、盗版监测等保护功能,给予安卓应用最强保护,从源头消灭恶意盗版应用。作为移动互联网安全服务行业的领跑者,360加固保将持续关注手机应用安全的发展,不断完善加固保服务,切实保护开发者收入和权益。