11philip22/asm-glue

GitHub: 11philip22/asm-glue

一款将两段 shellcode 二进制文件拼接成单一可执行载荷的 C++ 工具,自动生成引导桩并处理堆栈对齐。

Stars: 2 | Forks: 0

# ShellCat 一个小型的 C++ 实用工具,用于**将两个 shellcode 二进制文件拼接**成一个单独的可执行 shellcode 数据块。 它生成一个引导桩(bootstrap stub),首先调用 `ShellcodeA`,然后调用 `ShellcodeB`,最后返回给调用者。 ## 概述 该程序: 1. 从磁盘加载两个 shellcode 文件(`ShellcodeA` 和 `ShellcodeB`)。 2. 构建一个确保正确堆栈设置和执行流的小型引导代码桩。 - 在 **x64** 上,该桩调整 `RSP`,调用 `ShellcodeA`,重新对齐堆栈,然后调用 `ShellcodeB`。 - 在 **x86** 上,该桩简单地依次调用 `ShellcodeA` 和 `ShellcodeB`。 3. 将引导程序 + `ShellcodeA` + `ShellcodeB` 拼接成一个最终二进制文件。 4. 将生成的 shellcode 保存到 `FinalShellcode_x86.bin`(或 `FinalShellcode_x64.bin`,具体取决于目标架构)。 5. 使用 `VirtualProtect` 使内存可执行并运行最终的 shellcode。 ## 构建 使用 MSVC(x86 或 x64)编译: ## 注意事项 - 使用 VirtualProtect 将拼接后的 shellcode 标记为可执行。 - 引导代码在转移控制权之前确保堆栈对齐。 ## 免责声明 本项目仅供教育和研究目的使用。 请勿将其用于恶意活动。作者不对不当使用承担任何责任。
标签:ASM, C++, DNS 反向解析, Libemu, Loader, Raspberry Pi, Shellcode, Stager, VirtualProtect, Windows API, x64, x86, 中高交互蜜罐, 二进制安全, 二进制拼接, 内存执行, 安全意识培训, 恶意软件开发, 技术调研, 数据展示, 数据擦除, 栈对齐, 端点可见性, 红队