JAR/AAR包加固

JAR/AAR包加固的原理是什么?

易盾的JAR/AAR包加固方案是对要保护的类的方法进行抽空并加密处理,在运行时通过自定义虚拟机执行,从而使得破解者无法得到原始代码逻辑。

服务对接过程需要提供哪些文件?

需提供以下文件:

文件类型何时需提供
待处理的classes列表文件必须要提供
mapping文件如果用户在开发SDK时使用了proguard混淆则要提供,否则无需提供

classes列表文件是什么?为何需要提供该文件?

classes列表文件是一些接口类,这些类是从待加固SDK中选出来的需要重点保护的逻辑类,也就是说如果用户的SDK中的某个类要重点保护,那么应该将其添加到classes文件列表中,类的格式为原始类的路径名称,每行一个类,如下是一个示例:

com.example.class1
com.example.class2

建议不要设置太多的保护类,只需设置重点保护类即可。

mapping文件是什么?在哪里可以找到mapping文件呢?

如果用户在开发SDK的时候使用了proguard混淆,那么会在build/outputs/mapping/release/目录下看到名为mapping.txt的文件,该文件即为mapping文件。如果用户在开发SDK时未使用混淆规则则无需该文件。

JAR/AAR包加固后的proguard规则需要改吗?

如果引用sdk的主工程开启了proguard混淆则需要,此时需要在原工程的proguard-rules.pro中增加如下内容

-keep public class com.netease.nis.sdkwrapper.Utils {public <methods>;}

加固后使用SDK有哪些需要注意的地方吗?

如果是多SDK模式,多个SDK可随意搭配,只需要引用一份nesecsdk.aar即可。如果是单SDK模式,我们会将nesecsdk.aar内置到加固后的SDK中,所以此时只需引用加固后SDK即可。

Online Chat Tel:95163223