首页
社区
课程
招聘
[原创]Hook Shadow SSDT
发表于: 2008-6-2 23:21 96763

[原创]Hook Shadow SSDT

2008-6-2 23:21
96763
收藏
免费 8
支持
分享
最新回复 (70)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
请问为什么要费好大劲执行KeAttachProcess(crsEProc),我试了一下把这个函数去掉,一样能够挂接成功啊。
2008-10-31 19:37
0
雪    币: 375
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
27
Shadow SSDT不是常驻内存的,在那些没有GDI的线程中做就出错了。

2008-10-31 20:45
0
雪    币: 107
活跃值: (36)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
28
目前QQ三国游戏中,也采用了类似的手法,hook shadow ssdt。保护常规的API函数。
怪不得获取不到QQ三国游戏的句柄,大家有谁可以获取到吗?

一些人说GetWindowText和GetNextWindow一起用可以,但是谁做出来了?可以说下吗?
我不是做外挂,只是需要QQ三国游戏的句柄。
2008-11-3 19:07
0
雪    币: 7115
活跃值: (639)
能力值: (RANK:1290 )
在线值:
发帖
回帖
粉丝
29
   good article
2008-11-3 20:45
0
雪    币: 222
活跃值: (27)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
30
很不错,收藏了
2008-11-5 18:29
0
雪    币: 231
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
就没人发个DELPHI版本的
2008-11-21 17:50
0
雪    币: 189
活跃值: (4810)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
32
非常感谢!!!!
2008-11-26 14:05
0
雪    币: 227
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
VISTA 不能用了SSDT了
2008-11-26 17:05
0
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
34
用工具恢复楼主所说的那几个hook就可以FindWindow获取qq三国的句柄了,但是tessafe.sys应该会检测,最好是先停掉system的tessafe.sys模块线程,不然又要和bsod见面了
2008-11-26 18:30
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
干掉这个就行了NtValidHandleSecure
2008-11-27 14:52
0
雪    币: 66
活跃值: (835)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
36
怎么我编译好了,三层的就是不能用?
2009-3-11 03:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
37
太好了,谢谢
2009-3-11 10:52
0
雪    币: 112
活跃值: (51)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
38
好东西一定动手支持
2009-5-14 11:57
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
39
thanks for sharing ^^
2009-6-24 01:28
0
雪    币: 211
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
40
vista 定位csrss进程的代码已经不适用了,lz的代码只能应用于winxp系统,其他系统都不适用
2009-6-25 17:12
0
雪    币: 201
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
41
看不懂...以后再学习~
2009-7-4 11:03
0
雪    币: 238
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
42
顶..................学习中.....
2009-8-18 00:46
0
雪    币: 376
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
43
请问可以停掉"停掉system的tessafe.sys模块线程"的软件是什么啊?我一直没找到。。。
2009-8-18 12:06
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
44
学习了,,有用
2009-9-11 13:30
0
雪    币: 486
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
45
顶一下先,在慢慢看!
2009-9-28 19:00
0
雪    币: 326
活跃值: (41)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
46
下载 代码慢慢看.占座学习
2009-9-29 15:28
0
雪    币: 244
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
47
不错!(至少6个字符)
2009-10-21 12:59
0
雪    币: 177
活跃值: (278)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
48
NTSTATUS MyNtUserBuildHwndList(IN HDESK hdesk, IN HWND hwndNext, IN ULONG fEnumChildren, IN DWORD idThread, IN UINT cHwndMax, OUT HWND *phwndFirst, OUT ULONG* pcHwndNeeded)
{
  NTSTATUS result;

  if (PsGetCurrentProcessId()!=ProcessIdToProtect)
  {
    ULONG ProcessID;
   
    if (fEnumChildren==1)
    {
            ProcessID = g_OriginalNtUserQueryWindow((ULONG)hwndNext, 0);
      if (ProcessID==(ULONG)ProcessIdToProtect)
        return STATUS_UNSUCCESSFUL;
    }
........

这个函数中的    if (fEnumChildren==1)判断是起什么作用的?
2009-11-3 13:33
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
49
多谢了,正在找这东西
2010-1-22 16:24
0
雪    币: 217
活跃值: (76)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
50
switch(controlCode)
  {
  case IO_PROTECT:
    ProcessIdToProtect = (HANDLE)irpStack->Parameters.DeviceIoControl.Type3InputBuffer;
    DbgPrint("IO_PROTECT:%d", ProcessIdToProtect);
    break;
  default:
    break;
  }

  Irp->IoStatus.Status = STATUS_SUCCESS;
  Irp->IoStatus.Information = 0;//这个地方要把返回大小赋值给他的
  IoCompleteRequest(Irp, IO_NO_INCREMENT);

  return status;
}

应该这么写
if(status==STATUS_SUCCESS)
Irp->IoStatus.Information =  返回大小 或 outputLength
else
Irp->IoStatus.Information = 0;

看来楼主在入门的时候用了easySYS之类的工具,而没自己去从头写一个驱动版HelloWorld,故不知这个细节。
这样一来METHOD_BUFFED或其它宏就都好用了 Irp->UserBuffer 与宏无关永远指向用户内存
2010-7-29 13:42
0
游客
登录 | 注册 方可回帖
返回
//