首页
社区
课程
招聘
怎样手动消灭IsDebuggerPresent
发表于: 2004-8-20 21:23 13450

怎样手动消灭IsDebuggerPresent

2004-8-20 21:23
13450
因为XP-SP2 IsDebuggerPresent插件不好使
所以想手动消灭[/URL]IsDebuggerPresent
我到IsDebuggerPresent
把:
    mov eax, fs:[18]
    mov eax, dword ptr [eax+30h]
    movzx eax, byte ptr [eax+2h]
        ret
改成:xor eax,eax
     ret
不行的说:哪位试试, 多谢了
附件附件:CRACKME+asp.rar

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 1
支持
分享
最新回复 (21)
雪    币: 303
活跃值: (476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
wait
2004-8-21 10:55
0
雪    币: 303
活跃值: (476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
改:EAX=0,也不行,
2004-8-21 12:12
0
雪    币: 898
活跃值: (4054)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
4
IsDebuggerPresent 应该是EAX返回置0就行了
另:ASpr出错不一定就是IsDebuggerPresent的问题
2004-8-21 12:34
0
雪    币: 303
活跃值: (476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
最初由 fly 发布
IsDebuggerPresent 应该是EAX返回置0就行了
另:ASpr出错不一定就是IsDebuggerPresent的问题

谢谢FLY
EAX返回置0仍有问题,可是用IsDebuggerPresent插件就没有问题,是否IsDebuggerPresent插件还有其他功能?
2004-8-21 13:04
0
雪    币: 303
活跃值: (476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
最初由 fly 发布
没问题的
或许还有多次检测IsDebuggerPresent

如果第一次改:
mov eax, fs:[18]
mov eax, dword ptr [eax+30h]
movzx eax, byte ptr [eax+2h]
ret
改成:xor eax,eax
ret
应当说以后无论多少次检测IsDebuggerPresent,返回值EAX都是0呀
请FLY试试上面的附件,我好几天没解决555555
多谢
2004-8-21 13:31
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
7
你错了。
ASProtect 会自己实现 IsDebuggerPresent,
应该执行一段代码:
and fs:[30h], 0
这样就没有问题了。
2004-8-21 13:41
0
雪    币: 383
活跃值: (786)
能力值: ( LV12,RANK:730 )
在线值:
发帖
回帖
粉丝
8
就是说ASProtect会把IsDebuggerPresent功能代码搬到自己的壳执行,你不把标志销毁,当然光改IsDebuggerPresent的执行代码就走不通!

另外,我也想问在98的IsDebuggerPresent函数的代码为何不同于比它高级的系统:
BFF94A33   mov eax,dword ptr ds:[BFFCADE4]
BFF94A38   mov ecx,dword ptr ds:[eax]
BFF94A3A   cmp dword ptr ds:[ecx+54],1
BFF94A3E   sbb eax,eax
BFF94A40   inc eax
BFF94A41   retn

98、ME以上系统:
mov eax, fs:[18]
mov eax, dword ptr [eax+30h]
movzx eax, byte ptr [eax+2h]
ret

如何能突破OD在98的修改权限(应该说如何Patch吧),在DFCG有个人说它用Unknow插件可解决?

内容如下:
lordways发言:我经常用这个小工具在W98下隐藏OD

This little tool has 2 buttons.

1.The first, "Hide", hooks th IsDebuggerPresent API and makes it unuseful
against debuggers. The Armadillo software protection system is owned by
this trick ! After having hidden your debuggers, you can restore the
first verion of the API by re-clicking the button, which caption had
changed to "Un-Hide".

2.The second button enables you to activate breakpoints on Windows APIs in
OllyDbg under 9x systems, thing which was impossible. Caution, it makes your
Kernel32 in memory WRITEABLE, so a simple line of code can kill your most
basic Windows functions, until next reboot.
    After having set breakpoints with OllyDBG, if you are not sure your Kernel
is clean, you can fix all the APIs's first byte by clicking "Fix". After that a
messagebox appears, asking you if you want to COMPLETELY clean you Kernel.
If you answer YES, you will be able to execute ALL applications, the
no-imports ones too.
If you answer NO, you will be able to re-fix your Kernel as you want, when
you want, until you click YES.

    All these tricks work, even if you close this tool. It detects if you have the bps enabled or IsDebuggerPresent hooked, and inits itself, following the
different cases.

Hope it will be useful for you,
2004-8-21 14:05
0
雪    币: 303
活跃值: (476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
最初由 forgot 发布
你错了。
ASProtect 会自己实现 IsDebuggerPresent,
应该执行一段代码:
and fs:[30h], 0
这样就没有问题了。

能否具体说说怎样执行:
and fs:[30h], 0
多谢
2004-8-21 14:56
0
雪    币: 557
活跃值: (2338)
能力值: ( LV9,RANK:2130 )
在线值:
发帖
回帖
粉丝
10
d fs:[30]然后看到那个1改成0
2004-8-21 15:07
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
11
最初由 liuyilin 发布

能否具体说说怎样执行:
and fs:[30h], 0
多谢

随便找个地方写上,Ctrl+*,F8,再把Eip改回去。
2004-8-21 15:09
0
雪    币: 303
活跃值: (476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
3q 各位
2004-8-21 16:20
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
13
可否照顾我这种菜鸟,先说说什么是: IsDebuggerPresent 阿?
2004-8-21 17:14
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
14
1、IsDebuggerPresent是winAPI函数,可用来检测三级调试器的函数,可以用来反跟踪调试器。
2、IsDebuggerPresent插件,OD插件,可以隐藏OD不被被调试的程序发现OD,脱壳调试时非常有用(只对win2K和XP有效)。
2004-8-21 17:55
0
雪    币: 1540
活跃值: (2807)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
对有些程序加上插件可以避免到检测,
去掉插件会被检测到!
但是有些地方还是不管用,Win9x要搞
Crack真比2000要麻烦一点!
2004-8-21 18:43
0
雪    币: 16
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
16
学习!
2004-9-7 11:36
0
雪    币: 208
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
17
最初由 liuyilin 发布
因为XP-SP2 IsDebuggerPresent插件不好使
所以想手动消灭[/URL]IsDebuggerPresent
我到IsDebuggerPresent
把:
mov eax, fs:[18]
........


mov eax, fs:[18]
    mov eax, dword ptr [eax+30h]

记下地址eax   用        WriteProcessMemory

直接  改为0 即可。
2004-9-7 14:29
0
雪    币: 1583
活跃值: (961)
能力值: ( LV13,RANK:370 )
在线值:
发帖
回帖
粉丝
18
2004-9-7 17:55
0
雪    币: 1583
活跃值: (961)
能力值: ( LV13,RANK:370 )
在线值:
发帖
回帖
粉丝
19
最初由 liuyilin 发布

如果第一次改:
mov eax, fs:[18]
mov eax, dword ptr [eax+30h]
movzx eax, byte ptr [eax+2h]
........


只对 EAX 清 0 是没用的,因为并没有清除到 TEB 的 30h 处。
2004-9-7 17:56
0
雪    币: 303
活跃值: (476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
最初由 luocong 发布


只对 EAX 清 0 是没用的,因为并没有清除到 TEB 的 30h 处。

这才对也:p
2004-9-7 18:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
学到东东了,
终于知道怎么回事了
可还是有个插件方便的说
2004-9-7 19:50
0
雪    币: 1540
活跃值: (2807)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
就拿你传上的附件为例子,把相应的地方
贴一下那?

最初由 liuyilin 发布

这才对也:p
2004-9-7 22:38
0
游客
登录 | 注册 方可回帖
返回