1.  Android apk加密流程

反调试功能,可抵挡动态调试,可以避免通过IDA等逆向工具分析获取源码 ,签名校验功能,可以防止二次打包签名,可以对Android APK里关键代码、核心逻辑进行加密保护。

使用流程

1、将Android APK直接拖入到加壳工具中。

2、在加密选项处进行设置

  • 勾选反调试按钮,则使用IDA等调试工具调试时,程序会直接退出。
  • 勾选签名校验按钮,且进行签名设置,输入自己的keystore文件和密码(密钥别名和密钥密码选填)

3、设置完成后,点击【保护选中项目】,安装保护生成后的apk即可运行。

点击【保护选中项目】后,生成.ssp.apk 是加密后的apk文件。

2. so文件加密流程

将apk解压,然后对文件夹lib目录下的so库使用加壳工具进行保护,如图所示:

操作流程

  1. 解压APK或将原始的需要保护的SO文件导入Virbox Protector中

  2. 配置函数选项,设计个性化的保护方案

  3. 配置加密选项

  4. 执行保护

  5. 备份原始文件,将受保护的文件更名后替换原文件,保存好配置文件,并重新打包签名

1.导入文件

可直接将so文件拖入到Virbox Protector

2.配置函数选项

点击添加函数,选择函数及保护方式(代码混淆、代码加密)。

3.配置加密选项

可设置压缩及反调试

4.执行保护

点击保护选中项目即可保护成功

5.替换文件

温馨提示:加壳后的程序会在同一目录下生成两个新文件:libmain.so.ssplibmain.ssp.so

libmain.ssp.so为保护后的程序,请备份好未经保护的libmain.so,并将libmain.ssp.so名称修改为libmain.so

libmain.so.ssp为配置文件,保存了加密过程中的所有配置项目

Android Unity3D

针对Unity3D编译选项时选择的mono和IL2CPP格式,两种保护方式不同。

mono格式

1、先将Android Unity3D apk解压,查看lib库目录,如图所示:

2、若是lib目录下含有libmono.so库,那么说明Unity3D编译选项时选择的是mono,此时需要对apk整个目录进行加壳。如图所示:

3、可以直接在资源加密选项处点开启用按钮,可以对Unity3D中的资源文件进行加密保护。

4、加壳成功后会生成ssp.apk,然后重新对加壳后的ssp.apk进行签名打包,才能正常安装。

IL2CPP格式

1、先将Android Unity3D apk解压,查看lib库目录,如图所示:

2、若是lib目录下含有libil2cpp.so库,那么说明Unity3D编译选项时选择的是IL2CPP,此时需要对lib目录下的so库进行保护。


3、保护完成后,对文件夹重新打包签名安装即可。