精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

利用C++的HashMap結(jié)構(gòu)實(shí)現(xiàn)一個(gè)多DLL注入器

開發(fā) 前端
在C++代碼中, 如果要實(shí)現(xiàn)將一個(gè)Dll高效的注入到多個(gè)進(jìn)程中, 可以定義一個(gè)HashMap結(jié)構(gòu)。

1.技術(shù)實(shí)現(xiàn)背景

在C++代碼中, 如果要實(shí)現(xiàn)將一個(gè)Dll高效的注入到多個(gè)進(jìn)程中, 可以定義一個(gè)HashMap結(jié)構(gòu), 在該結(jié)構(gòu)中, 鍵名用來保存多個(gè)進(jìn)程的名稱, 而對(duì)應(yīng)的鍵值可以對(duì)應(yīng)的保存一個(gè)或多個(gè)DLL路徑, 這個(gè)HashMap結(jié)構(gòu)定義如下:

unordered_map<string, vector<string>> 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" };

在該結(jié)構(gòu)中, 每個(gè)進(jìn)程可以對(duì)應(yīng)注入的一個(gè)或多個(gè)Dll, 實(shí)際上鍵值是一個(gè)字符串?dāng)?shù)組。

這里設(shè)計(jì)一個(gè)多DLL注入器的函數(shù)如下:

int injectDlls(unordered_map <string, vector<string>> injectionMap) {
 for (auto& injectRow : injectionMap) {
  for (auto& vectorDLL : injectRow.second) {
           injectDLL(vectorDLL, getPIDbyProcName(injectRow.first));
        }
  cout << endl;
 }
 return 0;
}

該函數(shù)實(shí)現(xiàn)的功能如下:

  • 參數(shù)接收一個(gè)HashMap結(jié)構(gòu), 其中鍵保存了要注入的所有進(jìn)程名稱, 其值保存了要注入到進(jìn)程的DLL全路徑字符串。
  • 循環(huán)遍歷該結(jié)構(gòu), 取出鍵中的進(jìn)程名傳給getPIDbyProcName()函數(shù)獲取該進(jìn)程名對(duì)應(yīng)的PID; 取出鍵值中的DLL全路徑傳給injectDLL()函數(shù)的第一個(gè)參數(shù), 將獲取的PID作為injectDLL()函數(shù)的第二個(gè)參數(shù)傳入。
  • 最終由injectDLL()函數(shù)完成進(jìn)程DLL注入。

2.實(shí)現(xiàn)通過進(jìn)程名獲取PID

通過進(jìn)程名獲取PID的C++參考代碼如下:

int getPIDbyProcName(const string& procName) {
    int pid = 0;
    HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    PROCESSENTRY32W pe32;
    pe32.dwSize = sizeof(PROCESSENTRY32W);
    if (Process32FirstW(hSnap, &pe32) != FALSE) {
        while (pid == 0 && Process32NextW(hSnap, &pe32) != FALSE) {
            wstring wideProcName(procName.begin(), procName.end());
            if (wcscmp(pe32.szExeFile, wideProcName.c_str()) == 0) {
                pid = pe32.th32ProcessID;
            }
        }
    }
    CloseHandle(hSnap);
    return pid;
}

以上代碼屬于常規(guī)操作, 不再贅述。

3.實(shí)現(xiàn)DLL遠(yuǎn)程注入

實(shí)現(xiàn)遠(yuǎn)程DLL注入的injectDLL() 函數(shù)參考代碼如下:

