几维资讯> 几维动态

干货,移动安全安卓编译器产品说明书

几维安全 2018-02-01 04:01:20  10619
分享到:

Android系统和应用开发环境主要为JAVA环境+NDK工具链,由于JAVA语言元数据丰富的特点,被反编译的风险也就非常高,市面上很多免费的或者收费都能轻松的将JAVA开发的程序反编译近乎源码的状态,导致整个程序逻辑完全暴露,所以当前阶段更多的公司的关键代码使用NDK工具链进行开发,由于NDK工具链开发语言为C/C++语言,程序大大的提高了逆向分析难度,但是也有被分析的可能,所以几维安全提供了基于NDK工具链的代码加密产品-几维安全安卓编译器,提供对原始汇编代码进行变形,膨胀,加花等代码混淆功能,以及代码中可读字符串加密功能,能够有效的打乱代码逻辑,隐藏代码关键信息,使得逆向分析难上加难。

加密方式:

指定NDK工具链路径,一键安装;在源码项目中指定需要加密的函数即可按照正常编译流程进行编译。

加密效果:

  1. 下图为项目源码函数,包括了简单的代码逻辑和部分字符串的使用(图1)。

    安卓编译器.png

    图1(源码状态)

  2. 下图为项目源码经过NDK工具链编译后是用IDA工具的反汇编状态(图2)和反编译C伪代码(图3),程序字符串引用(图4):

    安卓编译器1.jpg

    图2(未加密反汇编状态)

    安卓编译器2.jpg

    图3(未加密C伪代码)

    安卓编译器3.jpg

    图4(未加密字符串引用)

  3. 下图为项目源码经过安全编译器编译后用IDA工具的反汇编状态(图5)和反编译C伪代码(图6),程序字符串引用(图7):

    安卓编译器4.jpg

    图5(加密后反汇编)

    安卓编译器5.jpg

    图6(加密后C伪代码)

    安卓编译器6.jpg

    图7(加密后字符串引用)

    兼容

    1. 安卓编译器只对代码进行加密,无任何外部系统依赖和修改,不干预应用正常执行流程,加密代码和业务代码完全融合,无任何兼容性问题。

    2. 数百台真实手机云测,覆盖不同品牌手机和全部操作系统版本。

分享到:



《安卓应用加密》 《Unity3D手游加密》 《源代码加密》 《移动端的KiwiVM虚拟机》