看流星社区

 找回密码
 注册账号
查看: 2547|回复: 1

基本已经搞定这个驱动保护,求交流!

[复制链接]

该用户从未签到

发表于 2013-3-20 09:12:28 | 显示全部楼层 |阅读模式
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相关

以上是这个驱动保护的流程分析
就是 HOOK了6个API,这些都已经还原
目前还有个问题没搞定,听说看雪有大牛 就是 调试端口被置零了,导致OD附加上去读不出数据
求助,在线等

KdDisableDebugger 这个函数已经搞定,我把这个函数直接修改为
xor eax,eax
ret

因为返回0是成功,这样一改,系统的所有调用这个函数都是直接返回成功
以下是这个过这个函数的源码
DriverEntry proc pDriverObject:PDRIVER_OBJECT,pusRegistryPath:PUNICODE_STRING
LOCAL pDeviceObject:PVOID
    pushad
  mov edi,0804ff9a0h ;KdDisableDebugger 地址
  mov realaddr,edi
  invoke DbgPrint, $CTA0("OLD3 address: %08X\n"),edi
  cli
  mov eax,CR0
  mov CR0Reg,eax
  and eax,-1
  mov CR0,eax
  mov ebx,offset hookproc
  sub ebx,edi
  sub ebx,5

  mov  byte ptr [edi],0E9h
  mov [edi+1],ebx
    invoke DbgPrint, $CTA0("OLD4 address: %08X\n"), eax
    mov eax,CR0Reg
    mov CR0,eax
    sti
    popad
      mov eax, STATUS_SUCCESS
    ret

DriverEntry endp

我估计OD附加不上去的原因是 ZwQueryInformationProcess        还是还在不停的写入0
各位大牛,搞定这个函数有什么好办法吗?

该用户从未签到

发表于 2019-8-23 07:08:25 | 显示全部楼层
能不能过CF 能的话看我名字
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

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

GMT+8, 2024-4-25 22:48

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

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