首页
社区
课程
招聘
Crackme,软件保护的讨论
发表于: 2007-3-16 14:33 4642

Crackme,软件保护的讨论

2007-3-16 14:33
4642
平日 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)

这是我小小的想法,希望引起大家兴趣

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 372
活跃值: (31)
能力值: ( LV12,RANK:410 )
在线值:
发帖
回帖
粉丝
2
标记,学习...
2007-3-16 14:51
0
雪    币: 242
活跃值: (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
弱弱说一句:不太清楚LZ要表达的什么意思。
另外也基本不写CRACKME

仅仅从软件工程角度,.NET之类的东西其实是不错的,毕竟开发软件可以是很繁琐的事情,有。net会方便不少,起码写应用软件会方便。微软推出。net的主要目的应该不是楼主想的那样,应该是为了与SUN抗衡,维护自己软件巨头的位置(包括对普通用户使用的软件的运行平台的垄断)

在我看来,微软会直接或者间接培养两种程序员,一种是用.NET或者所有基于微软提供的接口编程的人,另外一种是用C和ASM(不只是PC 上的CPU)。微软也是公司,微软也需要招收人来发展自己
2007-3-16 15:00
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
4
最初由 whtyy 发布
弱弱说一句:不太清楚LZ要表达的什么意思。
另外也基本不写CRACKME

仅仅从软件工程角度,.NET之类的东西其实是不错的,毕竟开发软件可以是很繁琐的事情,有。net会方便不少,起码写应用软件会方便。微软推出。net的主要目的应该不是楼主想的那样,应该是为了与SUN抗衡,维护自己软件巨头的位置(包括对普通用户使用的软件的运行平台的垄断)

........


(没有甚么特别意思,就是 brainstorming )

在 C 和 Asm 上的培养,微软没有尽了一点力量,看看 MASM 没有继续改进下去,而且也希望使用 WDF 取代 WDM 或传统 driver model,或许它的最终目的是以 .net 写内核,大家都受保护了
2007-3-16 15:55
0
雪    币: 721
活跃值: (350)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
5
我从Debugger工具的角度谈一下:

Debugger工具肯定不能垄断在一家公司手里,否则微软会再吃官司。
我觉得只要微软不能独霸调试器市场,大家就必然还可以玩pj。

还有,就是.Net并不是终极,Native Code也必然有市场,我比较同意3楼的说法,.Net更多的可能是软件工程和开发效率方面来考虑的。

以上纯属个人之不成熟的看法和愚见。
2007-3-16 17:08
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
6
我是根本不懂
2007-3-16 22:55
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
7
我只想问一个问题。。。难道.net要提高开发效率,一定得把代码变成托管的?
2007-3-17 12:07
0
雪    币: 242
活跃值: (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
最初由 笨笨雄 发布
我只想问一个问题。。。难道.net要提高开发效率,一定得把代码变成托管的?


不太了解您说的“代码变成托管”的意思。是说有中间层存在?

NET既然是MICROSOFT为了跟SUN的JAVA抗衡(我一直这么认为)
那么,就要有JAVA所具有的主要的优秀特性。很显然硬件平台的无关性是JAVA的最大优点,微软当然要学。
而且,硬件平台无关,对提高开发效率当然非常重要
2007-3-17 18:26
0
雪    币: 200
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
zcg
9
占个位子来学习了!
2007-3-19 22:00
0
游客
登录 | 注册 方可回帖
返回
//