Nim implementation of sRDI
Nim implementation of sRDI
S0cke3t序
最近笔者因为项目原因需要使用sRDI反射dll注入技术,互联网上搜索了一下发现只有c和golang的相关实现。由于笔者项目使用的nim开发,并不适配我的项目,所以笔者花了点时间将sRDI用nim语言重新实现了一下.
sRDI
sRDI是一个(Shellcode Reflective DLL Injection),它可以将DLL文件转换为位置无关的shellcode。它具有完整的PE加载器功能,支持正确的节权限、TLS回调和健全性检查。可以将其视为一个绑定了打包的DLL的Shellcode PE加载器.
关于sRDI shellcode执行流程大致如下
更多信息请参考sRDI — Shellcode反射式DLL注入技术
nim实现
笔者共实现了两个功能,一是将dll转换为sRDI-shellcode的转换工具,二是一个shellcode的加载器
效果如下
首先需要使用sRDI将dll转换为shellcode bin文件
随后使用loader加载输出的bin文件即可
项目代码已上传到Github
本项目只供研究,学习,交流使用,请勿用于非法用途.