https://github.com/jar-analyzer/jar-obfuscator
Jar Obfuscator 是一个 JAR/CLASS 文件混淆工具
- 命令行模式,简单易用
- 仅单个
JAR文件小于1 MB超轻量 - 简洁的配置文件快速上手
- 输入
JAR直接输出混淆后的JAR
支持的混淆内容
- 类名混淆(包含引用修改)
- 包名混淆(包含引用修改)
- 方法名混淆(包含引用修改)
- 字段名混淆(包含引用修改)
- 方法内参数名混淆(包含引用修改)
- 删除编译调试信息(删除行号信息)
- 字符串加密运行时解密(使用
AES加密) - 字符串提取数组混淆(访问数组方式得到字符串)
- 整型常数异或混淆(多重异或的加密)
- 垃圾代码花指令混淆(可指定多级别的混淆)
- 使用某些技巧可以在反编译时隐藏方法
- 使用某些技巧可以在反编译时隐藏字段
- 安全的随机(支持通过
CPU指令获得随机数) - 基于
JVMTI的字节码加密( beta )
一些混淆后的例子


在混淆之外,提供了一种字节码加密的功能,在 JVM 启动时通过 -agentpath:decrypter.dll 参数指定解密密钥等信息,动态解密字节码运行(如果仅拿到 jar/class 文件无法被任何工具反编译)