首页
社区
课程
招聘
tx是如何反OD断点的?
发表于: 2011-3-20 23:37 9095

tx是如何反OD断点的?

2011-3-20 23:37
9095
tx2011版本
bp SetWindowsHookExA/W 无效 。条件断点也无效。硬件执行断点无效。
bp SendInput有效。

如何做到反OD断点的呢?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 330
活跃值: (112)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
2
有个内存校验,比较SetWindowsHookExA 函数有没有被下CC,和比较SetWindowsHookEx有没有被修改
和HOOK,

77C16EB0 >  8B4424 0C       MOV EAX,DWORD PTR SS:[ESP+C]
77C16EB4    85C0            TEST EAX,EAX
77C16EB6    74 44           JE SHORT msvcrt.77C16EFC
77C16EB8    8B5424 04       MOV EDX,DWORD PTR SS:[ESP+4]
77C16EBC    56              PUSH ESI
77C16EBD    57              PUSH EDI
77C16EBE    8BF2            MOV ESI,EDX
77C16EC0    8B7C24 10       MOV EDI,DWORD PTR SS:[ESP+10]
77C16EC4    0BD7            OR EDX,EDI
77C16EC6    83E2 03         AND EDX,3
77C16EC9    74 32           JE SHORT msvcrt.77C16EFD
77C16ECB    A9 01000000     TEST EAX,1
77C16ED0    74 0B           JE SHORT msvcrt.77C16EDD
77C16ED2    8A0E            MOV CL,BYTE PTR DS:[ESI]
77C16ED4    3A0F            CMP CL,BYTE PTR DS:[EDI]
77C16ED6    75 52           JNZ SHORT msvcrt.77C16F2A
77C16ED8    46              INC ESI
77C16ED9    47              INC EDI
77C16EDA    48              DEC EAX
77C16EDB    74 1D           JE SHORT msvcrt.77C16EFA
77C16EDD    8A0E            MOV CL,BYTE PTR DS:[ESI]
77C16EDF    8A17            MOV DL,BYTE PTR DS:[EDI]
77C16EE1    38D1            CMP CL,DL
77C16EE3    75 45           JNZ SHORT msvcrt.77C16F2A
77C16EE5    8A4E 01         MOV CL,BYTE PTR DS:[ESI+1]
77C16EE8    8A57 01         MOV DL,BYTE PTR DS:[EDI+1]
77C16EEB    38D1            CMP CL,DL
77C16EED    75 3B           JNZ SHORT msvcrt.77C16F2A
77C16EEF    83C7 02         ADD EDI,2
77C16EF2    83C6 02         ADD ESI,2
77C16EF5    83E8 02         SUB EAX,2
77C16EF8  ^ 75 E3           JNZ SHORT msvcrt.77C16EDD
77C16EFA    5F              POP EDI
77C16EFB    5E              POP ESI
这段是比较有没有被修改的代码
在 TSSafeEd模块里

10001D56    8989 596A1E8D   MOV DWORD PTR DS:[ECX+8D1E6A59],ECX
10001D5C    45              INC EBP
10001D5D    D05E 56         RCR BYTE PTR DS:[ESI+56],1
10001D60    50              PUSH EAX
10001D61    FF75 10         PUSH DWORD PTR SS:[EBP+10]
10001D64    E8 4D640000     CALL TSSafeEd.100081B6                   ; JMP 到 msvcrt.memcmp
这个CALL是做比较的。楼主去看下吧
还有个检测CC的,忘记在哪里啦,好像在SendInput函数下面点的,上次这里忘记做笔记啦
希望能帮到楼主,
2011-3-21 00:33
0
雪    币: 172
活跃值: (212)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
在调用setwindowsHook 之前会对setwindowsHookA/W 做个memcpy restore Hook. 所以你直接bp那无效, 硬断应该可以,
很久以前调过的 嘿嘿..
2011-3-21 02:19
0
雪    币: 170
活跃值: (90)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
4
谢谢啦。
2011-3-21 08:43
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
5
竹君老大去CodeProject上面搜索下Anti Debug 看下代码就知道怎么回事了
2011-4-15 12:42
0
雪    币: 170
活跃值: (90)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
6
你指的是 自生成技术吗?
2011-4-15 17:39
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
7
异常那章不是有讲清除硬件断点吗?我理解的偷取代码也可以,比如,MessageBox的内部反汇编
MOV EDI EDI
PUSH EBP我先自己实现这两句,然后直接跳到这两句后面,
下断点一般就是第一句嘛,所以,这是我的个人理解,如果有错误请指出
2011-4-16 18:53
0
雪    币: 8865
活跃值: (2379)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
8
TX会GetContext然后SetContext~
2011-4-18 12:29
0
雪    币: 3107
活跃值: (1249)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
9
断点SetWindowsHookEx的深深深层call。我记得当时搞它的钩子是这么搞的
2011-4-18 13:38
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
10
还是这老兄一说就明白佩服
2011-4-21 18:52
0
雪    币: 154
活跃值: (550)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
11
cvcvxk。。。。
2011-4-24 20:53
0
雪    币: 485
活跃值: (78)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
12
10楼很幽默。。。老V蛋痛了
2011-4-26 03:50
0
雪    币: 8865
活跃值: (2379)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
13
蛋痛啥~tersafe.dll里的代码纠结蛋痛~
2011-4-26 07:55
0
游客
登录 | 注册 方可回帖
返回
//