利用C++的HashMap结构实现一个多DLL注入器

2024年 1月 16日 37.4k 0

1.技术实现背景

在C++代码中, 如果要实现将一个Dll高效的注入到多个进程中, 可以定义一个HashMap结构, 在该结构中, 键名用来保存多个进程的名称, 而对应的键值可以对应的保存一个或多个DLL路径, 这个HashMap结构定义如下:

unordered_map injectionMap;

而向其填充的键和键值参考如下:

injectionMap["taskmgr.exe"] = { "C:\Users\Public\mscde.dll","C:\Users\Public\msc23.dll"};
 injectionMap["explorer.exe"] = { "C:\Users\Public\mscde.dll" };
 injectionMap["regedit.exe"] = { "C:\Users\Public\mscde.dll" };
 injectionMap["notepad.exe"] = { "C:\Users\Public\mscde.dll" };

在该结构中, 每个进程可以对应注入的一个或多个Dll, 实际上键值是一个字符串数组。

这里设计一个多DLL注入器的函数如下:

int injectDlls(unordered_map  injectionMap) {
for (auto& injectRow : injectionMap) {
for (auto& vectorDLL : injectRow.second) {
injectDLL(vectorDLL, getPIDbyProcName(injectRow.first));
}
cout

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论