日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

win驱动下线程操作相关函数封装

發布時間:2025/3/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 win驱动下线程操作相关函数封装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

線程創建

#include <ntifs.h>KEVENT g_kEvent;VOID DriverUnload(PDRIVER_OBJECT pDriver);VOID ThreadProc(PVOID StartContext) {ULONG uId = (ULONG)PsGetCurrentThreadId();KdPrint(("%wZ,%d\n", StartContext, uId));//執行即將結束,將事件置為激發態。KeSetEvent(&g_kEvent, 0, TRUE);//使用內核線程的時候,需要注意一點,當線程執行完畢的時候,必須主動調用下面//這個函數PsTerminateSystemThread(STATUS_SUCCESS); }NTSTATUS DriverEntry(PDRIVER_OBJECT pDriver, PUNICODE_STRING pPath) {UNREFERENCED_PARAMETER(pPath);DbgBreakPoint();HANDLE hThread = 0;CLIENT_ID Id = {0};UNICODE_STRING szString;RtlInitUnicodeString(&szString, L"Hello allen");//1 創建一個系統線程,能夠執行簡單代碼,并且驗證和主線程不是同一個線程ULONG uId = (ULONG)PsGetCurrentThreadId();KdPrint(("%wZ,Id:%d\n", &szString,uId));// 初始化事件對象KeInitializeEvent(&g_kEvent, SynchronizationEvent, FALSE);PsCreateSystemThread(&hThread,0,NULL,NULL,//這里填寫NULL,說明創建的是內核線程&Id,ThreadProc,//回調函數&szString);KeWaitForSingleObject(&g_kEvent,Executive,KernelMode,FALSE,0 //再內核層的等待函數,0是永久等待);pDriver->DriverUnload = DriverUnload;return STATUS_SUCCESS; }VOID DriverUnload(PDRIVER_OBJECT pDriver) {UNREFERENCED_PARAMETER(pDriver);}

遍歷線程

#include <ntifs.h> // 根據TID返回線程ETHREAD,失敗返回NULL PETHREAD LookupThread(HANDLE hTid) {PETHREAD pEThread = NULL;if (NT_SUCCESS(PsLookupThreadByThreadId(hTid,&pEThread)))return pEThread;return NULL; } VOID EnumThread(PEPROCESS pEProcess //要枚舉的是哪一個進程的線程 ) {PEPROCESS pEProc = NULL;PETHREAD pEThrd = NULL;// 循環遍歷線程(假設線程的最大值不超過0x25600)ULONG i = 0;for (i = 4; i < 0x25600; i += 4) {// a. 根據TID返回ETHREADpEThrd = LookupThread((HANDLE)i);if (!pEThrd) continue;// b. 獲得線程所屬進程,如果相等則打印線程信息pEProc = IoThreadToProcess(pEThrd);if (pEProc == pEProcess) {DbgPrint("[THREAD]ETHREAD=%p TID=%ld\n",pEThrd, (ULONG)PsGetThreadId(pEThrd));}// c. 將線程對象引用計數減1ObDereferenceObject(pEThrd);} }

結束線程等

#include <ntifs.h> NTSTATUS ZwOpenThread(_Out_ PHANDLE ThreadHandle,_In_ ACCESS_MASK DesiredAccess,_In_ POBJECT_ATTRIBUTES ObjectAttributes,_In_ PCLIENT_ID ClientId); typedef NTSTATUS(__fastcall *ZWTERMINATETHREAD)(HANDLE hThread,ULONG uExitCode); //結束線程,暫停線程,恢復線程,這些函數沒有導出, //就得自己去找 可以先找到它 然后計算他的偏移就可以用代碼實現 ZWTERMINATETHREAD ZwTerminateThread = 0x83e79afc; //函數地址,是自己找到的,沒有導出 void KernelKillThread(ULONG tID) {HANDLE hThread = NULL;CLIENT_ID ClientId = { 0 };OBJECT_ATTRIBUTES objAttribut ={ sizeof(OBJECT_ATTRIBUTES) };ClientId.UniqueProcess = 0;ClientId.UniqueThread = (HANDLE)tID; // TID //打開線程,如果句柄有效,則結束線程ZwOpenThread(&hThread, 1, &objAttribut, &ClientId);if (hThread) {ZwTerminateThread(hThread, 0);ZwClose(hThread);} }

轉載于:https://blog.51cto.com/haidragon/2131747

總結

以上是生活随笔為你收集整理的win驱动下线程操作相关函数封装的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 壮汉被书生c到合不拢腿 | 亚洲色偷精品一区二区三区 | 色妺妺视频网 | 成年人免费黄色 | 亚洲欧美日韩久久精品 | 日韩免费一区二区 | 免费a级片视频 | 国产午夜伦理 | 在线观看国产成人 | av 日韩 人妻 黑人 综合 无码 | 男女黄网站 | 亚洲精品乱码久久久久久蜜桃欧美 | youjizz.com日本| 岛国精品视频 | 毛片9| 欧美成人一区二区三区高清 | 色婷婷www | 欧美一区二区在线视频观看 | 极品美女av | 日韩三级麻豆 | 国产免费自拍视频 | 日本韩国在线播放 | 黑人一区二区三区 | 婷婷综合影院 | 国产毛片欧美毛片久久久 | 国产精品秘入口18禁麻豆免会员 | 欧美专区在线播放 | 久草视频在线免费播放 | 黑花全肉高h湿play短篇 | 啪免费视频 | 男操女视频在线观看 | 国产无精乱码一区二区三区 | 国产精品久久久久久久一区探花 | 小色哥网站 | 国产精品久久久久毛片大屁完整版 | 欧美在线观看一区 | 狠狠干男人的天堂 | av久草| 少妇人妻偷人精品视频蜜桃 | 亚洲午夜一区二区三区 | 国产乱子伦一区二区 | 成人国产精品免费观看 | 久久久国产精华液999999 | 国产精品中文在线 | 欧美乱妇日本无乱码特黄大片 | 成人免费看视频 | av影库| 日韩精品高清视频 | 日韩精品久久久久久 | 草草在线观看 | 色黄视频 | 免费无遮挡无码永久在线观看视频 | 91热精品| 一级免费黄色片 | 三级亚洲 | 欧美一区二区三区大屁股撅起来 | 99久久精品免费看国产 | 四虎少妇做爰免费视频网站四 | 精品中文一区二区三区 | 日韩h视频 | 香蕉视频在线网址 | 狠狠丁香 | 久色成人网 | 亚洲一品道 | 丁香久久综合 | 精品国产丝袜一区二区三区乱码 | 国产一区二区三区免费 | 美女av片| 姑娘第5集在线观看免费好剧 | 国产午夜精品久久久 | 神马久久午夜 | 天天激情站 | 国产老妇视频 | 精品国产高清在线观看 | 艳妇臀荡乳欲伦交换电影 | 成人免费看片'在线观看 | 全国最大色 | 91亚洲精品久久久蜜桃 | 天天干天天做 | av小说天堂网 | 51精产品一区一区三区 | 中文字幕第一页在线视频 | 亚洲综合射 | 澳门免费av| 极品白嫩丰满美女无套 | 日韩黄色影视 | 寂寞少妇让水电工爽hd | 中文区中文字幕免费看 | av中文一区 | 成人午夜高清 | 免费观看在线播放 | 日韩美女做爰高潮免费 | 免费在线观看一区二区 | 免费av在线播放网址 | 老牛影视av一区二区在线观看 | www.白浆| 欧美日韩国产中文 | jizz美女 | 68日本xxxxxⅹxxx22 |