所以一来我当初的想法可能未必完全是“民科”,二来我这段时间的心路历程颇为坎坷,倒不完全是技术上的问题,我在去年自己翻译了 No Starch 的书《Autotools - A Practioner's Guide to GNU Autoconf, Automake, and Libtool (2010)》。目的是什么呢?就是想用 gnu autotools 作为我的开发的主要维护工具。虽然按这本书的作者的说法,在 windows 上开发还是用 vs 好,但我觉得最后考虑一下可移植性的话,还是用 gnu 的工具比较好。
前年的话,我是一直在摸索在 windows 下用匿名管道来通过 gdb 获取数据的方法。以及 autotools 的使用方法,这才有了翻译书的想法,确实也也学到不少东西。
这样,让我继续研究的动力只剩下兴趣了。但是问题在于这样研究脱壳的技术到底有什么用呢?
脱壳破解软件到底帮了谁的忙,是个很难说的问题,最近我看到的新闻是微软的反盗版瞄上中国的上市公司,http://www.it-times.com.cn/it/18844.jhtml。这其实就是一个信号,事实上盗版的主要作用是在个人用户中普及了这个软件,然后从企业的角度来讲,它最终还是要买正版的,使用盗版的话是给自己惹麻烦。如果你是单位员工,那么使用正版还是盗版是无所谓的,因为单位有义务向你提供完成工作所需的条件。如果你是个人用户,那么使用正版还是盗版仍是无所谓的,你用盗版的话软件公司只当是减免了培训费用而已。何况在个人用户中盗版软件的传播其实是帮助软件公司在占领市场,想想为什么免费开源的 linux 没法普及吧,如果没有盗版的 windows 可用,用户会投入谁的怀抱?如果在 windows 上没有那些破解软件可用,那自由软件的优势就会更大。
所以破解软件说到底是在帮软件公司的忙,当然像游戏这样的软件,我认为今后大型的游戏可以走云计算的道路,瘦客户端,在用户这里只有控制器和屏幕,用户的输入直接送到游戏公司的服务器,然后在公司的服务器上计算后把图像发送到用户屏幕上,像索尼公司就是这样去做了,他们说了,将来用户不用换主机了。所以游戏公司可以彻底不用担心什么盗版了,因为在用户的机器上没有重要的计算任务。而且我认为这样更节能。以后要破解这样的游戏得靠发展人工智能,让机器能理解图像,就是说首先要能对付验证码什么的,让用户的机器能具有人工智能来理解屏幕上的游戏图像,随后作出反应。再接下去就是“skynet”——天网,等机器具有人的智能,人类就可以等着被淘汰了。
另外一方面,开源软件,我认为可能很大程度上也是大型 IT 企业反微软垄断的一种策略,通过提供免费的软件,然后瓜分市场,再收取服务费用,这是一种商业模式,像我这样的个人爱好者其实没必要去赶这趟浑水,整个软件的开发方向,策略都是掌握在大公司手里,与个人爱好者没什么关系。
自由软件,我把它和开源软件区分开来,我认为,自由软件其实是西方国家高福利的产物,老百姓衣食无忧当然是乐善好施了,拿着社会福利,写点自由软件回报社会是应该的。但是随着云计算的兴起,我想自由软件的意义已经不大了。想想看,我们将来的数据都在别人的服务器上,我们在网上的一举一动都有大型的 IT 公司、政府机构收集着,什么大数据帮助美国总统竞选之类的,我又要感叹人类只是电脑的小白鼠了。所以我觉得用手机,用电脑上网,其实都是在不知不觉中向强大的势力暴露个人隐私,而同时又在忽悠彼此的真实情况,所以用这种方式建立起来的人际关系根本不值得信赖。