# code_confuse **Repository Path**: ComeOnBaye/code_confuse ## Basic Information - **Project Name**: code_confuse - **Description**: 处理java源代码混淆 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-01-06 - **Last Updated**: 2026-01-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Code-confuse > Why I write this? > > - 学习混淆加密的相关姿势 > - 市面上大多都是混淆class文件,配置繁琐,并且极易跑不起来 > - 混淆java文件,即可以重修打包,打包能过,项目十有八九也可以运行,并且混淆java文件,自由度更高,可以适配修改甚至二次混淆等等 > - java文件层的混淆,即使反编译后也难以阅读,确实可以极大增加审计难度 > - 做自用打算 ### TODO-List - [x] 类名、方法名、字段命名混淆 - [x] 字符串混淆 - [ ] 包名混淆 - [ ] 各种项目测试,兼容 - [ ] ... ### Quick Start --path 指定java文件目录,会直接替换掉原来的java文件,请**注意备份⚠️!!!** ``` java -jar confuse-1.0-SNAPSHOT-jar-with-dependencies.jar --path /Users/1ue/Downloads/obf-test/src/main/java ``` 默认类名,方法名都会混淆 如果不需要 在以上命令后加上 --obfClass=false --obfMethod=true 即可 注意: 方法混淆默认只混淆非接口和非静态方法 使用code-confuse加密如下示例代码 ![](images/001.png) ``` % java -jar confuse-1.0-SNAPSHOT-jar-with-dependencies.jar --path D:\idea_work_remote\my_project\test\test-auth\src\main\java ________ ________ ________ _______ ________ ________ ________ ________ ___ ___ ________ _______ |\ ____\|\ __ \|\ ___ \|\ ___ \ |\ ____\|\ __ \|\ ___ \|\ _____\\ \|\ \|\ ____\|\ ___ \ \ \ \___|\ \ \|\ \ \ \_|\ \ \ __/| ____________\ \ \___|\ \ \|\ \ \ \\ \ \ \ \__/\ \ \\\ \ \ \___|\ \ __/| \ \ \ \ \ \\\ \ \ \ \\ \ \ \_|/__|\____________\ \ \ \ \ \\\ \ \ \\ \ \ \ __\\ \ \\\ \ \_____ \ \ \_|/__ \ \ \____\ \ \\\ \ \ \_\\ \ \ \_|\ \|____________|\ \ \____\ \ \\\ \ \ \\ \ \ \ \_| \ \ \\\ \|____|\ \ \ \_|\ \ \ \_______\ \_______\ \_______\ \_______\ \ \_______\ \_______\ \__\\ \__\ \__\ \ \_______\____\_\ \ \_______\ \|_______|\|_______|\|_______|\|_______| \|_______|\|_______|\|__| \|__|\|__| \|_______|\_________\|_______| \|_________| usage: --path 指定混淆的java目录 --obfMethod=true 开启方法名混淆 usage: default --obfMethod=true and --obfClass=true begin obfucate strings... finished!!! ``` 混淆后的代码大致如下 ![](images/002.png) 并且正常运行 ![](images/003.png)