首页 抹掉所有进程中自己的句柄【附源代码】

抹掉所有进程中自己的句柄【附源代码】

举报
开通vip

抹掉所有进程中自己的句柄【附源代码】 抹掉所有进程中自己的句柄(源代码) 学习各种外挂制作技术,马上去百度搜索 "魔鬼作坊" 点击第一个站进入、快速 成为做挂达人。 之前听过一个检测进程的想法,就是暴力枚举所有进程中的 handle,查找其中类型为 PROC ESS的. 此法也被炉子牛用于他的 LzOpenProcess(). 下面我就写了一断代码来对抗这个方法,纯属小伎俩,牛牛们飘过~ 严格说,此段代码不算原创,是从某 rootkit的 bin中扒出来的,因此基本保留其原貌,经 我修改测试,主要函数如下: void CloseAll...

抹掉所有进程中自己的句柄【附源代码】
抹掉所有进程中自己的句柄(源代码) 学习各种外挂制作技术,马上去百度搜索 "魔鬼作坊" 点击第一个站进入、快速 成为做挂达人。 之前听过一个检测进程的想法,就是暴力枚举所有进程中的 handle,查找其中类型为 PROC ESS的. 此法也被炉子牛用于他的 LzOpenProcess(). 下面我就写了一断代码来对抗这个方法,纯属小伎俩,牛牛们飘过~ 严格说,此段代码不算原创,是从某 rootkit的 bin中扒出来的,因此基本保留其原貌,经 我修改测试,主要函数如下: void CloseAllmyHandles() { HANDLE hCurProcess,hSouceProcessHandle,hTargetHandle; HANDLE hMyProcess=INVALID_HANDLE_VALUE,hMyThread=INVALID_HANDLE_VALUE; DWORD pid,nBufferLen=0x40000,nRetnLen=0; DWORD HandleCnt,NumberOfHandles; DWORD pMyProcessObject = 0,pMyThreadObject = 0,pObject; CLIENT_ID myCid,tmpCid; PVOID pBuffer = NULL; NTSTATUS status; OBJECT_ATTRIBUTES ObjectAttributes; myCid.UniqueProcess =(HANDLE)my_GetProcessId(); myCid.UniqueThread=(HANDLE)my_GetThreadId(); InitializeObjectAttributes( &ObjectAttributes, NULL, 0, NULL, NULL ); ZwOpenProcess(&hMyProcess, PROCESS_ALL_ACCESS, &ObjectAttributes, &myCid); ZwOpenThread(&hMyThread, PROCESS_ALL_ACCESS, &ObjectAttributes, &myCid); printf("hMyProcess:0x%08x/n",hMyProcess); printf("hMyThread :0x%08x/n",hMyThread); hCurProcess = GetCurrentProcess(); status=ZwAllocateVirtualMemory(hCurProcess, &pBuffer, 0, &nBufferLen, MEM_COMMIT,PAGE_READWRITE); if (!NT_SUCCESS(status)) { printf("Alloc Memory failed./n"); return; } printf("Alloced Buffer:0x%08X/n",pBuffer); ZwQuerySystemInformation(SystemHandleInformation, pBuffer, nBufferLen, &nRetnLen);// 16=SystemHandleInformation printf("Searching handles.../n"); HandleCnt=*(DWORD *)pBuffer; printf("Handle Count:%d/n",HandleCnt); if (HandleCnt>1) { NumberOfHandles=*(DWORD*)pBuffer; pHandleInfo=(PSYSTEM_HANDLE_TABLE_ENTRY_INFO)((char*)pBuffer+sizeof(DW ORD)); do { //printf("HandleValue:0x%08X/n",pHandleInfo->HandleValue); if ( pHandleInfo->HandleValue==(USHORT)hMyThread ) { if (pHandleInfo->UniqueProcessId == (USHORT)myCid.UniqueProcess ) { pMyThreadObject = *(DWORD*)&(pHandleInfo->Object); printf("Thread finded/n"); } } if (pHandleInfo->HandleValue==(USHORT)hMyProcess ) { if (pHandleInfo->UniqueProcessId == (USHORT)myCid.UniqueProcess) { pMyProcessObject =*(DWORD*)&(pHandleInfo->Object); printf("Process finded/n"); } } ++pHandleInfo; --NumberOfHandles; } while ( NumberOfHandles ); } ZwClose(hMyThread); ZwClose(hMyProcess); printf("Found my object ok./nBegin Search and Close.../n"); NumberOfHandles=HandleCnt; if (HandleCnt>=1 ) { pHandleInfo=(PSYSTEM_HANDLE_TABLE_ENTRY_INFO)((char*)pBuffer+sizeof(DW ORD)); do { pObject = *(DWORD*)&(pHandleInfo->Object); if ( pMyProcessObject == pObject || pMyThreadObject == pObject ) { printf("Found Handle=0x%08X OwnerPID=%4d/n",pHandleInfo->HandleValue,pHandleInfo->UniqueProcessId); tmpCid.UniqueProcess= (HANDLE)pHandleInfo->UniqueProcessId; tmpCid.UniqueThread=0; InitializeObjectAttributes(&ObjectAttributes, NULL, 0, NULL, NULL ); status=ZwOpenProcess(&hSouceProcessHandle, PROCESS_DUP_HANDLE, &ObjectAttributes, &tmpCid); //PrintZwError("ZwOpenProcess",status); if (!status) { status=ZwDuplicateObject( hSouceProcessHandle, (void*)pHandleInfo->HandleValue, hCurProcess, &hTargetHandle, 0, 0, DUPLICATE_CLOSE_SOURCE); if ( !status) { ZwClose(hTargetHandle); printf("Handle closed!/n"); } //PrintZwError("ZwDuplicateObject",status); ZwClose(hSouceProcessHandle); } } ++pHandleInfo; --NumberOfHandles; } while ( NumberOfHandles ); } ZwFreeVirtualMemory(hCurProcess, &pBuffer, &nBufferLen, MEM_RELEASE); } 学习各种外挂制作技术,马上去百度搜索 "魔鬼作坊" 点击第一个站进入、快速 成为做挂达人。
本文档为【抹掉所有进程中自己的句柄【附源代码】】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_586861
暂无简介~
格式:pdf
大小:80KB
软件:PDF阅读器
页数:4
分类:互联网
上传时间:2012-08-15
浏览量:44