1 Star 0 Fork 1

leon2017 / ClassResGuard

forked from coolxinxin / ClassResGuard 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

ClassResGuard

前言

改过马甲包的都知道每次修改都需要修改大量文件名称,ClassResGuard由此而来,一键修改className,resName,添加垃圾文件 下面会有详细介绍,修改完所有引用的地方都会一键替换成最新修改的,修改layout名称的同时可以修改class中相对应的binding名称 一键添加垃圾类(普通java class,Activity class,layout,drawable,并且Activity会 自动在AndroidManifest.xml里注册,还会绑定生成的垃圾xml), 下面会有详细介绍.

如果觉得此库不能满足你的需求可以看看XmlClassGuard

警告警告⚠️

由于是在本地操作,任务执行是不可逆的,故务必做好代码备份,否则代码将很难还原

使用

1.在setting.gradle里配置

pluginManagement {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

2.在build.gradle(project)中配置

buildscript {
    dependencies {
        classpath "com.github.coolxinxin:ClassResGuard:1.0.6"
    }
}

3.在build.gradle(app)中配置

apply plugin: "class-res-guard"

//以下前缀名称为必须,可参考以下配置
classResGuard {
    //renameClass Task
    //Class的前缀名称,固定前缀配单个,随机前缀配置需要随机的前缀数组["Large","SuperT"]
    classPrefixName = ["Leo"]
    //renameDir Task
    //dir的前缀名称,配置同上
    dirPrefixName = ["leo"]
    //renameRes Task
    //res的前缀名称,配置同上
    resPrefixName = ["leo_ta"]
    //需要修改的res文件目录
    changeResDir = ["drawable", "layout", "mipmap-hdpi"]
    //addJunkFile Task
    //生成java垃圾文件的目录,可以配置不存在的目录
    junkPackage = "com.leos.superplugin.junk"
    //需要导入的R资源文件包,切记不要配错,否则垃圾文件中的R资源文件包需要自己手动导入
    junkResPackage = "com.leos.superplugin"
    //生成java Activity垃圾文件中的方法数
    activityClassMethodCount = 10
    //生成java Activity文件的数量
    activityClassCount = 1
    //生成java 普通垃圾文件中的方法数
    normalClassMethodCount = 0
    //生成java 普通文件的数量
    normalClassCount = 0
    //生成layout文件的数量
    layoutClassCount = 1
    //生成layout文件中view的数量
    layoutClassMethodCount = 10
    //生成drawable文件的数量
    drawableClassCount = 0
    //添加color资源的数量 values/color.xml
    colorCount = 10
    //添加string资源的数量 values/strings.xml
    stringsCount = 10
    //color的前缀名称,colorCount>0时,必须配置
    colorPrefixName = ["leo"]
    //strings的前缀名称,可配可不配
    stringsPrefixName = [""]
}

如图看到以下任务

image

任务介绍

分别是addJunkFile,renameClass,renameDir,renameRes这4个任务之间没有任何关系,下面将一一介绍这些任务的功能

1.addJunkFile

该任务是一个添加垃圾文件的任务,添加一些垃圾资源降低Google的代码查重率

classResGuard {
   //生成java垃圾文件的目录,可以配置不存在的目录
    junkPackage = "com.leos.superplugin.junk"
    //需要导入的R资源文件包,切记不要配错,否则垃圾文件中的R资源文件包需要自己手动导入
    junkResPackage = "com.leos.superplugin"
    //生成java Activity垃圾文件中的方法数
    activityClassMethodCount = 10
    //生成java Activity文件的数量
    activityClassCount = 1
    //生成java 普通垃圾文件中的方法数
    normalClassMethodCount = 0
    //生成java 普通文件的数量
    normalClassCount = 0
    //生成layout文件的数量
    layoutClassCount = 1
    //生成layout文件中view的数量
    layoutClassMethodCount = 10
    //生成drawable文件的数量
    drawableClassCount = 0
    //添加color资源的数量 values/color.xml
    colorCount = 10
    //添加string资源的数量 values/strings.xml
    stringsCount = 10
    //color的前缀名称,colorCount>0时,必须配置
    colorPrefixName = ["leo"]
    //strings的前缀名称,可配可不配
    stringsPrefixName = [""]
}

2.renameClass

该任务是一个修改class文件的任务,在所有的class类名前加前缀,需要固定前缀配单个,需要随机前缀配置多个前缀,如["Large","SuperT"]

classResGuard {
   //Class的前缀名称,固定前缀配单个,随机前缀配置需要随机的前缀数组["Large","SuperT"]
    classPrefixName = ["Leo"]
}

3.renameDir

该任务是一个修改文件夹名称的目录,注:只修改有文件的文件夹目录,没文件的目录不会被修改

classResGuard {
    //dir的前缀名称,配置同上
    dirPrefixName = ["leo"]
}

4.renameRes

该任务是一个修改res资源文件的任务,class中的binding名称也会相对应的修改,无需手动修改任何文件

classResGuard {
   //res的前缀名称,配置同上
    resPrefixName = ["leo_ta"]
    //需要修改的res文件目录
    changeResDir = ["drawable", "layout", "mipmap-hdpi"]
}
MIT License Copyright (c) 2022 coolxinxin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

一个超全的Android马甲包混淆工具 展开 收起
Kotlin
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Kotlin
1
https://gitee.com/leonwangjun/ClassResGuard.git
git@gitee.com:leonwangjun/ClassResGuard.git
leonwangjun
ClassResGuard
ClassResGuard
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891