-
-
Crackme,软件保护的讨论
-
2007-3-16 14:33
4430
-
平日 Crackme 区大家坐下来讨论的机会比较少,所以有这个帖子,一起 brainstorming
题目 : 各位兄弟写作 crackme 和破解 crackme 的经验都多了,有甚么特别的感想 ?
我先说说自己的感想吧
随着现在软件工业的发展,一种很明显的趋势出现了,这就是 “开发技术走向高层次,走向受监控 (under control)”。 我们的从 win32 的世界开始出发,走到现在这个地步,是一个很特别的位置 :
1. Windows 95, 98, 2000, xp 到了现在,我们的知识不断累积,对系统了解深了,对各种 API 运用精通了,有些人在研究内核,有些写 rootkit ,这时候,microsoft 感到很大的恐惧感,因为大家对他的产品太了解,太没有安全感了。大家有一天完全地把 windows 的知识都用到像 linux wine 的上面,或是把 windows 的档案都重写一次出来的时候, Microsoft 便不把控制大权,也不能向商户们保证任何安全,整个 win32 的土地,变成了大家的自由世界了。Microsoft 必须要阻止。
2. 现在 .net 已经有一段时间,或许microsoft 希望有一天世界上不会再有自由的 win32 exe 运行,所有的东西都受到 .net 的严密监控,在重重守护森严的环境里,大家可以写的东西能力下降了,native exe 不能运行了,不能写 rootkit 了,不能写工具监视档案系统了,所有 debugger 也需要公司注册才可以合法运行了,那时候,microsoft 便真正感到安全。在我眼中,这是一个 ring 3.5 的世界,「受压制的运行环境」 。 (甚么是 ring 4 呢 ? 我想是虚拟器内的程序。)
3. 软件保护的工具,已经有很多了,在一个末日的战场上,大家挖掘所有可以用的,不可以用的系统秘密,所有的东西也复杂化了。大家把战场从 ring 3 带到 ring 0,或是说 “内核 vs 内核”,或许要带到 ring ?1 了 (在 windows 以外的战场,不知道 softice 算不算),或是 ring ?2 ( 加载 softice 的 softice),还有甚么 ?3, -4 的。很明显,这个战争已经由「小规模技术战争」,演变成「大规模耐力战争」了。耐力,可以付出的精神时间,才是胜利的重要因素
4. 在 linux 的世界,大部份东西也是 source code 可见,所以软件保护通常在于client and server model (client 进入 server 时, server 的自身保护,是一个 network 环境上) 。这种是一个大家 open source 的游戏,不家在看 C , C++ , 不是看 assembly。我不知道这种斗争会不会有一天出现,可是性质上, linux 的重点是发现漏洞 (exploit)
这是我小小的想法,希望引起大家兴趣
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法