Skip to content

Latest commit

 

History

History
193 lines (144 loc) · 6.76 KB

File metadata and controls

193 lines (144 loc) · 6.76 KB

ProcessSc - Shellcode 编码器

一个功能强大的 Shellcode 编码工具,支持多种编码算法,用于绕过反病毒软件检测和网络过滤。

🚀 功能特性

支持的编码算法

  • Base64 编码 - 标准 Base64 编码算法
  • IPv4 编码 - 将二进制数据编码为 IPv4 地址格式
  • MAC 地址编码 - 将数据编码为 MAC 地址格式
  • XOR 编码 - 使用随机密钥进行 XOR 加密
  • 字节反转编码 - 简单的字节序反转
  • AES 加密 - 高级加密标准,支持 CBC 模式,自动生成密钥和 IV
  • SM4 加密 - 国密 SM4 分组密码算法,支持 CBC 模式,自动生成密钥和 IV
  • AES + Base64 混合编码 - 先进行 AES 加密,再进行 Base64 编码
  • SM4 + IPv4 混合编码 - 先进行 SM4 加密,再进行 IPv4 编码
  • AES + XOR + MAC 混合编码 - 先进行 AES 加密,再进行 XOR 加密,最后进行 MAC 编码
  • SM4 + ReverseByte + Base64 混合编码 - 先进行 SM4 加密,再进行字节反转,最后进行 Base64 编码
  • 组合编码 - 支持多种编码算法的组合使用:
    • XOR + IPv4
    • XOR + 字节反转 + IPv4
    • XOR + 字节反转 + MAC

输出格式

  • C 字符串格式 - 适用于直接嵌入 C/C++ 代码
  • C 字节数组格式 - 十六进制字节数组格式
  • 特殊格式 - IPv4 和 MAC 地址专用格式

📁 项目结构

ProcessSc/
├── ProcessSc.cpp          # 主程序文件
├── ProcessSc.sln          # Visual Studio 解决方案文件
├── ProcessSc.vcxproj      # Visual Studio 项目文件
├── encode/                # 编码算法模块
│   ├── base64.h          # Base64 编码/解码
│   ├── ipv4.h            # IPv4 地址编码/解码
│   ├── mac.h             # MAC 地址编码/解码
│   ├── reversebyte.h     # 字节反转编码/解码
│   └── xor.h             # XOR 加密/解密
├── crypto/               # 加密算法模块
│   ├── aes-Ttable.h      # AES 加密算法
│   └── sm4.h             # SM4 国密算法
└── x64/Release/          # 编译输出目录
    ├── beacon.bin        # 输入的 shellcode 文件
    └── encoded_*.txt     # 各种编码后的输出文件

🛠️ 编译要求

  • 操作系统: Windows
  • 编译器: Visual Studio 2022 (v143 工具集)
  • 平台: x64
  • Windows SDK: 10.0

📖 使用方法

1. 准备 Shellcode 文件

将你的 shellcode 保存为 beacon.bin 文件,放置在可执行文件同目录下。

2. 编译项目

# 使用 Visual Studio
# 打开 ProcessSc.sln
# 选择 Release x64 配置
# 生成解决方案

3. 运行程序

ProcessSc.exe

4. 查看输出

程序会自动生成以下编码文件:

  • encoded_base64.txt - Base64 编码结果
  • encoded_ipv4.txt - IPv4 地址编码结果
  • encoded_mac.txt - MAC 地址编码结果
  • encoded_xor.txt - XOR 加密结果
  • encoded_reversebyte.txt - 字节反转编码结果
  • encoded_aes.txt - AES 加密结果
  • encoded_sm4.txt - SM4 加密结果
  • encoded_aes-base64.txt - AES + Base64 混合编码结果
  • encoded_sm4-ipv4.txt - SM4 + IPv4 混合编码结果
  • encoded_aes-xor-mac.txt - AES + XOR + MAC 混合编码结果
  • encoded_sm4-rev-base64.txt - SM4 + ReverseByte + Base64 混合编码结果
  • encoded_xor-ipv4.txt - XOR + IPv4 组合编码
  • encoded_xor-rev-ipv4.txt - XOR + 字节反转 + IPv4 组合编码
  • encoded_xor-rev-mac.txt - XOR + 字节反转 + MAC 组合编码

💡 编码算法详解

Base64 编码

使用标准的 Base64 算法,将二进制数据转换为 ASCII 字符串。

IPv4 地址编码

将每 4 个字节的数据转换为一个 IPv4 地址格式(如 192.168.1.1),多个地址用逗号分隔。

MAC 地址编码

将每 6 个字节的数据转换为 MAC 地址格式(如 AA:BB:CC:DD:EE:FF)。

XOR 编码

  • 生成 16 字节随机密钥
  • 使用密钥对数据进行 XOR 加密
  • 输出格式:密钥(16字节) + 加密数据

字节反转编码

简单地将数据的字节序进行反转。

AES 加密

  • 使用 AES-128 算法进行加密
  • 采用 CBC 模式,提供更强的安全性
  • 自动生成 16 字节随机密钥和初始化向量 (IV)
  • 输出格式:IV(16字节) + 密文 + 密钥(16字节)
  • 支持 PKCS7 填充

SM4 加密

  • 使用国密 SM4 分组密码算法
  • 采用 CBC 模式,符合国家密码标准
  • 自动生成 16 字节随机密钥和初始化向量 (IV)
  • 输出格式:IV(16字节) + 密文 + 密钥(16字节)
  • 支持 PKCS7 填充

AES + Base64 混合编码

  • 流程: 原始数据 → AES 加密 → Base64 编码
  • 特点: 结合了 AES 的安全性和 Base64 的可读性
  • 输出格式: C 字符串格式
  • 用途: 适用于需要文本传输的加密场景

SM4 + IPv4 混合编码

  • 流程: 原始数据 → SM4 加密 → IPv4 编码
  • 特点: 使用国密算法加密后伪装成 IPv4 地址
  • 输出格式: IPv4 地址数组格式
  • 用途: 适用于网络流量伪装场景

AES + XOR + MAC 混合编码

  • 流程: 原始数据 → AES 加密 → XOR 加密 → MAC 编码
  • 特点: 多层加密保护,最终伪装成 MAC 地址
  • 输出格式: MAC 地址数组格式
  • 用途: 适用于需要多重保护的高安全场景

SM4 + ReverseByte + Base64 混合编码

  • 流程: 原始数据 → SM4 加密 → 字节反转 → Base64 编码
  • 特点: 国密加密 + 字节混淆 + 文本编码
  • 输出格式: C 字符串格式
  • 用途: 适用于需要额外混淆的文本传输场景

组合编码

支持多种算法的链式组合,提供更强的混淆效果。

🔧 自定义配置

修改输入文件

main() 函数中修改 inputFile 变量:

const std::string inputFile = "your_shellcode.bin";

⚠️ 注意事项

  1. 仅用于合法用途 - 本工具仅供安全研究和合法的渗透测试使用
  2. 文件路径 - 确保 shellcode 文件路径正确
  3. 内存管理 - 编码函数使用动态内存分配,注意内存释放
  4. 平台兼容性 - 当前版本仅支持 Windows 平台

🤝 贡献

欢迎提交 Issue 和 Pull Request 来改进这个项目。

📄 许可证

本项目仅供学习和研究使用,请遵守相关法律法规。

🔗 相关链接


免责声明: 本工具仅供安全研究和教育目的使用,使用者需自行承担使用风险和法律责任。