美文网首页
android 混淆进行代码去重

android 混淆进行代码去重

作者: 众少成多积小致巨 | 来源:发表于2021-05-12 15:12 被阅读0次

    Android 中开发SDK已经集成了ProGuard工具,开发者可以从SDK目录下的\tools\proguard目录中进行查看。并且使用gradle编译时已经可以根据配置进行混淆。

    ProGuard是一个免费的Java类文件收缩,优化,混淆和预校验器。它可以检测并删除未使用的类,字段,方法和属性。它可以优化字节码,并删除未使用的指令。它可以将类、字段和方法使用短无意义的名称进行重命名。

    简单的理解,就是一种映射以及一些优化;而这里讲到的去重,则是改变映射规则,同一个类,映射成两个功能相同但代码显示差别很大的类

    首先看一下下面:

    android {
        ......
    
        buildTypes {
            release {
                minifyEnabled true
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro', 'main_dic.pro'
                signingConfig signingConfigs.release
            }
            debug {
                signingConfig signingConfigs.release
            }
        }
    
        ......
    }
    
    

    minifyEnabled true:进行开启混淆

    proguardFiles:设置混淆规则;可以多个规则文件

    getDefaultProguardFile('proguard-android-optimize.txt'):sdk中带混淆规则

    在配置文件中,可以进行下面配置,进行配置字典,

    -obfuscationdictionary dic.txt
    -classobfuscationdictionary dic.txt
    -packageobfuscationdictionary dic.txt
    

    dic.txt即为字典文件;默认字典是abcd字母;为了加大阅读难度,应该尽可能0、o、O来进行混合;

    相关文章

      网友评论

          本文标题:android 混淆进行代码去重

          本文链接:https://www.haomeiwen.com/subject/icuadltx.html