找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 15050|回复: 27

[讨论]一个简单反调试的实现(兼容WIN32/WIN64)

 火.. [复制链接]

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2015-1-1 00:00:10 | 显示全部楼层 |阅读模式
直接上代码,主要原理是根据处理异常的时间长短判断是否存在调试器。
在有调试器的情况下,异常处理的时间远比正常情况要长。
  1. #include <stdio.h>
  2. #include <Windows.h>
  3. int main()
  4. {
  5.         DWORD t1,t2;
  6.         //测试GetTickCount的有效性,如果无效则表示发现调试器
  7.         t1=GetTickCount();
  8.         Sleep(500);
  9.         t2=GetTickCount();
  10.         if(t2-t1<400)
  11.                 puts("FIND DBG\n");
  12.         else
  13.                 puts("NO DBG\n");
  14.         //故意引发异常查找调试器
  15.         t1=GetTickCount();
  16.         __try
  17.         {
  18.                 memcpy((PVOID)1234,(PVOID)5678,90);
  19.                 //DebugBreak();
  20.         }
  21.         __except(1)
  22.         {
  23.                 t2=GetTickCount();
  24.                 puts("goto __except!\n");
  25.         }
  26.         if(t2-t1>10)
  27.                 puts("FIND DBG");
  28.         else
  29.                 puts("NO DBG");
  30.         getchar();
  31.         return 0;
  32. }
复制代码
这东西在WIN32上当然过不了SOD,但是在WIN64上很好用。{:soso_e113:}

不过在产品上实现反调试,当然不需要我们费劲:
游客,如果您要查看本帖隐藏内容请回复

3

主题

52

回帖

0

精华

金牌会员

积分
1043
发表于 2015-1-1 00:20:51 | 显示全部楼层
哈哈 我一定是第一个回复的!

0

主题

36

回帖

0

精华

铜牌会员

积分
210
发表于 2015-1-2 09:55:24 | 显示全部楼层
nice...

5

主题

52

回帖

0

精华

钻石会员

积分
4275
发表于 2015-1-2 10:48:47 | 显示全部楼层
学习学习,向老大学习~

1

主题

82

回帖

0

精华

铜牌会员

积分
156
发表于 2015-1-5 12:57:30 | 显示全部楼层
看看帖子的内容

0

主题

68

回帖

0

精华

铜牌会员

积分
94
发表于 2015-1-6 13:54:37 | 显示全部楼层
谢谢了, 学习ing

0

主题

13

回帖

0

精华

铜牌会员

积分
225
发表于 2015-1-18 09:36:44 | 显示全部楼层
恩恩 不错 来学习了

0

主题

117

回帖

0

精华

铜牌会员

积分
258
发表于 2015-1-23 11:06:15 | 显示全部楼层
看看了。。。。

1

主题

72

回帖

0

精华

铜牌会员

积分
260
发表于 2015-3-17 10:55:26 | 显示全部楼层
x64上很好用,是因为x64无法hook,从而破掉这个检测吗?

OD里的忽略异常,是否就可以过掉这中方法了。

6

主题

103

回帖

0

精华

金牌会员

积分
680
发表于 2015-3-19 10:40:59 | 显示全部楼层
确实比较简单的

30

主题

693

回帖

0

精华

钻石会员

积分
2815
发表于 2015-5-16 13:09:29 | 显示全部楼层
谢谢支持一下

0

主题

14

回帖

0

精华

铜牌会员

积分
46
发表于 2015-5-31 01:48:53 | 显示全部楼层
看看  这是什么

0

主题

4

回帖

0

精华

铜牌会员

积分
48
发表于 2015-5-31 21:59:29 | 显示全部楼层
好东西  看一下

8

主题

69

回帖

2

精华

钻石会员

积分
3279
发表于 2015-6-6 15:00:57 | 显示全部楼层
可以,先自己写一个调试器, 然后把所有异常消息,全部忽略掉.并且把触发的异常代码打印一下.
这样就可以看出,频繁触发的什么异常,就知道软件搞什么鬼了.然后再调试器忽略掉这个异常就OK了

0

主题

6

回帖

0

精华

铜牌会员

积分
34
发表于 2015-6-9 01:07:37 | 显示全部楼层

0

主题

52

回帖

0

精华

铜牌会员

积分
246
发表于 2015-6-25 12:27:52 | 显示全部楼层
我是来学习的...

4

主题

145

回帖

0

精华

金牌会员

积分
1189
发表于 2015-7-30 23:41:11 | 显示全部楼层
主动触发异常 貌似很多游戏保护都有了

0

主题

49

回帖

0

精华

铜牌会员

积分
137
发表于 2016-2-19 09:43:20 | 显示全部楼层
学习学习

0

主题

23

回帖

0

精华

铜牌会员

积分
59
发表于 2016-4-17 23:23:51 | 显示全部楼层
看看

0

主题

20

回帖

0

精华

初来乍到

积分
20
发表于 2017-12-20 00:13:07 | 显示全部楼层
看不懂 先把有关系的都下载收藏

0

主题

8

回帖

0

精华

铜牌会员

积分
40
发表于 2017-12-31 14:22:38 | 显示全部楼层

恩恩 不错 来学习了

6

主题

123

回帖

0

精华

初来乍到

积分
5392
发表于 2018-1-6 21:43:59 | 显示全部楼层
学习学习,

0

主题

11

回帖

0

精华

初来乍到

积分
31
发表于 2018-1-8 16:47:37 | 显示全部楼层
试试看。。。

0

主题

28

回帖

0

精华

铜牌会员

积分
57
发表于 2018-1-8 22:57:14 | 显示全部楼层
感谢分享...

0

主题

103

回帖

0

精华

初来乍到

积分
3
发表于 2018-1-13 22:29:08 | 显示全部楼层
谢谢分享!

0

主题

45

回帖

0

精华

铜牌会员

积分
55
发表于 2018-3-23 14:13:07 | 显示全部楼层
感謝分享!!

0

主题

32

回帖

0

精华

铜牌会员

积分
112
发表于 2018-3-23 15:50:17 | 显示全部楼层
反调试也好,加壳也好,都是过滤掉一批技术水平低却想不劳而获的人,当然高手面对vmp应该也会一阵恶心

3

主题

75

回帖

0

精华

银牌会员

积分
440
发表于 2018-3-24 14:39:55 | 显示全部楼层
谢谢分享,学习简单的反调试技术
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表