首页
社区
课程
招聘
请教怎么防止自己编写的软件被SoftICE、TRW和OllyDbg来调试? [求助]
发表于: 2006-10-3 17:25 7001

请教怎么防止自己编写的软件被SoftICE、TRW和OllyDbg来调试? [求助]

2006-10-3 17:25
7001
如果通过得到进程的方法,检测到SoftICE、TRW和OllyDbg等的进程,就直接把软件退出;但是如果把SoftICE、TRW和OllyDbg它们的文件名修改后再来跟踪,在进程里面看得的文件名称就变了,也就不能达到中断软件防止被跟踪的目的了。大家有没有什么好的方法或技巧可以防止SoftICE、TRW和OllyDbg等软件的动态跟踪? 大家能不能给点反跟踪的方法?先谢谢了!

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

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
好像可以跟踪窗口吧!
2006-10-4 10:17
0
雪    币: 135
活跃值: (231)
能力值: ( LV12,RANK:330 )
在线值:
发帖
回帖
粉丝
3
HOOK INT1 INT3,保证普通的调试器都玩完
2006-10-4 10:48
0
雪    币: 238
活跃值: (326)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
4
给你出个馊主意,将INT1和INT3的硬件中断给关了,绝对所有的DEBUG都不工作了,不过异常也不工作了,哈哈,绝对是太平世界。
2006-10-5 11:46
0
雪    币: 61782
活跃值: (21986)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
5
最初由 gzgzlxg 发布
给你出个馊主意,将INT1和INT3的硬件中断给关了,绝对所有的DEBUG都不工作了,不过异常也不工作了,哈哈,绝对是太平世界。


gzgzlxg对系统底层很熟悉,这个点子狠。写个样例演示一下就好了。;)
2006-10-5 12:03
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
在WIN2000以上系统,需要写驱动,这方面的技术已经很成熟,许多加密工具都使用了这个技术。可以到GOOGLE中搜一下。
2006-10-9 17:18
0
雪    币: 206
活跃值: (306)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
呵呵,我好像记得有些工具可以把这些debug工具影藏起来,
2006-10-9 18:34
0
雪    币: 210
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
最初由 kanxue 发布
gzgzlxg对系统底层很熟悉,这个点子狠。写个样例演示一下就好了。;)


强烈支持啊 写一个例子吧
2006-10-9 19:33
0
雪    币: 222
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
9
NT以上版本的:产生一个Invalid Handle或Resouce Leak(典型的,比如以非法参数调用CloseHandle),并且挂接自己的ntdll!RtlRaiseException,如果存在调试器,这个函数就会被调用。也可以不挂接,但是调试器会收到通知。程序可以根据堆栈内容来判断RtlRaiseException是否被调用过。
关掉调试端口也可,但都是对付RING3的,RING0的要到RING0里面去关内核调试器。
2006-10-10 00:09
0
雪    币: 1334
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
关掉那不行,要是 hello world! 这样的小巧软件还行。
大一点的软件,哪怕只有几句if,那就不妙了,因为关掉会没有异常,哈哈,没有异常的在错误出显时可有趣了;

我倒是建议你将在程序编译时修改编译器将 EBP替换掉, 简单的使用命令更换编译框架还不够,最好手动将EBP全部替换掉,哈哈
2006-10-10 13:46
0
雪    币: 135
活跃值: (231)
能力值: ( LV12,RANK:330 )
在线值:
发帖
回帖
粉丝
11
就是HOOK掉INT1INT3就行了,异常产生的时候看看造成异常的进程是不是你的进程,是的话蓝屏,不是就跳到正确的HANDLER,然后随时查看下IDT,被改了也蓝。这样不管0RING还是3RING的调试器都完蛋了。SF3就是这么干。
2006-10-10 23:07
0
雪    币: 210
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
最初由 DonQuixote 发布
就是HOOK掉INT1INT3就行了,异常产生的时候看看造成异常的进程是不是你的进程,是的话蓝屏,不是就跳到正确的HANDLER,然后随时查看下IDT,被改了也蓝。这样不管0RING还是3RING的调试器都完蛋了。SF3就是这么干。


有没有相关连接或代码啊...
2006-10-11 03:14
0
游客
登录 | 注册 方可回帖
返回