update readme

This commit is contained in:
4ra1n
2025-09-08 22:05:43 +08:00
parent eadd522f0a
commit 5a7c8f9cde
11 changed files with 13 additions and 72 deletions

View File

@@ -6,6 +6,7 @@
- [功能] 允许拓展方法无意义参数个数并修改引用 @4ra1n
- [优化] 删除编译信息应该位于最后一步 @4ra1n
- [优化] 删除不稳定不可用的反射混淆法 @4ra1n
感谢以下用户的贡献:

View File

@@ -15,15 +15,7 @@
示例图:混淆前 -> 混淆后
![](img/000.png)
可以自定义中文混淆字符,以及方法隐藏等技巧
![](img/004.png)
`1.2.0` 版本开始支持集中提取字符串后 `AES` 加密运行时解密
![](img/007.png)
![](img/009.png)
本项目已深度集成到 `web-chains` 项目中 (https://github.com/Java-Chains/web-chains)
@@ -82,28 +74,6 @@ public class Test {
}
```
你可以随意搭配配置文件,得到以下几种混淆结果
效果一(默认配置)
![](img/001.png)
效果二(使用最高级别的花指令参数)
![](img/002.png)
自定义混淆字符(例如使用中文)
![](img/003.png)
开启隐藏方法和字段功能(反编译看不到方法)
![](img/004.png)
但是!可以成功执行
![](img/005.png)
使用 `--std-output` 参数将会导出标准的 `class` 文件以及对应的包名
例如 `me.n1ar4.Test` 将会导出 `class-obf-output/me/n1ar4/Test.class` 文件
@@ -231,20 +201,17 @@ enableHideField: false
# 可以防止大部分 IDEA 版本反编译
enableHideMethod: false
# 是否将 JVM INVOKE 指令改成反射调用
# 注意:该功能会明显影响执行效率
# 优点:经过该混淆后会更加难以分析
# 缺点:该功能未经过完善测试不稳定
enableReflect: false
# INVOKEVIRTUAL 转换
enableReflectVirtual: false
# INVOKESTATIC 转换
enableReflectStatic: false
# INVOKESPECIAL 转换
enableReflectSpecial: false
# INVOKEINTERFACE 转换
enableReflectInterface: false
# 参数拓展混淆
# void a(int a) 可以拓展为 void a(int a,int b,int c,int d)
# 其中 b c d 都是无用参数
# 其中 int 类型不是固定的
# 会从 int bool byte char short long float double 中随机
enableExpandMethod: true
# 拓展多少个参数 默认 3 个
expandParamNum: 3
# expand 操作只会对白名单方法名进行混淆
expandMethodList:
- "test"
```
## test
@@ -290,33 +257,6 @@ public class Test extends ClassLoader {
}
```
## class-obf 开发进度
| 功能 | 开发进度 |
|-----------------------|------|
| 方法名及引用混淆 | ✅ |
| 字段名及引用混淆 | ✅ |
| 参数名及引用混淆 | ✅ |
| 字符串统一提取混淆 | ✅ |
| 整型常量异或混淆 | ✅ |
| 多级别可精细配置的垃圾指令混淆 | ✅ |
| 已有方法名和字段名的隐藏混淆 | ✅ |
| INVOKE 指令修改反射调用(beta) | ✅ |
| 字符串混淆运行时 AES 解密 | ✅ |
| 字符串混淆运行时自研算法解密 | ❌ |
| 支持方法字段名加入换行 | ❌ |
| 构造方法静态代码支持隐藏 | ❌ |
| 字段名混淆黑名单的配置 | ❌ |
| 字符串混淆加入不可见字符和特殊字符 | ❌ |
| 方法支持拓展无意义参数并修改引用 | ❌ |
| 方法支持精细配置拓展无意义参数个数 | ❌ |
| 方法支持精细配置拓展无意义参数方法白名单 | ❌ |
| 方法拓展后支持拓展参数无意义计算和调用 | ❌ |
| 支持首次混淆生成的解密方法进一步混淆 | ❌ |
| 字符串动态解密 KEY 支持隐藏 | ❌ |
| 字符串动态解密方法支持隐藏 | ❌ |
| 支持生成超大字符串分解代码 | ❌ |
## Star
<div align="center">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 470 KiB

BIN
img/009.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB