JAR/AAR包加固

2021.07.08 16:40:10

    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