g0w6y/obsor
GitHub: g0w6y/obsor
一个高级的多层 Python 代码混淆框架,通过加密和编码技术增强代码保护与反逆向能力。
Stars: 8 | Forks: 1
高级多层 Python 混淆框架
AES-256 加密 · 23+ 种技术 · 预设配置文件 · 可执行文件构建器
## 什么是 Obsor?
它支持 **23+ 种混淆和加密技术**,预设保护配置文件、独立可执行文件构建以及内置自测功能。
## 功能
| 类别 | 技术 |
|---|---|
| **编码** | Base64、Base32、Base85、十六进制、八进制、URL、UUEncode、字符编码 |
| **加密** | AES-256-CBC、XOR、RC4、维吉尼亚密码、凯撒密码、Atbash 密码、Polybius 方阵 |
| **压缩** | zlib (DEFLATE)、bz2 (BZIP2) |
| **字节码** | Marshal 序列化 |
| **变换** | 压缩、反转、拆分、空白字符编码、ROT13 |
- 多层叠加(无限制深度)
- 自动生成随机密钥
- 可选自定义密钥
- 4 种内置预设配置文件
- PyInstaller 可执行文件构建器
- 内置混淆脚本自测
- 带进度动画的彩色 CLI
## 快速开始
```
# 基础混淆
python main.py -i script.py -o protected.py -m base64,zlib
# 使用预设
python main.py -i script.py --preset military
# 测试混淆后的输出是否仍然正常工作
python main.py -i script.py --preset max --test
# 构建独立可执行文件
python main.py -i script.py --preset military --build-exe
```
## 预设配置文件
| 预设 | 流程 | 用途 |
|---|---|---|
| `military` | `压缩 → AES → zlib → Base85 → 拆分 → 反转 → Marshal → 维吉尼亚` | 最大程度保护 |
| `max` | `压缩 → AES → Marshal → bz2 → Base64 → XOR → 空白字符 → RC4` | 重量级多层防护 |
| `stealth` | `空白字符 → 拆分 → 字符编码 → 十六进制 → URL` | 规避静态分析 |
| `light` | `Base64 → 反转` | 快速 / 轻量级 |
```
python main.py -i script.py --preset military
python main.py -i script.py --preset stealth
python main.py -i script.py --preset light
```
## CLI 参考
```
python main.py [-h]
-i INPUT Input Python script
[-o OUTPUT] Output file (default: obfuscated_
)
[-m METHODS] Comma-separated methods (e.g. aes,base64,zlib)
[--preset {military,max,light,stealth}]
[-k KEY] Custom key for supported methods
[--chunk-size CHUNK_SIZE] Chunk size for split method
[--list-methods] List all available obfuscation methods
[--build-exe] Build standalone executable via PyInstaller
[--exe-onefile] Single-file executable
[--exe-console] Console mode executable
[--exe-icon EXE_ICON] Icon file for executable
[--test] Run and verify the obfuscated output
[--save-keys] Save generated keys to a file
```
## 示例
查看 [`examples/`](examples/) 获取可直接使用的示例脚本。
```
# 尝试在附带的示例脚本上使用 obsor
python main.py -i examples/sample_input.py --preset military --test
# AES 使用自定义密钥
python main.py -i examples/sample_input.py -m aes,base85 -k "MySecretKey123"
# 保存密钥并构建 exe
python main.py -i examples/sample_input.py --preset max --build-exe --save-keys
```
根目录中的文件 `obsor.py` 是使用 `military` 预设混淆的 `main.py` —— 这是 Obsor 产出的实时演示。
## 项目结构
```
obsor/
├── main.py # Main obfuscation engine
├── obsor.py # main.py obfuscated (military preset demo)
├── examples/
│ ├── sample_input.py # Sample script for testing
│ └── README.md # Example usage guide
├── requirements.txt
├── README.md
├── LICENSE # Apache 2.0
└── NOTICE
```
## 跨平台说明
- 支持 Windows、macOS 和 Linux
- 生成的可执行文件是针对特定操作系统的(需在目标操作系统上构建)
- `marshal` 输出依赖于 Python 版本 —— 请在同一 Python 版本上进行混淆和运行
- 运行混淆脚本的机器上需要安装 `pycryptodome` 才能使用 AES
## 贡献
欢迎贡献、提交问题和功能请求。
1. Fork 仓库
2. 创建功能分支 (`git checkout -b feature/my-feature`)
3. 提交更改 (`git commit -m 'Add: my feature'`)
4. 推送到分支 (`git push origin feature/my-feature`)
5. 发起 Pull Request
## 免责声明
本工具仅旨在用于**教育目的、安全研究和合法的代码保护。**
请**勿**使用 Obsor 分发恶意软件、绕过安全系统或进行任何非法活动。作者对滥用行为不承担任何责任。
## 许可证
根据 [Apache License 2.0](LICENSE) 授权。
由 [g0w6y](https://github.com/g0w6y) 构建。
标签:AES-256加密, DNS 反向解析, JSON 请求, Python混淆框架, 代码安全, 代码混淆, 加密算法, 压缩技术, 反逆向工程, 可执行文件构建, 多层保护, 多平台支持, 字节码序列化, 混淆工具, 漏洞挖掘, 漏洞枚举, 编码技术, 自测试功能, 软件保护, 逆向工具, 预设配置文件