sisoma2/ShellcodeLoader
GitHub: sisoma2/ShellcodeLoader
一款轻量级的 Windows shellcode 和 PE 加载调试工具,用于恶意软件分析场景下快速验证和调试提取的二进制代码。
Stars: 83 | Forks: 17
# ShellcodeLoader
ShellcodeLoader 的构建目的是为了在恶意软件分析中,能够在可执行文件的上下文中快速调试提取出的 shellcode。
ShellcodeLoader 的功能是从磁盘读取二进制文件到内存,并跳转到基址或指定的入口点以执行该文件。
它会自动检测是否正在被调试,并询问用户是否希望在执行 shellcode 之前设置断点。
支持 x86 和 x64 系统。
## 发布版本
前往 Releases 标签页下载已编译的可执行文件。
## 用法
文件参数是必需的。其他参数为可选。
```
ShellcodeLoader.exe [-e --entrypoint ENTRYPOINT] [-a --address ADDRESS] [-r --run] [-b --break] FILE
```
加载文件并在指定的偏移量处执行代码
```
ShellcodeLoader.exe -e 1000 shellcodex86.bin
```
读取文件并尝试在指定地址分配内存,将 shellcode 复制到该区域并执行
```
ShellcodeLoader.exe -a 30000 shellcodex86.bin
```
运行 shellcode 而不停止或中断。__警告:__ shellcode 将在您的机器上执行。
```
ShellcodeLoader.exe -r shellcodex86.bin
```
尝试将 shellcode 复制到指定区域,并在跳转到指定入口点之前设置断点
```
ShellcodeLoader.exe -a 30000 -e 1000 -b shellcodex86.bin
```
## 构建
__要求__
- 下载并安装 Microsoft Visual C++ Build Tools 或 Visual Studio
__构建步骤__
- 克隆仓库并导航至该目录
- 打开 SLN 文件以在 Visual Studio 中打开项目
- 选择您要编译二进制文件的平台(x32 或 x64)
- 前往 编译->编译解决方案 以生成 EXE 文件
## Shellcode 示例
文件 shellcodex86.bin 和 shellcodex64.bin 是使用 NASM 编译的 shellcode,通过 WinExec Windows API 执行 calc.exe,用于测试本软件。
## 反馈
如有任何问题、评论或请求,您可以在 Twitter 上找到我:[@sisoma2](https://twitter.com/sisoma2)
欢迎提交 Pull request!
标签:C/C++, Conpot, DAST, PE加载, Raspberry Pi, Shellcode调试, Shellcode运行器, UML, Windows安全, WinExec, x64架构, x86架构, 事务性I/O, 二进制分析, 云安全运维, 云资产清单, 内存执行, 安全测试, 快速连接, 恶意代码分析, 恶意软件分析, 攻击性安全, 无线攻击, 汇编语言, 漏洞利用分析, 端点可见性, 逆向工程, 配置文件