首页
社区
课程
招聘
[讨论]调试与反调试技术发展趋势:从冷兵器时代到热兵器时代
发表于: 2010-4-11 14:04 37268

[讨论]调试与反调试技术发展趋势:从冷兵器时代到热兵器时代

2010-4-11 14:04
37268
调试与反调试技术发展趋势:从冷兵器时代到热兵器时代
    调试与反调试技术这么多年以来并没有什么明显的技术进步。目前反调试技术的现状仍然是靠提取特征串、驱动保护等非常低级或者猥琐的方法。只要懂点驱动的人都可以轻松去掉,并没有什么技术含量。去掉保护之后,OD这样的Ring3调试器就可以调试自如了。这样的调试与反调试像不像是在玩躲猫猫游戏呢?只是看谁玩得更累而已。
    这种状况反映了目前的调试与反调试技术仍然停留在Ring0-Ring3这个层次。在此姑且称作冷兵器时代。调试与反调试双方都在使用大刀长矛,比谁的少林武功更厉害。更贴切的说就是所谓的人肉肉搏战了。需要面对面的,一招一式的比划,比谁的功力深厚、经验丰富、耐力更好。为此,武功高的人可以到处炫耀,武功低的人则不停的拜师学艺,希望能学得一招半式,大展宏图。在此我不得不泼几盆冷水。
    现在很多人认为自己可以写驱动、挂钩子、脱壳就已经很了不起了,这都是N多年以前就有的技术了,其实离真正的高手还差的很远。一个初学者,只要认真学完基础知识,几天之内就可以明白驱动是怎么回事,就会挂钩子、脱壳。玩的无非是技巧、经验和劳动量而已,并没有什么真正值得炫耀的东西。现在许多人自诩有多高的水平,不知有多少人懂得段页是怎么回事?如果连段页都不懂,又能对操作系统了解多少?更不用吹嘘自己驱动玩得有多好了。如果觉得自己水平还行,不妨动手自己写个操作系统的调试支持系统模块试试。就算已经很熟悉操作系统了,但是比Ring0更底层的技术又知道多少呢?在此并不想批判某些人的水平不行。只是希望仍然停留在Ring0水平的人能够有一个清醒的认识,学如逆水行舟,不进则退。
    几盆冷水之后再接着说比Ring0更底层的技术是怎么回事。人人都知道Ring0-Ring3,但鲜有人懂得更底层的技术了。为了便于理解,在此我姑且称呼为Ring-1层,就是操作系统之下了。目前X86 CPU的技术进步非常快,原来一些依赖于操作系统、应用程序才能实现的功能被不断的纳入到CPU里面,从而大大的提高这些功能的执行效率,获得更可靠、更稳定、更安全的效果。例如VT技术、TXT技术等等。
    拿VT技术为例,CPU早在几年以前就已经支持了,但是在国内却没有几个人在研究它,更别说应用了。有的只是炒作,一知半解,或者根本就是无知。一些什么都不懂的人竟然也可以抄几段文章胡言乱语,大言不惭。这不是一个真正做技术的人所应持有的态度。
    由于时间关系VT技术的原理及实现方法在此就不说了。详细的技术细节可以提供如下参考资料:
Intel CPU开发手册Volume 3B第19章-27章;
AMD CPU开发手册Volume 2 第15章;
    说到这就至少应该明白了,如果从Ring-1层来对付Ring0-Ring3层的各种反调试保护应该是什么效果了-无视所有anti。当然如果反调试保护也进入Ring-1层,那么新的对抗就会接踵而至。但有一点很明确,再也不是大刀对长矛这种人肉肉搏战了。轮到机枪大炮各种热兵器上场了。靠驱动过保护的人即使少林武功练的再好也要彻底歇菜了。当然,少林功夫仍然会很吸引人的,至少可以强身健体,可以表演,可以应付一些Ring0-Ring3层的保护。但是手里拿枪的普通人和少林武僧在战场上真正较量的结果就可想而知了。
    由此可知,无论调试还是反调试,由冷兵器时代进入热兵器时代,由Ring0-Ring3进入Ring-1是大势所趋。
    最后,寄希望于那些立志于追求更高技术的年轻人应该努力掌握较为全面的基础知识,为将来的发展打好基础。不要被一些所谓的花拳绣腿所迷惑,驱动、脱壳、挂钩子并不是技术的全部,更不是技术的未来。应该把精力放在更底层、更新的技术上,更上一层楼。

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (106)
雪    币: 22
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
个人认为VT技术也算不上是对调试技术的革新和突破,只能算是一种工程工艺的进步。

楼主熟练使用VT技术应该说仅把调试器的基础打牢了,高级的调试技术并不在此呀。

真正的调试技术的革新应该去看看国际学术界的前沿研究,这些研究的背后是很多大公司的研究院、名校。不要鄙视学术圈不会编程,那只是国内的个别现象。国际学术圈的各类基于VT和虚拟化的调试平台早在Intel刚刚发布VT时就开始出现,规模很大,不过,人家只是把VT当成一种工具,以支持更高端的自动调试技术而已。

所以,请楼主务必谦虚谨慎。
2010-4-11 14:52
0
雪    币: 21
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
正是基于这个道理,所以用不了不就我们就会推出虚拟硬件调试器。当然我们已经开发的硬件调试器就不必多说了,跟国外INTEL 、AMD比还差的很远很远。正所谓知耻而后勇。
2010-4-11 15:00
0
雪    币: 22
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
另外,看雪论坛大家更在意于讨论软件保护技术、对抗与破解技术,那些才是技术的精髓,所以大家并不在乎手中的调试器好坏。

最后,感觉楼主发的贴都是广告贴,给楼主一个建议:如果楼主真的觉得自己的VT技术非常厉害的话,不妨将核心技术拿出来给大家研究,或是为普及VT技术做点实质性的贡献,否则,谁知道你究竟是几斤几两?
2010-4-11 15:04
0
雪    币: 22
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
另外,楼主能否将Ring-1这样的“术语”修正成Hypervisor,或VMM。Intel手册中的Ring-1。。。。。,楼主再去看看?
2010-4-11 15:10
0
雪    币: 106
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
对抗反调试只是调试器的诸多功能之一。调试器好不好,还得看功能是否全面。VT只配给OD做个插件。
2010-4-11 15:11
0
雪    币: 106
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
如果被调试的程序也企图进入所谓的Ring-1,楼主打算如何处理??
2010-4-11 15:14
0
雪    币: 21
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
为了便于理解,称呼Ring-1,何必在意呢。或许Intel和AMD的开发手册我们看的没有你熟悉。罢了罢了!
关于软件的保护和破解,有兴趣的话不妨可以破解一下我们的调试器,证明一下自己的实力,也可以鉴赏一下我们的防护措施做的如何。
至于破解和保护领域,除了调试器之外,我们就会推出不影响效率、可以自动压缩变形、不用手动参与、不可破解的VM壳。只是需要点时间而已。
2010-4-11 15:18
0
雪    币: 21
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
正所谓魔高一尺,道高一丈。千万别忘了我们300W的硬件调试器可不是吃醋的。
2010-4-11 15:20
0
雪    币: 22
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我对此有点反感。驱动、脱壳、挂钩谁说不是技术,如果楼主这么说,我真的要对楼主的技术观念表示怀疑。如果楼主真的能够做好一个挂钩库如微软研究院设计的detour。那我无话可说。就拿脱壳说,连国际上最好的计算机安全会议,都经常以自动脱壳等技术为研究目标在开展工作。楼主却说这不是技术。更高端的挂钩技术,比如,Solaris中的DTrace 等技术,目前全球还没有人做出第二套能到达它这个功能、稳定性和性能级别的。楼主认为这不是技术么?

我能说什么呢?
2010-4-11 15:21
0
雪    币: 21
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
给你修正一下啊,不是“修正成Hypervisor,或VMM。”专用术语是“CPU的root模式”。
2010-4-11 15:23
0
雪    币: 21
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
壳的最高境界是变形编译器编译源代码。有空的话我们做个给你瞧瞧。VM都是小玩意。挂钩子的话,我们可以做到在任何地方不用插指令挂钩子,换句话说即使有自校验也可以无视。都做到这样了,还有什么技术可言。
2010-4-11 15:25
0
雪    币: 1946
活跃值: (243)
能力值: (RANK:330 )
在线值:
发帖
回帖
粉丝
13
在楼主所发的广告贴里很多人回复你并不是因为不懂VT,不说并不代表不懂,楼主也不要选择性忽略大家的问题。
2010-4-11 15:31
0
雪    币: 106
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
全世界300w搞病毒、木马和加壳的程序员也不是吃素的。
2010-4-11 15:31
0
雪    币: 22
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
算了,我看到楼主的技术上的浮躁,你真的不知道天外有天是什么意思。楼主可以用你的变形编译器弄个keygen放出来,技术讨论大家都欢迎
2010-4-11 15:33
0
雪    币: 22
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
有哪位朋友愿意帮我鄙视他一下,我退出这场没有任何信息熵的讨论
2010-4-11 15:35
0
雪    币: 21
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
咱认真做东西,怎么就叫了浮躁。岂是那种光说不练的人。我只会说我们可以做什么,从不说别人可以做什么。
2010-4-11 15:36
0
雪    币: 21
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
别跑啊,要百家争鸣,百花齐放。技术探讨而已,何必小家子气啊!
2010-4-11 15:38
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
19
在楼主看来 VM 是小意思,我不反对(当然也保留了 1/100 的怀疑性),但你的用户咋办 ?
2010-4-11 15:39
0
雪    币: 262
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
是认真抄东西吧?本来抄别人的东西提高自己也无可厚非,但拿来高调卖就有点人品问题了。。。
估计你所谓的热兵器是基于网上的几个开源代码吧,xxxx-break.rar,bluexxxx
2010-4-11 15:42
0
雪    币: 21
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
咱是认真做技术的人,做出来再说。技术第一,其他都是次要的。
2010-4-11 15:42
0
雪    币: 21
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
唉,无知!你抄一个给我看看。
2010-4-11 15:43
0
雪    币: 262
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
无耻!你的第一个双机版本绝对是抄的xxxx-break
2010-4-11 15:51
0
雪    币: 21
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
唉,看来你没有看懂。接着往下看吧。只要稍微认真分析一下,也不至于如此误会了。
2010-4-11 15:58
0
雪    币: 262
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
是没你牛啊,把人家的东西“看懂了”拿来卖,没见你把心得拿出来分享下!
2010-4-11 16:15
0
游客
登录 | 注册 方可回帖
返回
//