目前,市面上安卓的APP应用通常采用Java语言编写的,由于其开发门槛低,容易被反编译。黑客通过反编译APK得到源码后,会在应用中插入代码,获取利益,比如添加广告、盗取用户账号密码、后台定制活动等,对企业和用户造成极大的危害。而近年来由于移动应用行业的利益吸引,以及逆向破解工具(如IDA Pro、dex2jar、LLDB、GDB等)的成熟,降低了逆向分析应用的门槛,许多攻击者开始利用这些工具逆向破解移动应用来获利,移动应用安全面临新一轮的巨大威胁。
为了给用户提供更为安全的移动应用,有效减少反编译、二次打包、植入广告木马等操作,几维安全先后推出了多项移动应用加固服务,如代码混淆产品——《几维安全编译器》,代码虚拟化产品——《KiwiVM虚拟机》《移动APP安全检测系统》《移动APP安全加密系统》等。
面对新的攻击手段,几维安全最新推出了全平台端安全产品——Java2C加密方案。该方案能够有效防控基于移动应用的核心技术窃取、核心业务破解、通信模块破解、API接口暴露等威胁,保护反欺诈SDK、应用核心算法、加密算法及密钥、账号认证过程的安全。
Java2C是移动端新一代DEX加密方案,可直接对安卓应用包的APK文件进行加密,将DEX文件转化成IR指令,再把这层指令编译成汇编指令,为了使汇编指令得到更强的保护,再结合几维安全私有的ndk编译器对汇编指令控制流做二次混淆处理,也可以直接无缝接入KiwiVM虚拟机,对汇编指令执行虚拟化操作处理,使安全保护更上一个台阶。
几维安全Java2C加密方案的功能特点
防逆向破解
相比于传统的DEX加壳、函数抽取加密等方式,Java2C加密方案具有更高的安全性,可以保护核心Java代码。
Native层加密
Java2C加密方案将DEX文件编译成汇编指令后,再通过ndk安全编译器或者几维KiwiVM虚拟机二次处理,从而使得逆向分析的难度更高。
上手简易
不改变现有开发流程,提供APK包即可完成加密,零门槛零负担。
兼容性良好
由于java2C以及代码混淆都是代码级编译,不存在加壳等方式,所以不存在兼容性问题。
几维安全Java2C加密方案示例
图1:源码,逆向为smail代码
图2:转变成native方法
图3:转变成汇编语言
图4:打开java2C后的汇编指令
几维安全一直致力于打造全球顶级的移动应用加固产品,从移动应用安全检测评估到Android/IOS双平台安全加固,再到Java2C加密方案以及全球独创的虚拟化保护技术,拥有完善的产品体系,几维安全团队用专业的技术和服务保障着客户的移动核心资产安全。
欢迎感兴趣的企业申请试用几维安全产品。
领取专属 10元无门槛券
私享最新 技术干货