首页
社区
课程
招聘
关于实现反调试的种种疑惑。
发表于: 2007-12-25 00:26 7186

关于实现反调试的种种疑惑。

2007-12-25 00:26
7186
读了看雪出的<<软件加密技术内幕>>书中关于反调的章节,其它提到了几种方法,比如用IsDebuggerPresent,或者在代码中检查父进程,但这样的检测毕竟只能放在代码中。以OD为例,OD调试进程可以用直接载入和附加两种方法来调试进程,而对于这两种方法而言,以上检测方法都很难在OD刚载入进程时就实现退出调试器的功能。而像Themida那样的,在OD刚载入时就能实现程序自动退出的功能又是怎样做到的了?这让我感到相当困惑。有知道的高人知道思路的进来说一下吧,最后能给出这样的一个反调试的例子。

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

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 80
活跃值: (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
有关Themida这个工具我还不太了解,但我想先请教一下楼主,是只有OD载入被保护进程时就自动退出,还是任何调试器载入被保护进程都会自动退出啊!
2007-12-25 02:17
0
雪    币: 66
活跃值: (15)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
3
可以参考http://www.unpack.cn/viewthread.php?tid=7985&extra=page%3D3
2007-12-25 11:12
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
有关Themida这个工具我还不太了解,但我想先请教一下楼主,是只有OD载入被保护进程时就自动退出,还是任何调试器载入被保护进程都会自动退出啊!


目前我只在OD上试了,我只是举例说明一下这个问题。其它内核级调试器,根据看雪资料上说的也有退出的情况。还有从某些加壳软件的功能介绍来看,也是能够反各种调试器的。我主要就是想问下这个原理,因为毕竟对于OD来说,载入和附加进程这两种方式应该都没有执行到进程里的任何代码吧,当然这只是我个人的理解,但是为什么又会在调试器刚进入时,程序就检测到了并且自动退出了。

我还是先看一下楼上这位朋友发的帖子先,有这方面经验或者对这个感兴趣的朋友,可以在这帖子里继续,如果我有收获,后面会发出来。
2007-12-25 14:19
0
游客
登录 | 注册 方可回帖
返回
//