ARK工具开发(持续更新)
ARK工具开发
ARK 是 Anti-Rootkit(反Rootkit工具) 的缩写
Rootkit 是一类恶意软件,它被设计用来隐藏自身或其他恶意活动(如病毒、后门等),以避开用户和安全工具的检测。它通常在系统的内核层或用户层中以深层方式运作,可以隐藏文件、进程、网络连接以及注册表项等。
进程遍历
Ring3方法
Ring3权限级别枚举进程的方法
1.CreateToolhelp32Snapshot: 用于创建一个系统快照,该快照包含了系统中所有活动的进程和线程的列表。参数TH32CS_SNAPPROCESS表示快照类型为进程。然后Process32First / Process32Next: 这两个函数用于遍历由CreateToolhelp32Snapshot创建的进程快照。Process32First用于获取快照中的第一个进程,而Process32Next用于获取下一个进程。
2.ZwQuerySystemInformation: 这是一个系统调用,用于查询系统信息。参数SystemProcessesAndThreadsInformation表示请求获取系统中所有进程和线程的信息。
3.EnumWindows: 这个函数用于枚举所有顶层窗口,可以用于获取所有窗口的句柄。GetWindowThreadProcessId: 用于获取与指定窗口句柄关联的线程ID和进程ID。缺点是对于没有窗口的不起作用对于没有窗口的不起作用
4.for(;;) OpenProcess: 这是一个循环,用于不断尝试打开进程。OpenProcess是一个API调用,用于获取对进程的访问权限。
1 | for(int i=0;i<65535;i+=4)//这样暴力枚举,但是实际上不止65535,理论是2^26,但是一般是小于65535 |
Ring0方法
PspCidTable
是 Windows 内核中一个重要的数据结构, 通常指向一个 句柄表(Handle Table
) ,存着EProcessId/EThread,只要能给出PID,TID,就能在这个表找出进程线程对象,用于管理和快速查找系统中的进程和线程对象。