Android_360加固

内容分享2个月前发布
3 1 0
全能 AI 聚合平台 免费

一站式接入主流 AI 大模型,支持对话 · 生图 · 生视频,即开即用

ChatGPT Claude Gemini Grok DeepSeek 通义千问 Ollama
AI对话 AI生图 AI视频
免费使用 →

本文目标

使用360加固保来加固项目

步骤

一.下载360加固保

Android_360加固

需要自己创建账号,本文用Mac为例,点击Mac下载

二.复制文件到项目中

Android_360加固

把jiagu文件夹整体复制到项目根目录中,我这里改了个名字为360jiagu

Android_360加固

三.创建360protect.gradle文件到项目跟目录中

/**
 *   -login <username>                       首次使用必须先登录 <360用户名>
 *                 <password>                              <登录密码>
 *         -importsign <keystore_path>             导入签名信息 <密钥路径>
 *                 <keystore_password>                     <密钥密码>
 *                 <alias>                                 <别名>
 *                 <alias_password>                        <别名密码>
 *         -importmulpkg <mulpkg_filepath>         导入多渠道配置信息,txt格式
 *         -showsign                               查看已配置的签名信息
 *         -showmulpkg                             查看已配置的多渠道信息
 *         -deletemulpkg                   清除已配置的多渠道信息
 *         -help                                   显示协助信息
 *         -config                                 配置加固可选项
 *         ----------------------可选增强服务-------------------------------
 *                 [-crashlog]                             【崩溃日志分析】
 *                 [-x86]                                  【x86支持】
 *                 [-analyse]                              【加固数据分析】
 *                 [-nocert]                               【跳过签名校验】
 *                 [-piracy]                               【盗版监测】
 *         ----------------------高级加固选项-------------------------------
 *                 [-vmp]                                  【全VMP保护】
 *                 [-data]                                 【本地数据文件保护】
 *                 [-assets]                               【资源文件保护】
 *                 [-filecheck]                            【文件完整性校验】
 *                 [-ptrace]                               【Ptrace防注入】
 *                 [-so]                                   【SO文件保护】
 *                 [-dex2c]                                【dex2C保护】
 *                 [-string_obfus]                         【字符串加密】
 *                 [-dex_shadow]                           【DexShadow】
 *                 [-so_private]                           【SO防盗用】
 *                 [-double_check]                         【双开检测】
 *         -----------------------------------------------------------------
 *         -config_so                      配置需要加固的SO文件,以空格分隔
 *         -config_assets                  配置需要忽略的资源文件,以空格分隔
 *         -config_so_private              配置防盗用的SO文件,以空格分隔
 *
 *         -showconfig                             显示已配置加固项
 *         -version                                显示当前版本号
 *         -update                                 升级到最新版本
 *         -jiagu <inputAPKpath>                   加固命令 <APK路径>
 *                 <outputPath>                            <输出路径>
 *                 [-autosign]                             【自动签名】
 *                 [-automulpkg]                           【自动多渠道】
 *                 [-pkgparam mulpkg_filepath]             【自定义文件生成多渠道】
 */

// 签名配置
ext {
    signing = [
            keyAlias     :  mall ,
            keyPassword  :  123456 ,
            storeFile    : "../as_key_store",
            storePassword:  123456 
    ]

// app相关的配置
    app = [
            //默认release apk的文件路径,由于加固是基于release包的
            releasePath: "${project.buildDir}/outputs/apk/release",
            //对release apk 加固后产生的加固apk地址
            packersPath: "${project.buildDir}/outputs/packers",
    ]

// 360加固配置
    packers = [account :  *********** , //账号,替换成自己的账号
               password:  ****** ,  //密码,替换成自己的密码
               jarPath : "../360jiagu/jiagu.jar",  //执行命令的jar包路径
    ]
}

task protect360() {
    dependsOn("assembleRelease")
    doLast {
        println  packers===beginning 360 jiagu 
        def releaseApkDir = file(app["releasePath"])
        def releaseApk = null
        releaseApkDir.eachFile { file ->
            if (file.isFile() && file.name.endsWith(".apk")) {
                releaseApk = file
                return
            }
        }
        def packerDir = new File(app["packersPath"])
        if (!packerDir.exists()) {
            packerDir.mkdirs()
        }
        exec {
            // 登录360加固保
            executable =  java 
            args = [ -jar , packers["jarPath"],  -login , packers["account"], packers["password"]]
        }
        exec {
            // 导入签名信息
            executable =  java 
            args = [ -jar , packers["jarPath"],  -importsign , signing["storeFile"], signing["storePassword"], signing["keyAlias"], signing["keyPassword"]]
        }
        exec {
            // 查看360加固签名信息
            executable =  java 
            args = [ -jar , packers["jarPath"],  -showsign ]
        }
        exec {
            // 初始化加固服务配置
            executable =  java 
            args = [ -jar , packers["jarPath"],  -config ]
        }
        exec {
            // 执行加固,然后自动签名,若不采取自动签名,需要自己通过build-tools命令自己签名
            executable =  java 
            args = [ -jar , packers["jarPath"],  -jiagu , releaseApk.absolutePath, app["packersPath"],  -autosign ]
        }
        println  packers===360 jiagu finished 
        println "packers===360 jiagu path ${app["packersPath"]}"
    }
}

在app中的build.gradle文件中应用

apply from:  ../360protect.gradle 

四.使用

360加固是基于release包进行加固的的,可以在Terminal中输入

./gradlew protect360

也可以在app—>Tasks—> other—>protect360
加固成功后apk路径:

/Users/houyadong/iProject/ASProj/app/build/outputs/packers/app-release_10_jiagu_sign.apk 

Android_360加固

Android_360加固

Android_360加固

© 版权声明

相关文章

1 条评论

  • 头像
    WardellRex 投稿者

    下载windows 版本,mac 里面是个dmg 文件

    无记录
    回复