bool injectDLL(string dllPath, int pid) {
 char* dllPathChar = new char[dllPath.length() + 1];
 strcpy_s(dllPathChar, dllPath.length() + 1, dllPath.c_str());
 dllPathChar[dllPath.length()] = '\0';
 HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
 if (hProc == NULL) {
  cout << "OpenProcess failed" << endl;
  return false;
 }
 LPVOID LoadLibAddr = (LPVOID)GetProcAddress(GetModuleHandleA("kernel32.dll"), "LoadLibraryA");
 if (LoadLibAddr == NULL) {
  cout << "GetProcAddress failed" << endl;
  return false;
 }
 LPVOID dereercomp = VirtualAllocEx(hProc, NULL, strlen(dllPathChar), MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
 if (dereercomp == NULL) {
  cout << "VirtualAllocEx failed" << endl;
  return false;
 }
 if (WriteProcessMemory(hProc, dereercomp, dllPathChar, strlen(dllPathChar), NULL) == 0) {
  cout << "WriteProcessMemory failed" << endl;
  return false;
 }
 HANDLE hThread = CreateRemoteThread(hProc, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibAddr, dereercomp, NULL, NULL);
 if (hThread == NULL) {
  cout << "CreateRemoteThread failed" << endl;
  return false;
 }
 CloseHandle(hProc);
 CloseHandle(hThread);
 
 return true;

}

遠(yuǎn)程DLL注入函數(shù)injectDLL() 主要完成了以下工作:

  • 接收兩個(gè)參數(shù), dllPath是要注入的DLL全路徑, pid是目標(biāo)進(jìn)程的ID。
  • 在目標(biāo)進(jìn)程中調(diào)用VirtualAllocEx函數(shù)分配內(nèi)存,需要傳入DLL全路徑。
  • 調(diào)用WriteProcessMemory函數(shù)將DLL全路徑寫入到分配的內(nèi)存中。
  • 動(dòng)態(tài)獲取kernel32.dll中的LoadLibraryA函數(shù)地址。
  • 在目標(biāo)進(jìn)程中通過CreateRemoteThread創(chuàng)建一個(gè)遠(yuǎn)程線程, 將入口點(diǎn)設(shè)置為L(zhǎng)oadLibraryA函數(shù), 并將參數(shù)指向目標(biāo)進(jìn)程中的DLL路徑。
  • 關(guān)閉進(jìn)程和遠(yuǎn)程線程句柄。
  • 如果注入成功返回true, 否則返回false。

4.注意事項(xiàng)

以上代碼在布滿實(shí)時(shí)監(jiān)控檢測(cè)的機(jī)器上已經(jīng)不再適用于各種非法用途, 但DLL注入仍然在很多場(chǎng)景被用到, 例如: 軟件調(diào)試、逆向工程、輔助工具開發(fā)等。上面的代碼實(shí)現(xiàn)主要是為了分享對(duì)DLL注入的技術(shù)細(xì)節(jié)理解和參考。

責(zé)任編輯:趙寧寧 來源: 二進(jìn)制空間安全
相關(guān)推薦

2022-09-08 06:23:37

C++HTTP 服務(wù)器

2021-05-28 18:12:51

C++設(shè)計(jì)

2011-09-16 10:00:56

C++

2009-07-16 10:20:21

赫夫曼編碼

2015-03-24 13:46:29

C++多線程計(jì)數(shù)器特性實(shí)現(xiàn)

2021-11-05 07:59:25

HashMapJava知識(shí)總結(jié)

2009-08-05 15:04:14

C# dll注入

2009-07-22 17:15:04

C#實(shí)現(xiàn)

2019-12-11 10:45:08

Python 開發(fā)編程語言

2020-03-26 17:00:53

HashMapputJava

2009-07-31 17:14:19

C#語言Web程序

2011-04-08 09:52:44

C++C#DLL

2023-01-02 18:15:42

PythonC++模塊

2016-11-08 18:53:08

編譯器

2024-03-13 13:53:10

C++程序開發(fā)

2021-10-27 11:29:32

框架Web開發(fā)

2024-01-24 11:35:28

C++多返回值開發(fā)

2009-09-25 11:04:07

C++動(dòng)態(tài)加載DLL

2016-03-03 14:29:15

2010-02-06 16:21:35

C++常規(guī)DLL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

91传媒理伦片在线观看| 欧美a级免费视频| 中文在线观看免费高清| 仙踪林久久久久久久999| 91精品国产美女浴室洗澡无遮挡| av日韩在线看| 草草影院在线观看| 国产成人亚洲精品狼色在线| 欧洲永久精品大片ww免费漫画| 国产激情av在线| 综合久久成人| 欧美日本在线播放| 欧美 日韩 国产 高清| 9191在线观看| 91在线视频18| 亚洲xxxx3d| 天堂av免费在线观看| 在线国产一区| 中文字幕亚洲一区二区三区五十路 | 精品久久久久久亚洲精品| 三区精品视频观看| 天堂av一区二区三区| 精品一区二区成人精品| 欧美一级淫片丝袜脚交| 男女羞羞免费视频| 成人a'v在线播放| 亚洲成人xxx| 手机免费看av网站| 影视一区二区三区| 天天免费综合色| 欧美激情亚洲天堂| 久久77777| 国产精品视频九色porn| 久久久久一区二区| 亚洲av无码国产精品永久一区| 欧美视频在线观看一区二区三区| 第一社区sis001原创亚洲| 亚洲国产欧美一区| 久久久久99人妻一区二区三区| 久久精品 人人爱| 欧洲生活片亚洲生活在线观看| 可以在线看的av网站| 伊人春色在线观看| 亚洲视频一二区| 亚洲精品乱码久久久久久蜜桃91| 日本成人一区二区三区| 不卡电影一区二区三区| 岛国一区二区三区高清视频| 国产绳艺sm调教室论坛| 久久91精品国产91久久小草| 国产精品视频精品| 九九热最新视频| 日韩精品91亚洲二区在线观看| 91精品国产色综合久久不卡98| 精品少妇theporn| 欧美日韩国产欧| 欧美国产乱视频| 免费看一级一片| 国产综合欧美| 91国偷自产一区二区三区的观看方式| 国产无码精品视频| 亚洲国产婷婷| 91成人在线播放| 黑人精品无码一区二区三区AV| 亚洲欧美日韩国产一区二区| 欧美亚洲日本黄色| 亚洲欧美一区二区三区在线观看 | 国产精品午夜久久| 新呦u视频一区二区| 1024视频在线| 亚洲日本一区二区| www.亚洲成人网| 国产在线88av| 在线一区二区三区| 粉色视频免费看| 99精品在免费线中文字幕网站一区| 日韩精品最新网址| 国产毛片毛片毛片毛片毛片毛片| 丝袜连裤袜欧美激情日韩| 亚洲欧洲午夜一线一品| 乱老熟女一区二区三区| 中文字幕一区二区三区欧美日韩 | 欧美视频精品| 日韩精品中文字幕在线不卡尤物| 亚洲色图欧美日韩| 加勒比久久综合| 深夜福利一区二区| 欧美成人一区二区三区高清| 亚洲黄色影院| 国产精品成人播放| av男人天堂av| 91女厕偷拍女厕偷拍高清| 色视频一区二区三区| 国产美女福利在线| 狠狠色狠狠色综合日日五| 国产精品视频黄色| 北条麻妃一区二区三区在线| 亚洲欧美日韩国产中文| 777777国产7777777| 在线日韩电影| 国产在线久久久| 天堂8在线视频| 亚洲欧美电影一区二区| 国产成人精品视频免费看| 欧美aaaaaa| 日韩av在线网址| 可以免费看av的网址| 在线观看不卡| 国产美女精彩久久| 香蕉国产在线视频| 亚洲欧美在线高清| 欧美极品欧美精品欧美图片| 精品一区二区三区中文字幕视频 | 亚洲自拍另类| 亚洲a中文字幕| 超碰免费97在线观看| 婷婷国产在线综合| 一个人看的视频www| 最近中文字幕在线视频| 欧美激情免费| 亚洲免费在线看| 黄色动漫在线免费看| 国产美女视频一区二区| 国产一区二区美女视频| 久久精品国产亚洲AV无码麻豆| 蜜桃精品视频在线观看| 久久亚洲高清| 国产一线二线在线观看| 欧美精品久久久久久久多人混战 | 欧美日韩爱爱| 97精品视频在线播放| 一本色道久久综合熟妇| 91蜜桃视频在线| 国产一级爱c视频| 亚洲高清999| 久久精品人人做人人爽| 久久久久久av无码免费看大片| 99久久精品费精品国产一区二区 | 老司机精品福利视频| 国产欧美日韩在线播放| 在线免费av导航| 91精品国产黑色紧身裤美女| 国产午夜福利一区| 日韩激情在线观看| 欧美亚洲丝袜| 性感女国产在线| 亚洲韩国日本中文字幕| www.av视频在线观看| 国产成人一区二区精品非洲| 天天干天天色天天爽| 电影中文字幕一区二区| 久久久成人精品视频| 国产精品-色哟哟| 亚洲欧美激情小说另类| 一起草最新网址| 你懂的国产精品永久在线| 91色中文字幕| 18av在线视频| 精品日产卡一卡二卡麻豆| 黄色一级视频在线观看| 国产一区91精品张津瑜| 久久久久久久久网| baoyu135国产精品免费| 91国产精品91| 成人18在线| 欧美美女视频在线观看| 成年人av电影| 成人午夜免费视频| 国产欧美日韩网站| 亚洲第一福利专区| 国产精品视频免费观看www| 亚洲精品传媒| 日韩欧美自拍偷拍| 久久露脸国语精品国产91| 91免费看片在线观看| 色悠悠久久综合网| 综合久久十次| 久久国产精品-国产精品| 日韩电影大全网站| 日韩中文字幕在线视频播放| 国产精品女同一区二区| 亚洲成a人片综合在线| 日韩人妻无码一区二区三区| 日本欧美韩国一区三区| 亚洲天堂av免费在线观看| 大香伊人久久精品一区二区| 欧美最顶级的aⅴ艳星| 在线视频1区2区| 精品久久久久久亚洲综合网| 日韩黄色在线播放| 成人欧美一区二区三区白人 | 成人福利一区| 日本成人免费在线| 超碰最新在线| 亚洲乱码av中文一区二区| 91tv国产成人福利| 亚洲成人资源网| 亚洲不卡的av| www.av精品| 国产精品嫩草影院8vv8| 99日韩精品| 天天干天天操天天干天天操| 小说区图片区色综合区| 91在线视频一区| 性欧美hd调教| 久久久久亚洲精品成人网小说| 久久精品国产亚洲a∨麻豆| 91精品国产aⅴ一区二区| 亚洲一区欧美在线| 亚洲私人影院在线观看| 国产精品jizz| 国产91富婆露脸刺激对白| 日韩中文字幕免费在线| 狠狠爱综合网| 中文字幕av导航| 成人羞羞网站入口| 久久精品日产第一区二区三区精品版 | 亚洲精品欧美日韩| 秋霞国产精品| 538国产精品视频一区二区| 97超碰资源站在线观看| 中文字幕精品国产| 亚州男人的天堂| 精品毛片乱码1区2区3区| 在线观看毛片视频| 欧美性猛交xxxx黑人| 国产一级片网址| 一区二区三区.www| 亚洲波多野结衣| 国产精品久久久久天堂| 中文字幕网站在线观看| 99精品一区二区| 亚洲精品第二页| 国产一二精品视频| 五月天激情播播| 久久精品国产久精国产| 老司机午夜av| 久久午夜影视| 国产美女三级视频| 国产一区91| 亚洲不卡中文字幕无码| 在线成人黄色| 国产精品专区在线| 亚洲精品123区| 国产二区视频在线| 亚洲国产91| 免费看国产一级片| 亚洲狼人精品一区二区三区| 成人性生活视频免费看| 国内精品久久久久久久影视麻豆| 欧美大片免费播放| 国产精品激情| 9久久9毛片又大又硬又粗| 尤物精品在线| 超碰97人人射妻| 日韩精品每日更新| 狠狠干狠狠操视频| 狠狠色丁香婷婷综合久久片| 久久精品一卡二卡| 国产成人免费av在线| 在线播放第一页| 99久久久无码国产精品| 国产传媒第一页| 国产日韩精品久久久| 一级片黄色录像| 亚洲人成在线观看一区二区| 99视频只有精品| 亚洲第一狼人社区| 蜜臀精品一区二区三区| 精品视频在线视频| 国产熟女一区二区三区五月婷| 日韩视频在线你懂得| 六月婷婷中文字幕| 日韩精品在线视频美女| av网站在线免费播放| 北条麻妃一区二区三区中文字幕| av在线免费网站| 午夜精品蜜臀一区二区三区免费| 美脚恋feet久草欧美| 国产精品一区二区三区毛片淫片 | 两个人看的在线视频www| 欧美亚洲伦理www| 亚洲精品大片| 狠狠干一区二区| 精品国产一区二区三区久久久樱花| 亚洲一区二区三区乱码| 欧美日韩精品| 少妇高潮喷水久久久久久久久久| 蜜桃视频在线观看一区二区| 欧美体内she精高潮| 99精品欧美一区二区三区小说| 欧美 日韩 国产 成人 在线观看| 亚洲欧美一区二区不卡| 五月天婷婷久久| 精品视频免费看| 日韩一级片免费观看| 最近中文字幕2019免费| 免费不卡av| 国产精品一区av| 好吊妞国产欧美日韩免费观看网站 | 天堂网av2014| 日韩专区在线播放| 极品美鲍一区| 成人午夜在线观看| 免费电影一区二区三区| 青青草视频国产| 日本美女一区二区三区视频| 欧美xxxx日本和非洲| 国产女人18毛片水真多成人如厕| 青青操国产视频| 欧美色国产精品| 亚洲 另类 春色 国产| 日韩小视频在线| 偷拍精品精品一区二区三区| www.久久爱.cn| 爽成人777777婷婷| 国产精品97在线| 成人免费视频caoporn| 网爆门在线观看| 色综合天天综合在线视频| 成人爽a毛片一区二区| 日韩亚洲一区二区| 91av亚洲| 久久综合中文色婷婷| 国产精品黄色| 中文字幕在线播放一区二区| 欧美国产激情二区三区| 国产精品视频123| 亚洲精品久久久久国产| 色呦呦网站在线观看| 国产日韩综合一区二区性色av| 国产不卡一二三区| 91视频 -- 69xx| www.欧美亚洲| 国产午夜福利片| 精品日韩欧美在线| 在线黄色网页| 爱情岛论坛亚洲入口| 欧美黄免费看| 美女日批在线观看| 最近中文字幕一区二区三区| 中文字幕在线观看1| 在线观看成人黄色| 在线国产成人影院| 欧美在线播放一区二区| 久久久久久穴| 女女互磨互喷水高潮les呻吟 | 九九热精品在线| 精品中文字幕一区二区三区四区| 亚洲在线色站| 久久成人精品无人区| 国产精品suv一区二区88| 欧美色成人综合| 1769在线观看| 亚洲在线第一页| 欧美视频导航| 中文字幕乱码在线| 精品久久久精品| 男人天堂亚洲二区| 国产精品视频色| 午夜片欧美伦| 欧美丰满熟妇bbb久久久| 亚洲成人激情自拍| 欧美女v视频| 国产欧美久久久久久| 亚洲女同一区| 香蕉视频污视频| 色综合久久66| 91欧美在线视频| 亚洲在线视频福利| 亚洲激情另类| 精品人伦一区二区三电影| 欧美色手机在线观看| 2021国产在线| 精品国产乱码久久久久| 日韩主播视频在线| www.av成人| 亚洲第一天堂无码专区| 日韩欧美另类一区二区| 亚洲精品人成| 国产99精品视频| 免费观看日批视频| 欧美精品在线免费观看| 久久精品色综合| 中文字幕第80页| 综合网在线视频| 偷拍25位美女撒尿视频在线观看| 国产精品91在线观看| 女人色偷偷aa久久天堂 | 日本一区二区三区在线不卡| 99久久婷婷国产一区二区三区| 久久久欧美一区二区| 欧美精品久久久久久 | 99久久99久久精品免费看蜜桃| а中文在线天堂| 欧美激情一二区| 欧美先锋资源| a级一a一级在线观看| 欧美区视频在线观看| 美女视频在线免费|