首页
社区
课程
招聘
[原创]反StrongOD原理和实例(二)
发表于: 2012-2-5 11:24 13327

[原创]反StrongOD原理和实例(二)

2012-2-5 11:24
13327

反StrongOD原理和实例(二)

上次说了一个反StrongOD原理和实例,是关于ntdll.NtQueryObject的,这次来说说用ntdll.NtSetInformationThread过StrongOD,我通过实践发现,当传递一个错误的句柄给ntdll.NtSetInformationThread函数,在StrongOD里返回值为

0,而在正常的OD里返回值为错误号C0000008,根据这个原理我写了一个程序,这个程序用到了二次ntdll.NtSetInformationThread,一次是正常的NtSetInformationThread反调试,是用来对付正常的OD的,另外一个

NtSetInformationThread反调试是用来对付StrongOD的。
以下程序在WINDOWS2003、XP和7.0测试通过。

00401000 ThreadHi.<ModuleE>/$  FF15 04204000           call dword ptr ds:[<&kernel32.GetCurrentThread>]      ; kernel32.GetCurrentThread,正常的NtSetInformationThread开始
00401006                   |.  6A 00                   push 0
00401008                   |.  6A 00                   push 0
0040100A                   |.  6A 11                   push 11
0040100C                   |.  50                      push eax                                              ;  正确的句柄
0040100D                   |.  FF15 0C204000           call dword ptr ds:[<&ntdll.NtSetInformationThread>]   ;  ntdll.NtSetInformationThread
00401013                   |.  B8 EDAC8700             mov eax,87ACED                                        ;  
00401018                   |.  6A 00                   push 0
0040101A                   |.  6A 00                   push 0
0040101C                   |.  6A 11                   push 11
0040101E                   |.  50                      push eax                                              ;  错误的句柄
0040101F                   |.  FF15 0C204000           call dword ptr ds:[<&ntdll.NtSetInformationThread>]   ;  ntdll.NtSetInformationThread
00401025                   |.  83F8 00                 cmp eax,0
00401028                   |.  74 16                   je short ThreadHi.00401040
0040102A                   |.  6A 00                   push 0                                                ; Style = MB_OK|MB_APPLMODAL
0040102C                   |.  68 40214000             push ThreadHi.00402140                                ; Title = "结果"
00401031                   |.  68 54214000             push ThreadHi.00402154                                ; Text = "无调试器"
00401036                   |.  6A 00                   push 0                                                ; hOwner = NULL
00401038                   |.  FF15 14204000           call dword ptr ds:[<&user32.MessageBoxA>]             ; MessageBoxA
0040103E                   |.  EB 14                   jmp short ThreadHi.00401054
00401040                   |>  6A 00                   push 0                                                ; Style = MB_OK|MB_APPLMODAL
00401042                   |.  68 40214000             push ThreadHi.00402140                                ; Title = "结果"
00401047                   |.  68 48214000             push ThreadHi.00402148                                ; Text = "有调试器"
0040104C                   |.  6A 00                   push 0                                                ; hOwner = NULL
0040104E                   |.  FF15 14204000           call dword ptr ds:[<&user32.MessageBoxA>]             ; MessageBoxA
00401054                   |>  6A 00                   push 0                                                ; ExitCode = 0
00401056                   \.  FF15 00204000           call dword ptr ds:[<&kernel32.ExitProcess>]           ; ExitProcess


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 6
支持
分享
最新回复 (12)
雪    币: 10960
活跃值: (2920)
能力值: ( LV5,RANK:71 )
在线值:
发帖
回帖
粉丝
2
楼主高手啊,学习。
2012-2-5 11:39
0
雪    币: 120
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
海风大大快来看一下。。。
2012-2-5 13:28
0
雪    币: 2
活跃值: (199)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
mark,anti-sod
2012-2-5 14:03
0
雪    币: 133
活跃值: (587)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
5
呵呵  真厉害  做测试也挺辛苦的
2012-2-6 09:53
0
雪    币: 1644
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
学习方法和思路。。。
2012-2-8 09:36
0
雪    币: 270
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
已经被海风给和谐了。。。
2012-2-14 20:54
0
雪    币: 589
活跃值: (119)
能力值: ( LV11,RANK:190 )
在线值:
发帖
回帖
粉丝
8
今天更新补掉了
2012-2-15 22:39
0
雪    币: 1632
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
已经和谐了,你如果刚更新SOD,重启一下就和谐了,因为要重新加载SOD驱动。
2012-2-16 13:54
0
雪    币: 1737
活跃值: (110)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
思路最重要啊,虽然偶还看不懂~ up
2012-2-16 14:15
0
雪    币: 232
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
学习一下 ..
2012-2-22 20:47
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
12
这个我早说过了~
http://bbs.pediy.com/showthread.php?t=140239
2012-2-24 19:59
0
雪    币: 563
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
下载试试
2012-2-25 20:16
0
游客
登录 | 注册 方可回帖
返回
//