看流星社区

 找回密码
 注册账号
查看: 6991|回复: 26

今天分析了一个驱动保护,基本已经搞定了

[复制链接]

该用户从未签到

发表于 2011-8-7 13:14:13 | 显示全部楼层 |阅读模式
KeGetCurrentThread       得到KTHREAD结构体
KdDebuggerEnabled        判断是否开启debug调试
KdDisableDebugger    关闭 debugger调试
MmIsAddressValid         测试一个地址是否存在(有效)
IoGetCurrentProcess      函数返回当前进程的EPROCESS结构的指针,有了这个值我们就可以从它的开始处逐字节向后搜索“xx”这个字符串了
MmGetSystemRoutineAddress  得到导出的函数的实际地址
RtlInitUnicodeString     转换成unicode字符串
ZwClose                  关闭句柄
ExAllocatePoolWithTag    内存分配函数
ExFreePoolWithTag
ZwCreateFile             打开文件
IofCompleteRequest       每当完成了一个以IRP为代表的I/O操作请求的时候,就要执行IRP的善后操作
ObfDereferenceObject     用来减少一个内核对象的引用计数的.
PsLookupProcessByProcessId       打开进程
ZwQueryInformationProcess        检查系统调试器是否存在
PsSetCreateProcessNotifyRoutine  监视进程创建  (xuetr不能启动)
KeAddSystemServiceTable             通过KeAddSystemServiceTable获取
KeServiceDescriptorTable         SSTD地址
MmProbeAndLockPages            锁定内存页
IoAllocateMdl                 指向这个buf
memset 用来对一段内存空间全部设置为某个字符,一般用于在对定义的字符串初始化为' '或者'\0';
IoFreeMdl                 字面理解
MmUnlockPages            取消锁
KeUnstackDetachProcess
KeStackAttachProcess
KeDelayExecutionThread
KeInsertQueueApc     --估计用于防止线程挂起
KeInitializeApc          APC相关
游客,如果您要查看本帖隐藏内容请回复

该用户从未签到

发表于 2011-9-7 10:21:53 | 显示全部楼层
看看怎么样子

该用户从未签到

发表于 2011-10-26 16:33:34 | 显示全部楼层
看看怎么样子

该用户从未签到

发表于 2011-11-19 10:22:34 | 显示全部楼层
定了 谢谢楼主

该用户从未签到

发表于 2011-11-19 10:59:35 | 显示全部楼层
顶 大家一起学习 我是新手

该用户从未签到

发表于 2012-3-5 23:47:11 | 显示全部楼层
看帖,回帖啊。。。

该用户从未签到

发表于 2012-5-5 10:19:08 | 显示全部楼层
看看学习下~!!

该用户从未签到

发表于 2012-8-11 00:24:17 | 显示全部楼层
哪的好像看过

该用户从未签到

发表于 2012-8-15 12:26:25 | 显示全部楼层
看看看上的发生的

该用户从未签到

发表于 2014-10-10 21:29:07 | 显示全部楼层
学习下内核函数
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-3-29 09:33

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表