Android SDK加固使用文档(支持文档)
几维安全团队于2021年07月29日已上线全新的《Android SDK加固系统》(v2.0.0),主要更新内容如下:
将Android SDK拆分为单独的产品(除了配备"加固策略"模块外,还新增了"入口类管理"模块和"运营模块"模块),旨在降低用户的使用成本;
Android SDK加固支持.aar/.zip/.jar三种格式;
新增加密清单配置(支持:Java2C、SO加壳),用户可按需加固;
1 Android SDK加固流程
2 Android加固系统使用文档
2.1 查看"默认加固策略"
进入"加固策略"模块,其中"默认加固策略"为系统自带策略,不支持修改,仅提供查看功能。如有需要,请新增加固策略。
2.2 新增加固策略
步骤一:新增加固策略
① 进入"加固策略"模块,点击"新增加固策略"按钮(同一账号可根据实际业务需要新增无限个加固策略,企业内加固策略不共享,策略名称不能重复)。
② 填写"加固策略名称"后点击"确定"。
步骤二:配置加固策略的开启状态。
步骤三:若需开启Java2C防护或So加壳,请配置Java函数加密清单或So文件加密清单。
步骤四:编辑/删除加固策略。
2.3 入口类配置
步骤一:新增入口类(初始化类)
① 进入"入口类管理"模块,点击"新增入口类"。
备注:若开启Java2C功能,在加固时需选择或添加SDK入口类(若开启Java2C防护功能,加固过程中会生成一个ldp***.so文件,客户须提供初始化类用于加载生成的ldp***.so文件启动代码);
SDK入口类参考格式:com.kiwisec.demo.TopClass
② 填写"SDK入口类"(必填)、备注(选填项),点击"确定"。
步骤二:查看/编辑/删除入口类
2.4 Android SDK加固
步骤一:进入"Android SDK加固"模块,点击"+上传Android SDK(jar、aar、zip)"按钮。
步骤二:上传SDK(支持拖拽和本地上传),填写SDK(必填项)与备注(选填项),点击上传。
步骤三:选择"加固版本"、选择"加固策略"、选择或添加"入口类"(初始化类),点击下一步。
备注:
(1)若开启Java2C功能,在加固时需选择或添加SDK入口类(若开启Java2C防护功能,加固过程中会生成一个ldp***.so文件,客户须提供初始化类用于加载生成的ldp***.so文件启动代码);
(2)若未在"入口类管理"模块中提前配置,可直接填写,此外,还可选择是否将填写的入口类添加至"入口类管理"模块;
SDK入口类参考格式:com.kiwisec.demo.TopClass
步骤四:开始加固
步骤五:加固完成,下载加固后的SDK。
步骤六:查看加固记录,查看加固策略,重新下载加固包。
3.5 运营管理
通过"运营管理"-"SDK加固管理",进行Android加固的运营管理。
3 FAQ
3.1入口类是什么?
答:若开启Java2C功能,在加固时需选择或添加SDK入口类(若开启Java2C防护功能,加固过程中会生成一个ldp***.so文件,客户须提供初始化类用于加载生成的ldp***.so文件启动代码);
SDK入口类参考格式:com.kiwisec.demo.TopClass
3.2 zip格式SDK文件目录结构是什么?
答:① 将需要加固的*.jar 文件直接存放于zip的根目录;② 按照下图,将各个架构的so文件夹放在zip的根目录中的jni文件夹中
目前支持对armeabi、armeabi-v7a、arm64-v8a平台下的.so文件加固。
备注:当 SDK 内的 jar 包多于一个时,加固系统会自动将jar包进行合并,加固后仅输出一个 jar 加固包。
3.3上传SDK对应的下载格式是怎样的?
答:上传.aar下载.aar;上传.jar下载.aar;上传.zip下载.zip;
3.4为什么无法单独选择Java2C-So虚拟化、Java2C - So加壳?
答:这两个功能是针对Native层的保护技术,Java代码需编译成C代码,请先开启Java2C功能。
3.5能上传已加固的SDK吗?
答:尽量不要,若上传已加固的SDK,则有可能导致加固失败或运行崩溃。
3.6企业内的加固策略共享吗?
共享,但仅能查看与使用本账号建立的加固策略,本企业下非本账号建立的加固策略仅支持查看与使用。
3.7 "SDK加固管理"模块的数据共享吗?
共享,拥有"Android加固管理"模块的账号/角色,均可查看(但不能操作)所属公司下SDK加固的所有记录