抗艾程序员龚伦强:过游戏驱动保护之windows进程与线程

4.1.WRK

1.Project-->New Project-->选择wrk目录-->ok

3.搜索

4.2.KPCR

kpcr:cpu核控制块,cpu一个核一个kpcr结构 fs=0x30 在内核中的时候,指向的是kpcr结构 fs=0x3b 在应用层的时候,指向的是当前线程的TEB

1.kpcr结构

+0x030 IDR : Uint4B

+0x034 KdVersionBlock : Ptr32 Void

+0x038 IDT : Ptr32 _KIDTENTRY

+0x03c GDT : Ptr32 _KGDTENTRY

+0x040 TSS : Ptr32 _KTSS

+0x044 MajorVersion : Uint2B

+0x046 MinorVersion : Uint2B

+0x048 SetMember : Uint4B

+0x04c StallScaleFactor : Uint4B

+0x050 SpareUnused : UChar

+0x051 Number : UChar //当前跑在哪个核上 +0x052 Spare0 : UChar

+0x053 SecondLevelCacheAssociativity : UChar +0x054 VdmAlert : Uint4B

+0x058 KernelReserved : [14] Uint4B

+0x090 SecondLevelCacheSize : Uint4B

+0x094 HalReserved : [16] Uint4B

+0x0d4 InterruptMode : Uint4B

+0x0d8 Spare1 : UChar

+0x0dc KernelReserved2 : [17] Uint4B

+0x120 PrcbData : _KPRCB //KPCR扩展块

2.KiProcessorBlock

扩展块

3.+0x000 NtTib

4.3.函数类型

Windows是微内核,分内核结构和执行体结构

内核结构:只在内核中使用(KPROCESS属于内核结构) 执行体结构:专门用于和R3打交道 (EPROCESS属于执行体)

函数类型

Ex:执行体函数,进程、线程、链表、对象属性、赋值、取值、加锁相关 Ke:内核函数,大部分是导出

Ki:微内核函数,不导出,内部自己使用。进程、线程、cpu、调度相关

Ps:执行体函数,进程、线程相关

Mm:内存相关函数,一般导出

Mi:内存相关函数,Mm函数底层就是调用Mi,不导出

Io:文件、设备相关,导出

CC:文件缓存

Rtl:导出函数,一般是运行库,字符串操作等

Zw:SSDT,但是Zw不需要修改线程的先前模式

Nt:Zw函数会调用到Nt,本身Zw函数不实现功能

CM:注册表

hal:硬件函数

Ob:对象管理器,句柄,创建内核对象,查询内核对象等

Pnp:电源管理

Psp:执行体函数,进程、线程。Ps函数实现复杂功能的时候,都是调用Psp

4.4.KPROCESS

KPROCESS

4.5.EPROCESS

//线程链表

DriverEntry.c

4.7.保护进程

#include

PEPROCESS FindProcessByName(PWCH name)

PEPROCESS Process = NULL; PEPROCESS findProcess = NULL;

}

VOID DriverUnload(PDRIVER_OBJECT pDriver)

//当前线程切换的次数

+0x028 InitialStack

+0x02c StackLimit

+0x030 KernelStack

+0x028 InitialStack

+0x02c StackLimit

+0x030 KernelStack

: 0xa4ea7ed0 Void

: 0xa4ea5000 Void

: 0xa4ea7a60 Void

4.10.ETHREAD

//就绪线程

dt nt!_KPRCB

KiFindReadyThread函数逆向分析,首先按x,进到KiSerachForNewThread,找到KiFindReadyThread

的三个参数

然后开始分析KiFindReadyThread

4.12.线程主动切换

KiSwapThread

'

.text:0045BE97

.text:0045ce71 @KiSwapThread@8 endp

.text:0045ce71

LAL.

五、句柄表

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值