据统计,超97%的Android应用遭受盗版侵袭,病毒木马肆虐、流氓软件和钓鱼应用随处可见,严重影响了开发者收益、客户端安全和体验。爱加密移动应用安全加固平台,可从根本上解决移动应用的安全缺陷和风险,通过Android应用加固、iOS应用加固、游戏应用加固、H5文件加固、微信小程序加固、SDK加固、SO文件加固和源对源混淆加固等技术,使加固后的移动应用具备防逆向分析、防二次打包、防动态调试、防进程注入、防数据篡改等安全保护能力。
爱加密始终以创新发展为宗旨,通过不断的提升产品和服务质量,为金融、政府、能源、交通、运营商等广大行业用户提供完善的移动安全服务。爱加密移动应用安全加固平台,优化了AAB加固能力;增强了源对源动态保护技术;全面支持服务端jar加固、PHP加固、Python加固等,安全防护能力不断提升,并以自主核心技术为突破点,持续引领行业风向标。
一、平台架构
二、源对源混淆-iOS端
对程序中的字符串进行保护,增大程序的分析难度:对字符串采取随机加密方式,运行时动态解密。
对C/C++代码中的函数所对应的控制流进行“横向”变扁边长,使其在常用反编译工具中,增加破解者分析难度,有效的保护核心算法的原始逻辑。
对C/C++函数中的运算表达式进行等效转换,使其在常用反编译工具中,增加破解者分析难度,有效的保护核心算法的原始逻辑。
在C/C++函数中,插入一些虚假的不可达指令或多余的跳转指令,在运行时刻这些插入的指令不会运行,在静态分析时难以被发现,从而保护用户的源代码安全。
局部变量名混淆
对源代码中的变量名进行混淆,混淆后的变量名为无意义的名称。
对应用进行完整性校验,发现应用被重签名,应用自动退出运行。
对应用代码段进行完整性校验,发现代码段被篡改,应用自动退出运行。
资源文件完整性校验
对应用资源文件进行完整性校验,发现资源文件被篡改,则退出运行。
不透明谓词
将代码中分支跳转判断条件由原来的确定值变为表达式,增加程序逻辑复杂性,降低代码可读性。
对方法名、类名进行混淆,增大分析难度,无法通过方法名、类名快速定位程序核心代码。
对应用进行防调试保护,检测到配置防动态调试功能的类、方法、函数被GDB、Xcode、LLDB工具进行动态调试时,应用自动退出运行。
当利用Framework或者Dylib等第三方库的方式对应用进行动态注入(越狱环境利用Cydia直接注入,非越狱环境利用yololib注入后重签)时,自动退出运行。
Hook检测
对应用进行防Hook保护,检测到配置防Hook保护功能的类、方法、函数在被Frida、Cydia Substrate工具动态注入时,应用自动退出运行。
采用随机化技术,相同加固策略下,每次混淆的输出结果是随机且不重复的,增强了代码的保护能力。
对填写的指定文件或者指定目录下面的所有文件不进行混淆。
三、AAB加固
对DEX文件进行整体加密,防止通过第三方反编译工具获取源码;
防止对DEX文件进行Java层动态调试。
将DEX文件中的方法名和方法体分离加密,防止查看;
按需解密,使用到函数时进行解密,内存中的DEX不连续存储;
防止通过内存DUMP获取明文DEX。
防止apktool、dex2jar等工具对APK进行反编译;
抽取加密APK内全部代码,防止查看;
防止通过内存DUMP获取APK源代码。
自定义虚拟指令,防止在内存中还原代码;
防止内存DUMP获取核心数据和代码;
增加黑客反编译代码后对业务逻辑的理解难度。
对so库文件进行高强度加壳加密;
防止在内存中整体DUMP出未加密的so库;
防止通过IDA Pro还原so库。
爱加密so Linker安全加固对整个so文件进行加密压缩,包括代码段、导出表和字符串等,运行时再解密解压缩到内存,从而有效的防止so数据的泄露。使用so Linker,隐藏so的基地址,有效的防止so被DUMP。
使用函数运行时动态加解密技术(FRAEP),在运行前进行解密,运行结束后进行加密,从而保证了so即使被DUMP,也无法反汇编出源码(so函数指令不运行时,在内存中处于加密状态)。so Linker代码使用爱加密自有的so VMP技术保护,大大增强了反调试代码被跟踪的难度。
将so同APP的绑定,保证so文件无法被复制到其他APK中使用
防止攻击者直接调用so库功能
防止通过篡改APK制作恶意软件、钓鱼应用
防日志泄露
拦截日志输出接口;
拦截到的日志信息不在进行输出打印操作。
本地Sharepferences数据加密
Sharepreferences读写过程中的自动拦截加密、解密;
加密so库进行加固,混淆保护,防止算法本身被破解。
防止GDB、IDA Pro等动态调试工具调试APK;
保护内存数据不被读取;
保护内存数据不被篡改。
实时检测APK运行环境,监控内存和进程状态;
检测到内存注入时,则自动退出。
实时检测APK运行环境;
发现APK运行在模拟器环境,则弹出警告信息或自动退出;
防止各类通过模拟器执行的攻击手段。
防止应用被TraceView工具分析,防止跟踪查看APP的执行流程、函数调用图,保护APP的核心业务逻辑。
HOOK攻击框架检测,可以检测部分Xposed框架、Substrate框架、Frida框架
检测到HOOK框架自动退出运行。
防止APK被自动化截取界面;
保护用户的账号、密码、银行卡等数据安全。
防止APK正常界面被恶意替换为仿冒界面;
应用遭受劫持攻击时,自动弹出警告信息,提醒用户;
防止各类钓鱼应用。
四、服务端Jar加固
对服务端Jar(Web服务端应用的开发涉及到第三方SDK)以及Windows上面的可执行Jar文件进行虚拟化保护,防止通过逆向分析获取源代码,保护SDK代码、业务逻辑不被泄漏。
对服务端Jar进行VMP保护,将原始指令转化为爱加密自定义虚拟机指令,使用自定义虚拟机解释器解释执行,防止通过逆向分析获取源代码,保护SDK代码、业务逻辑不被泄漏。
对Jar进行语法分析以及逻辑分析,解析出代码中字符串的位置,然后对字符串进行混淆以及加密,使破解者无法使用它来快速定位程序核心代码的位置。
防止通过动态调试的方式获取服务端Jar的核心代码逻辑。检测到Jar被动态调试,则自动退出运行。
五、PHP加固
对PHP文件中的源代码进行加密,加密后无法直接查看PHP文件中明文的源代码。
平台优势:
1、加固包增量小
加密后包增量大小不超过原包“±5%”。
2、兼容性好
加固包兼容性高达99%,实现ART全面兼容。
3、全面的移动应用安全加固技术
支持Android应用加固、iOS应用加固、游戏应用加固、H5文件加固、Android SDK加固、so文件加固。
4、高效的性能,节约时间
应用加固时间短,可即时获取加固后的应用。
5、无人工操作,节约成本
全自动一键操作,无需专业的安全技术人员参与,大幅降低人力开销及技术学习成本。