干货,移动安全安卓编译器产品说明书
Android系统和应用开发环境主要为JAVA环境+NDK工具链,由于JAVA语言元数据丰富的特点,被反编译的风险也就非常高,市面上很多免费的或者收费都能轻松的将JAVA开发的程序反编译近乎源码的状态,导致整个程序逻辑完全暴露,所以当前阶段更多的公司的关键代码使用NDK工具链进行开发,由于NDK工具链开发语言为C/C++语言,程序大大的提高了逆向分析难度,但是也有被分析的可能,所以几维安全提供了基于NDK工具链的代码加密产品-几维安全安卓编译器,提供对原始汇编代码进行变形,膨胀,加花等代码混淆功能,以及代码中可读字符串加密功能,能够有效的打乱代码逻辑,隐藏代码关键信息,使得逆向分析难上加难。
加密方式:
指定NDK工具链路径,一键安装;在源码项目中指定需要加密的函数即可按照正常编译流程进行编译。
加密效果:
下图为项目源码函数,包括了简单的代码逻辑和部分字符串的使用(图1)。
图1(源码状态)
下图为项目源码经过NDK工具链编译后是用IDA工具的反汇编状态(图2)和反编译C伪代码(图3),程序字符串引用(图4):
图2(未加密反汇编状态)
图3(未加密C伪代码)
图4(未加密字符串引用)
下图为项目源码经过安全编译器编译后用IDA工具的反汇编状态(图5)和反编译C伪代码(图6),程序字符串引用(图7):
图5(加密后反汇编)
图6(加密后C伪代码)
图7(加密后字符串引用)
兼容
1. 安卓编译器只对代码进行加密,无任何外部系统依赖和修改,不干预应用正常执行流程,加密代码和业务代码完全融合,无任何兼容性问题。
2. 数百台真实手机云测,覆盖不同品牌手机和全部操作系统版本。