微软封装研究纪实

    本来都不想写这篇文章了,因为所有研究工作都已经结束了,可以说,整个研究工作是以失败告终的,最后的结果是流出泄露版后重新下载的,用了一夜和白天上午半天。非常地失败啊!
    直到今天中午,也就是08月14日中午,我才彻底地了解了所有的原因。稍后会说明一切。
    让我们回到一个月前,也就是2009年07月13日。以前流传说这一天微软会对Windows 7的开发工作进行sign-off。sign-off就是最终确认的意思。微软在编译完一个RTM版本后会对其所有代码和组件进行测试,这是一个非常详细的测试,少则用2天,多则用10天。测试的目的是最后确认每个组件都是正常工作的。测试期间,同样要用服务器生成即将发布的2000个以上的ISO文件。就在那个时候,我开始关注Windows 7,主要平台是远景论坛、翱翔的博客和CnBeta。三个地方各有特点。在论坛里我获得了不少信息,这些都是了解微软内部的途径。
    我刚去的时候,论坛里有个神秘人物刚刚注册,并且依次放出如下官方ISO:6.1.7600.16384的英文64位及其语言包、简体中文32位,之后是什么就不知道了,因为他还没放出中文的时候,官方内部已经确定这个版本存在严重问题,其中指出的是IE8有问题。于是,官方在他放的同时就决定重新生产ISO,版本号6.1.7600.16385。但是,此人还是放出了中文版,成为了一个过时的产品。本质上说,到了今天,那些没有发布的测试版就应该被彻底抛弃了,要它们也没用。最后,16385成了RTM。
    后来,微软制作完了16385就开始检查各个组件。这时候也流传出了这个版本的各个泄露版本。我本来只想要一个简体中文64位的版本就走人,没想到,这一等就是一个月啊。
    生成RTM最初的几天里,泄露的都是散装版。后来才泄露了英文的官方版本和语言包。不过,中文版本始终没露面。我只好等啊等,也没有一个结果。等的时间长了,就有些烦了。在坛子里逛着,就开始研究封装了,因为它是唯一可以从散装版得到原版的途径。随着研究的深入,才知道了里面的一些内幕。说白了,这坛子水很深啊。
    当然,最初的成功是在Windows 7的测试版上做的。我第一次封装成功7106的中文64位ISO只试验了5次就成功了。主要就是要分清楚微软的工具和封装的方法。微软的工具有两个:CDIMAGE和OSCDIMG,前一个内部使用,后一个授权给OEM。我们要得到原版就得用泄露出来的前一个,而且还得是2.54版的。这也比较难,因为网上流传太多,鉴别不是很容易,我的2.52版就是假的,是从2.47修改过来的,结果是我又找了一个真的。确定真实版本后,就比较好办了,开始试验封装。为了找参数,脑子里也想了很多,最后,从开始研究到成功封装出第一个官方版本,我只用了几个小时。
    成功的喜悦是兴奋而短暂的,接下来就上马别的项目。我把成功的代码命名为标准封装黄金代码。上马别的项目就难了。当时手里只有一个散装版简体中文64位,我就只攻这个项目。当然,所有尝试都失败了。于是我深入研究封装,封装了手里的其它早期ISO,包括XP的和2008的。逐渐地,我明白了微软的封装策略,微软在XP时代都是封装得很标准,时间是指定的整点,CRC32也让他们弄成了不可用。在2008的时候他们恢复了CRC32的校验,而到了Windows 7,他们把封装时间指定为一个精确到秒的时间。我当时没想过为什么会这样,直到我想要封装Windows 7的OPK时,我才明白了。那个OPK是一个无法封装的文件,原因是封装的时候没有指定时间,这样就无法从散装得到原装。而其它光盘是为了美观而指定时间的,所以才可以封装成原版。同时,一个问题出现了。微软为什么要刻意找一个一般的时间呢?答案是为了防止爱好者自己封装。如果指定一个整点,那么我们顶多测试十几次就可以得到原版了。而精确到秒后,没人能猜出是多少秒了。想到这一点,就不难发现,微软的散装文件是不能给我们任何启示的,因为各个ISO的封装时间是指定的,为了防止被猜出,它们之间没有一点关系,所谓的研究也没有任何意义。直到CnBeta的特邀撰稿人Viva放出微软官方的Connect上的原版ISO时,我才知道我想要的时间,而之前所有的猜测都是徒劳。
    这里说说Viva这个人,他在之前放出了微软的eOpen上的ISO,说是EA渠道的,我看了是OEM的ISO,而且是VOL,即批量授权。最终,谁也没有说清楚这个EA表示什么。他发的任何信息都是官方原版,而且他酷爱使用香港繁体中文。我认为,这一定是一个香港人,而且,他一定有一些企业的背景,可以拿到别人拿不到的ISO。我怀疑他工作的企业或者朋友工作的企业和微软有莫大的关系,很有可能是微软的订阅用户。他拿到ISO的机会比任何人都大,都方便。而且这个人说了,他是检查了邮件之后知道微软已经发布了ISO的。他还说自己有七八个硬盘装满了东西,还准备买两个1T的硬盘。他还想出售自己的微软官方账号。听了这些,我们都应该知道这个Viva的神通广大了。这是怎么样的一个人啊。做人真是有差距啊。人家想拿什么拿什么,我们呢,什么也没有。有点嫉妒他。
    虽然在做Windows 7的封装的时候,我曾经出门办一些事,但主要还是集中精力封装一个版本。可恶的是,我下载的第一个散装版被第二个散装版证明为缺少文件,这在后来的远景坛子里的一个帖子里得到证实。于是我后来换了第二个版本的文件进行封装。虽然我封装出了大小一样的文件,但校验始终不通过。
    在研究过程中,我大量地看了坛子里的人的发帖,认识了几个封装的人物。他们讨论得有声有色。其中一个叫粽子的人说得最多,每次都是他出风头。我曾多次尝试PM他,但他只和我说过一句话。逐渐地,我感到这些人没有一个人愿意和我讨论这些东西,似乎在维持一个小组,拒绝我的加入。索性我就不理他们了,我自己也能研究。
    其实写这篇文章主要是因为不想把心里对粽子这种人的怨气埋下。因为这些人太自傲了。我多次试图与其接触都未果,坛子里也在封杀类似的讨论,都是一群不懂技术的蠢蛋,虽然我刚开始也不懂,而且有人认为那么做是在骗人,真是的,他们新来的那些人不懂技术也不学习,一味地封闭技术,不是去正视现实,而只是相信官方,拒绝技术,要我说,他们蠢到家了。而粽子这样的人也不是积极讨论的,总是藏着掖着,没有一个良好的学术氛围,这就像是中国的教授们一样。试想这样的讨论气氛,怎么能够让我们中国的技术进步呢?后来,我是彻底失望了,我也不再去理他们了,即使我加入了论坛的群,但是我知道有一天他们也会把我踢出来。那就别让我在群里待着了。远景论坛毕竟是一个商业网站,坛主们只在乎工作和论坛的盈利,不会顾及什么学术。现在的社会啊,真是的,什么研究成果都会被扼杀了。我们无非只是从坛子上获得原版而已,别无用处。
    说着说着,我越来越对社会没信心了,待人不友好,这都是技术人员的毛病。想想还是自己在自己的世界里娱乐吧,有什么意思呢,你想和别人合作别人也不愿意,真没意思。还不如沉浸在自己快乐的世界里,虽然艰苦,但也有快乐。和别人合作只能惹来麻烦。我真的恨透了这个粽子了。我极少发帖,别人可能根本就不知道我。在研究粽子的时候,我发现他真的优势明显。他的带宽很大,一般很快就能得到原版的ISO。那么大的文件,我至少要下载一晚上,他只需要几分钟,这让我想起了当初我在学校里下载Vista的时候。那时候Vista刚刚发布,我在学校只用了5分钟就拽下来了。这个人除了有巨大的带宽,还有至少3个简体中文的64位的散装版,这样,他封装出来的概率就比我要大。最终的结果是,等Viva发布了以后,第二天他就封装出来了,而且用的是他下载的散装版。这就不对了,因为经过我后来的研究,在我找到的两个散装版里,没有一个可以封装出原版。原因在坛子里的一个研究封装的人的帖子里有,因为他下载的那个广为流传的散装版是我第一个下载回来的。可惜他只有那一个,而我有两个。更可惜的是,他那个缺少文件,我的另外一个不缺少文件。可就是这样,不幸的是,我们拥有的散装版的核心文件install.wim的校验值和原版的都不一样。这是在Viva发布以后才知道的。也就是我们无论如何努力,都无法封装出原版,因为我们没有原版的散装文件。我们拥有的文件不可能封装出原版。这个粽子凭借自己的优势,竟然拥有至少3个散装版,而在我没有的那个上面,他封装出了原版。但是,时间参数拦住了他,他的成功也是在Viva发布之后的事情了。就凭粽子的优势,足够比任何其他研究者更快地得到任何信息。这样一个人不可恨吗?我是这样认为的。这才叫财大气粗呢,可惜他毁了他自己。就像我在QQ游戏的斯诺克里看到的某些人那样。我认为他们的天分很高,技术很好,可惜啊,就连一个基本的斯诺克也不解,直接主动摔袋自毁。这不仅是对斯诺克的侮辱,还是对他们自己的侮辱。这些人真的不配在斯诺克领域待着。现在一切都真相大白了。没有必要争什么了。一个月过去了,所有事情的真相都摆在眼前了。有什么意思呢?我现在才知道,我原来的工作没有任何意义。那个粽子,我无力改变他什么,好自为之吧。
    说到底,计算机不过就是0和1的组合,我们追求的就是那些特定的0和1的组合,我们何必要为了这清清楚楚的0和1而浪费我们自己呢?计算机,无非也只是赚钱的工具。如果它不能卖,也就没有存在的理由。人世间,一切都是为了钱。有钱的人就受到尊敬,即使那钱不是好来的。没钱的人就被人看不起。社会上用坑蒙拐骗来赚钱太多了。有很多人都直接告诉你他是在卖假货。这个社会真的是没救了。我们在社会上也只是混口饭吃,还谈什么科学啊。现在已经没有多少人真正想要做学问了。一部当年广受追捧的英特尔的手册如今也是无人问津了。人们眼中只有金钱,没有别的了。就光靠你一个人能做什么呢?一个陈寿福为了钱进去了。一个龙晓伟为了钱在维权。社会已经不可救药了,我们除了孤芳自赏以外还能得到什么?还是美国好啊,美国的科技如此发达,人们只有享受。其实,当我从英特尔的手册里读到CPU的原理的时候,我就知道,计算机是多么简单。0和1。没别的。汇编语言。搞计算机的人都赚钱很多吗,我们一辈子在奋斗什么?像我爸爸那样奋斗了一辈子,最后落一个半身不遂。人生实在是没什么意思。所以,虽然我喜欢计算机,我也会为了计算机而工作一辈子,可是,我的职业未必是计算机了,因为我已经看透了这个行业。这个行业对我来说似乎已经没有什么秘密了。我清楚地知道软件业的每一个部分,虽然我不知道的事情很多,但如何开发我已经知道得差不多了。这个行业对我来说如此透明。从课堂上知道,搞金融的人似乎很赚钱,我也想去做做那些东西,毕竟钱多的地方吸引人。当一个社会的人都只认识钱的时候,你也就没有必要追求什么境界了,还不如去赚钱,然后想想每天写程序的苦与乐,这才是有意思的人生。
    说了这么多,说得有点跑题了。本来想说的是封装的事情,其实刚才已经说完了。奉劝自己吧,微软为了防止我们封装出一样的ISO,已经在时间这个参数上下足了功夫,单凭个人是难以猜出时间的,也是根据现有时间无法猜出的,因为微软永远想在了我们前面。所以,掌握了封装的技术固然好,也别费功夫猜测时间了。我真的笑自己,干了一个月错误的事情。这仅仅是因为微软的魅力。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值