Reflective dll injection(nim 学习系列)

Reflective dll injection(nim 学习系列)

ImprovedReflectiveDLLInjection

将项目 https://github.com/dismantl/ImprovedReflectiveDLLInjection 下载回本地,我使用 Visual Studio 2019 打开 rdi.sln,编译成 Release 版,即可生成 inject.exe 和 reflective_dll.dll。

Reflective dll injection(nim 学习系列)

启动一个 powershell.exe 进程用于测试,可以看到 PID 是 1764。

Reflective dll injection(nim 学习系列)

尝试注入,inject.x64.exe test 1764 或者 inject.x64.exe test 1764 reflective_dll.x64.dll (指定某个dll)

Reflective dll injection(nim 学习系列)

成功弹窗,“test”字符串也传递过去了。

Reflective dll injection(nim 学习系列)

Reflective dll injection(nim 学习系列)

NimRDI

以上是C语言版本的实现,而 NimRDI 则通过Compile pragma 编译并链接他人项目的C语言源文件,间接实现了nim版本的RDI。

编译命令:

nim c -d:release --app:lib --cpu:amd64 --nomain -o:"reflective_dll.x64.dll" rdi.nim

然后用上一步生成的 inject.x64.exe 注入目标进程即可。

inject.x64.exe Moriarty 1764

引用

https://github.com/Moriarty2016/NimRDI

https://github.com/dismantl/ImprovedReflectiveDLLInjection

上一篇:RedHat系RPM包管理工具


下一篇:收藏的 IIS服务器下配置PHP5.6详细流程