ilkyr/CustomRDI
GitHub: ilkyr/CustomRDI
对 Stephen Fewer 反射式 DLL 加载器的从头重写,增加了哈希混淆、间接系统调用和细粒度内存权限等现代免杀特性,以学习教学为目的。
Stars: 4 | Forks: 1
# CustomRDI
对 Stephen Fewer 的反射式 DLL 加载器(reflective DLL loader)的从头重写版本,包含 djb2 哈希、间接系统调用(indirect syscalls)、转发器处理(forwarder handling)以及基于节的内存权限(per-section memory permissions)。
这是一个用于学习的项目,而非操作工具。请参阅随附的博客文章以获取完整的演练:
## 致谢
反射式 DLL 注入(reflective DLL injection)技术由 Stephen Fewer 创建(https://github.com/stephenfewer/reflectivedllinjection,2012 年,BSD 3-Clause)。本项目保留了其原始代码(位于 `loader.c` 中)的 `Rva2Offset` 和 `GetReflectiveLoaderOffset`,以及 `CustomDLLInjection.h` 和 `CustomLoader.h` 中的支持类型定义。其余所有内容均已重写。
## 构建
在 Visual Studio 的 x64 Native Tools Command Prompt 中执行:
```
build.bat
```
生成 `loader.exe` 和 `payload.dll`。
## 运行
```
loader.exe payload.dll
```
将弹出一个消息框,确认 payload 的 `DllMain` 已在反射加载的映像内部运行。
## 局限性
这是一个用于学习的加载器,而非 Windows 加载器的完全替代品。TLS 回调、API Set Schema 解析、x64 展开元数据(unwind metadata)、加载器列表注册(loader-list registration)以及绑定/延迟加载导入(bound/delay-load imports)均未实现。详情请参阅博客文章。
## 许可证
BSD 3-Clause。请参阅 `LICENSE`。包含派生自 Stephen Fewer 的 reflective_dll_injection 项目的代码,同样采用 BSD 3-Clause 许可证。
标签:Chrome扩展, djb2哈希, DNS 反向解析, EDR绕过, PE解析, Windows API, 中高交互蜜罐, 内存权限控制, 客户端加密, 导出表转发处理, 恶意软件开发, 数据展示, 端口监听, 端点可见性, 红队, 网络安全, 自定义RDI, 规避防御, 间接系统调用, 隐私保护, 高交互蜜罐