进程保护 (非Hook;非DKOM)
来源:互联网 发布:linux解压缩tar.gz 编辑:程序博客网 时间:2024/04/28 14:53
进程保护 (非Hook;非DKOM)
Posted by JiaJia 13 February,2009 (0)Comment
BOOL Lock_CurrentProcess()
{
HANDLE hProcess = ::GetCurrentProcess();
SID_IDENTIFIER_AUTHORITY sia = SECURITY_WORLD_SID_AUTHORITY;
PSID pSid;
BOOL bSus = FALSE;
bSus = ::AllocateAndInitializeSid(&sia,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,&pSid);
if(!bSus) goto Cleanup;
HANDLE hToken;
bSus = ::OpenProcessToken(hProcess,TOKEN_QUERY,&hToken);
if(!bSus) goto Cleanup;
DWORD dwReturnLength;
::GetTokenInformation(hToken,TokenUser,NULL,NULL,&dwReturnLength);
if(dwReturnLength > 0x400) goto Cleanup;
LPVOID TokenInformation;
TokenInformation = ::LocalAlloc(LPTR,0x400);//这里就引用SDK的函数不引用CRT的了
DWORD dw;
bSus = ::GetTokenInformation(hToken,TokenUser,TokenInformation,0x400,&dw);
if(!bSus) goto Cleanup;
PTOKEN_USER pTokenUser = (PTOKEN_USER)TokenInformation;
BYTE Buf[0x200];
PACL pAcl = (PACL)&Buf;
bSus = ::InitializeAcl(pAcl,1024,ACL_REVISION);
if(!bSus) goto Cleanup;
bSus = ::AddAccessDeniedAce(pAcl,ACL_REVISION,0x000000FA,pSid);
if(!bSus) goto Cleanup;
bSus = ::AddAccessAllowedAce(pAcl,ACL_REVISION,0x00100701,pTokenUser->User.Sid);
if(!bSus) goto Cleanup;
if(::SetSecurityInfo(hProcess,SE_KERNEL_OBJECT,DACL_SECURITY_INFORMATION | PROTECTED_DACL_SECURITY_INFORMATION,NULL,NULL,pAcl,NULL) == 0)
bSus = TRUE;
Cleanup:
if(hProcess != NULL)
::CloseHandle(hProcess);
if(pSid != NULL)
::FreeSid(pSid);
return bSus;
}
- 进程保护 (非Hook;非DKOM)
- Win64 驱动内核编程-21.DKOM隐藏和保护进程
- hook api 保护进程
- HOOK ZwTerminateProcess实现进程保护
- SSDT HOOK实现进程保护
- HOOK Object XXProcedure 保护进程
- HOOK SSDT NtOpenProcess 保护进程
- HOOK NtOpenProcess 保护指定进程
- 利用HOOK保护记事本进程
- HOOK Object XXProcedure 保护进程
- 通过SEH 非inline hook
- 利用HOOK API做进程保护器
- 驱动笔记:SSDT HOOK实现进程保护
- Delphi中Hook API进行进程保护
- SSDT HOOK驱动开发(2):进程保护
- SSDT HOOK驱动开发(2):进程保护
- Ring3下实现进程保护,不用hook
- 进程保护原理Hook函数Openprocess
- linux查找最近修改的文件 并只拿出文件名
- asp.net中用C#实现站点计数器用户控件[转]
- 十大绝招保护SQL Server数据库安全
- 用ASP.NET创建网络相册[转]
- MyEclipse Flex环境配置详解
- 进程保护 (非Hook;非DKOM)
- FCKeditor2.6 for JSP 配置方法
- C语言的const
- 带有小计算器的TextBox控件[转]
- C#中的访问修饰符
- 经历不仅仅如此简单!!!
- Meta的http-equiv属性详解
- 关于struts2遇见的几个问题的看法
- 查看oracle版本命令