xec412/ShadeShell
GitHub: xec412/ShadeShell
ShadeShell 是一款高性能 shellcode 加密、混淆与编码 pipeline 工具,帮助安全研究人员快速变换 payload 并生成对应的 C/C++ 解码模板。
Stars: 0 | Forks: 0
ShadeShell
高性能 Payload 加密、混淆与编码 Pipeline 工具
## 👁️ 概述
**ShadeShell** 是一款高性能命令行工具,旨在简化 payload 处理的 pipeline。它允许开发者和研究人员将加密、混淆和编码操作链接在一起,或者无缝生成特定的解码/解密模板。
### ⚡ 性能驱动架构(文件映射)
相反,它利用了 Windows 的 **文件映射(`CreateFileMapping`、`MapViewOfFile`)**。通过将文件直接映射到进程的虚拟内存空间,该工具直接在原始内存上执行 pipeline 转换,从而大幅减少 I/O 瓶颈并优化执行时间。
## ✨ 功能
### 🔐 1. 多密码加密与混淆
* **加密算法:** 支持 **AES-256**、**ChaCha20**、**Salsa20** 和 **XOR** 加密。
* **混淆:** 将原始 payload 转换为标准的 **UUID** 或 **IPv6** 地址数组。
* **编码:** 包含 **BaseN** 编码/解码层。
### 📄 2. 模块化模板生成
用户可以为任何受支持的加密算法、混淆数组或编码格式动态生成简洁、即用型的 C/C++ 源代码片段(模板),以便在自己的项目中轻松实现解码器。
### 📊 3. 香农熵(Shannon's Entropy)计算
完成任何 pipeline 操作后,ShadeShell 会自动计算并打印结果输出的精确 **香农熵(Shannon's Entropy)** 值,从而提供关于数据密度的即时数学反馈。
## 🔄 操作模式与 CLI 逻辑
ShadeShell 根据 CLI 标志将 **Payload 生成** 与 **模板获取** 分开处理。
### 📂 文件输入模式 (`--m
`)
通过文件输入处理原始 payload 时,您可以决定如何处理输出数据:
* **读取模式(Read):** 通过 pipeline 处理输入文件,并将转换后的 shellcode 直接打印到控制台窗口。
* **写入模式(Write):** 处理输入文件,并将最终输出直接写入一个干净的 `.bin` 文件。
### ⌨️ CLI 使用示例
**1. 转换 Payload(加密与编码):**
要通过 pipeline 传递文件(例如,使用 XOR 加密,然后使用 BaseN 编码)并以读取模式输出:
```
.\ShadeShell.exe --f --m read --encrypt xor --encode baseN
```
**2. 请求解码模板:**
如果您已经有了 payload,只需要源代码片段在您的 loader 中对其进行解码,请使用目标算法标志调用该工具:
```
.\ShadeShell.exe --decrypt xor --decode baseN
```
## 🛠️ 构建说明
1. 将仓库克隆到您的本地计算机:
git clone https://github.com/xec412/ShadeShell.git
2. 使用 Visual Studio 打开 `ShadeShell.slnx` 解决方案文件。
3. 将构建配置从 **Debug** 切换为 **Release** 模式。
4. 按 **Build Solution**(或 `Ctrl+Shift+B`)编译项目。
## 🎨 参考
该项目受到了 MalDev Academy 的 **HellShell** 工具的启发。ShadeShell 在这些原始的核心数组生成概念的基础上进行了扩展,添加了性能优化的内存映射文件引擎、多密码流算法以及实时熵计算。
* 原始项目:[NUL0x4C/HellShell](https://github.com/NUL0x4C/HellShell)
* **密码学库:**
* **ChaCha20 与 Salsa20:** 由 [LibTomCrypt](https://github.com/libtom/libtomcrypt) 工具包提供支持。
* **AES-256:** 由可移植的 [tiny-AES-c](https://github.com/kokke/tiny-AES-c) 实现提供支持。
## ⚠️ 免责声明
该工具的创建严格仅用于教育目的、软件优化研究和授权模拟。开发者对因使用该工具而造成的任何滥用或损坏不承担任何责任。标签:UML, 客户端加密, 端点可见性