StringFuck icon indicating copy to clipboard operation
StringFuck copied to clipboard

Yet Another String Obfuscator for Android

StringFuck

Yet Another String Obfuscator for Android

MavenCentral

一个字符串混淆器,旨在防止被 jadx、MT 等工具一键解密

目前还很简陋,只能简单骗过反编译器(毕竟纯 Java)

可能存在不少 bug,只是个玩具,不适用于生产环境

Features

  • 只支持 AGP 7+
  • 支持 API 24-32
  • 防一键解密(目前很简陋,人工还是容易找到解密类)
  • 低侵入性,只需在启动时调用一行初始化语句
  • 不需要任何 proguard 规则

使用方法

plugins {
    id("icu.nullptr.stringfuck") version "0.2.2"
}

dependencies {
    implementation("icu.nullptr.stringfuck:library:0.2.2")
}

stringFuck {
    // 解密密钥,ByteArray 类型
    key = xxx
    // 或使用 setKey(String)
    
    // 编译时是否输出调试信息
    isPrintDebugInfo = false
    
    // 是否在 debug buildType 中使用
    isWorkOnDebug = false
    
    // 是否使用白名单模式
    // 若不启用,StringFuck 只会混淆以列表中开头的类
    // 若启用,StringFuck 会混淆以列表中开头以外的所有类
    isWhiteList = false
    
    // 混淆列表
    obfuscationList = setOf("icu.nullptr")
    
    // 自定义加密方法,类型 ((String) -> ByteArray)?,设置为空则使用默认 Xor 方案
    encryptMethod = null
    
    // 自定义解密类完整类名,设置为空则使用默认 Xor 方案
    decryptMethodClassPath = null
}
初始化
StringFuck.init();