RING3内存清零结束进程

RKU的这招确实不错。在DebugMan上看到一点关于内存清零的提示信息,准备在RING0下实践下,结果BSOD的受不了,调试驱动偶还木有入门啊。无赖之下看到了RING3下实现的code,于是学习之。

/*************************************************************************
* 学习者: sudami
* 时间:    07/12/24
*
* 备注:    学习RING3下通过内存清零结束大部分进程的方法.思路如下:
*
* 遍历所有进程[隐藏进程暂时不在考虑之内]获得csrss.exe的PID,ZwOpenProcess得到其句柄-->
* 为ZwQuerySystemInformation 函数传递16号参数.获得系统句柄信息 -->
* 几乎系统所有的HANDLE结构体中,里面的ProcessId都是指向csrss.exe的,遍历每个进程-->
* 调用ZwDuplicateObject复制此进程的句柄表,ZwQueryInformationProcess得到
* PROCESS_BASIC_INFORMATION结构信息; 判断其中的UniqueProcessId是否和指定的PID相同-->
* 若相同,则相指定进程中写入垃圾数据,使进程死掉; 若不同,继续遍历.
*
*************************************************************************/

#include <windows.h>
#include <Ntsecapi.h>
#include <Aclapi.h>
#include <tlhelp32.h>
#include "G:/sudamiDriver/RootKit.h"

//

#pragma comment (lib,"ntdll.lib")
#pragma comment (lib, "Kernel32.lib")
#pragma comment (lib, "Advapi32.lib")
#pragma comment (linker, "/subsystem:windows")
#pragma comment (linker, "/ENTRY:main")

//------------------------------------------------------------------

DWORD   GetPidByName (char *szName);
void    KillProcess (ULONG dwProcessId);
BOOL    EnablePrivilege(HANDLE hToken,LPCTSTR szPrivName,BOOL fEnable);

 

//
// 主函数入口
//
void main()
{   
ULONG   Pid;
HANDLE hToken;

OpenProcessToken (GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hTok

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值