2022年创建高权限进程的方法 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年创建高权限进程的方法 .pdf》由会员分享,可在线阅读,更多相关《2022年创建高权限进程的方法 .pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、创建高权限进程的方法2007-08-15 14:00 写这个初衷是为了让Windows 任务管理器可以结束掉一些服务和僵死进程,用pslist/pskill 之类工具无法获得象任务管理器那样丰富的信息,还得来回切换,麻烦的很。最初想写个驱动监视任务管理器运行,使用SYSTEM 进程TOKEN 替换来达到目的。后来觉得通用性不好,就改用了这种方法。此方法还可使Regedit 查看、编辑SAM 等注册表键,何乐而不为。/wssrun taskmgr.exe/wssrun regedit.exe/#include#include#include#include#include#include#inc
2、lude#pragma comment(lib,Shlwapi.lib)/函数类型:自定义工具函数/函数模块:/功能:提升当前进程权限名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 19 页 -/注意:/作者:sinister/发布版本:1.00.00/发布日期:2006.2.09/重 大 修 改 历 史/修改者:/修改日期:/修改内容:/BOOL EnableDebugPriv(LPCTSTR szPrivilege)HANDLE hToken;LUID sedebugnameValue;TOKEN_PRIVILEGES tkp;if(!OpenProcessToken(Get
3、CurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken)return FALSE;名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 19 页 -if(!LookupPrivilegeValue(NULL,szPrivilege,&sedebugnameValue)CloseHandle(hToken);return FALSE;tkp.PrivilegeCount=1;tkp.Privileges0.Luid=sedebugnameValue;tkp.Privileges0.Attributes=SE_PRIVILE
4、GE_ENABLED;if(!AdjustTokenPrivileges(hToken,FALSE,&tkp,sizeof tkp,NULL,NULL)CloseHandle(hToken);return FALSE;return TRUE;/函数类型:自定义工具函数/函数模块:/功能:通过指定进程名得到其进程ID/注意:/作者:sinister/发布版本:1.00.00 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 19 页 -/发布日期:2006.2.09/重 大 修 改 历 史/修改者:/修改日期:/修改内容:/DWORD GetProcessId(LPCTSTR szP
5、rocName)PROCESSENTRY32 pe;DWORD dwPid;DWORD dwRet;BOOL bFound=FALSE;/通过 TOOHLP32 函数枚举进程/HANDLE hSP=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);if(hSP)pe.dwSize=sizeof(pe);for(dwRet=Process32First(hSP,&pe);dwRet;名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 19 页 -dwRet=Process32Next(hSP,&pe)/使用 StrCmpNI 比较字符传,可忽
6、略大小写/if(StrCmpNI(szProcName,pe.szExeFile,strlen(szProcName)=0)dwPid=pe.th32ProcessID;bFound=TRUE;break;CloseHandle(hSP);if(bFound=TRUE)return dwPid;return NULL;/函数类型:自定义工具函数/函数模块:/名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 19 页 -/功能:创建具有高权限的进程/注意:/作者:sinister/发布版本:1.00.00/发布日期:2006.2.09/重 大 修 改 历 史/修改者:/修改日期:/修
7、改内容:/BOOL CreateSystemProcess(LPTSTR szProcessName)HANDLE hProcess;HANDLE hToken,hNewToken;DWORD dwPid;PACL pOldDAcl=NULL;PACL pNewDAcl=NULL;BOOL bDAcl;BOOL bDefDAcl;DWORD dwRet;名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 19 页 -PACL pSacl=NULL;PSID pSidOwner=NULL;PSID pSidPrimary=NULL;DWORD dwAclSize=0;DWORD dwS
8、aclSize=0;DWORD dwSidOwnLen=0;DWORD dwSidPrimLen=0;DWORD dwSDLen;EXPLICIT_ACCESS ea;PSECURITY_DESCRIPTOR pOrigSd=NULL;PSECURITY_DESCRIPTOR pNewSd=NULL;STARTUPINFO si;PROCESS_INFORMATION pi;BOOL bError;if(!EnableDebugPriv(SeDebugPrivilege)printf(EnableDebugPriv()to failed!n);bError=TRUE;goto Cleanup;
9、/选择WINLOGON 进程/if(dwPid=GetProcessId(WINLOGON.EXE)=NULL)名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 19 页 -printf(GetProcessId()to failed!n);bError=TRUE;goto Cleanup;hProcess=OpenProcess(PROCESS_QUERY_INFORMATION,FALSE,dwPid);if(hProcess=NULL)printf(OpenProcess()=%dn,GetLastError();bError=TRUE;goto Cleanup;if(!Op
10、enProcessToken(hProcess,READ_CONTROL|WRITE_DAC,&hToken)printf(OpenProcessToken()=%dn,GetLastError();bError=TRUE;goto Cleanup;/设置ACE 具有所有访问权限/ZeroMemory(&ea,sizeof(EXPLICIT_ACCESS);BuildExplicitAccessWithName(&ea,Everyone,名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 19 页 -TOKEN_ALL_ACCESS,GRANT_ACCESS,0);if(!GetKe
11、rnelObjectSecurity(hToken,DACL_SECURITY_INFORMATION,pOrigSd,0,&dwSDLen)/第一次调用给出的参数肯定返回这个错误,这样做的目的是/为了得到原安全描述符pOrigSd 的长度/if(GetLastError()=ERROR_INSUFFICIENT_BUFFER)pOrigSd=(PSECURITY_DESCRIPTOR)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,dwSDLen);if(pOrigSd=NULL)printf(Allocate pSd memory to failed
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年创建高权限进程的方法 2022 创建 权限 进程 方法
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内