【节选转帖】逼死人的暗算
柳云龙吧
全部回复
仅看楼主
level 1
老规矩,一楼给百度。
2009年04月12日 02点04分 1
level 1
这是一篇网络作家写的,关于他父亲和同事们当年在中国被封锁的条件下仿制台式计算机(就是中国早期的长城201系列台式机)的故事。我把其中的两篇节选合并贴在这里,《逼死人的暗算》,是其中一篇文章的标题。
老金我多少也学过一点点计算机软件编程,因此对文中的一些内容,颇为震撼,感觉与《暗算》中黄依依破译光密大有异曲同工之处,可见柳云龙导的这部戏,其中一些内容如果深究下去,真实性反倒更加强烈。比如701如果按完全真实的情况来表现,被密码迫害成精神病的,就绝不止一个江南。当然,出了疯子江南的另一个不为人知的原因,是当年的701没有张夏虫这样的天才,不能不说是一大遗憾。
为什么这样说?大家自己看就知道了。
老金我加了一些自己的评论、理解和说明,对与不对,听天由命,大家权作一笑。
2009年04月12日 02点04分 2
level 1
计算机的仿制,和仿制名牌大衣不一样,这是因为计算机里面要安装程序的。没有程序,即便硬件完全原样仿制成功,计算机照样不会动,即便把里面的程序完全 按照物理的方式复制成功(这基本是不可能的),也没法按照我们的要求制作新的程序。弄清它里面的程序是怎样写的,可以怎样修改,是破解台式计算机之谜的关键。
下面这段有些枯燥,不想费脑筋的朋友可以略过。
面对只有使用说明的计算机,夏启胜先生提出的破解方法今天想来还让人不寒而栗 – 读出ROM里面的数据来,一个bit一个bit地还原它的内容,以此为依据就可以揭开国外台式计算机的运转机理和程序设计方法来。
2009年04月12日 02点04分 3
level 9
sf
2009年04月12日 02点04分 4
level 1
(老金我看到里时,后脖梗子上突然冒出一阵凉气:bit?不是 byte么?一楞神之后,反应过来人家说得很对,就是bit。用汉语说就是“位”,计算机数据的最小单位,1个bit就是一个二进位数,0或者1。8个 bit是一个byte,用汉语说就是“字节”。1个英文字母是1个字节,一个汉字是2个字节。“01101010”,这就是英文字母A。1KB=1024Byte,1MB=1024KB,1GB=1024MB,有兴趣的龙友,可以算算你的计算机硬盘有多少个bit,也就是有多少个0或者1了,天文数字啊)
2009年04月12日 02点04分 5
level 1
不能不说这是一个天才的想法 – 我们对这套系统一无所知,其存储器里的内容就算读出来,也是一大堆bit,不知所云。这就象给你一篇外星人的文章,然后让你把外星人的语言还原出来一样,这怎么可能呢?!你就是听一千遍,文章再长,也是一团混沌。
但是,假如你知道这篇文章里面每句话会引起什么后果,就有了解决问题的曙光。比如开始第一句一念,就有一个卫兵立正,第二句一念,就有一个大臣跳楼,那事情就好多了,因为你知道这样一句话会导致怎样的后果。以此类推,如果运气好,慢慢地就能把全部的内容破译出来。
远有福尔摩斯破获跳舞的小人,近有郭沫若解析甲骨文,莫不是用这个办法。
但这也是一个疯狂的想法。
把ROM的内容读出来本身就不容易,就算读出来了也是打孔的纸带而已,拿着这个东西琢磨它的编程机理,想想也会让人发狂。这需要极优秀的想象力,然后再用极大的毅力将其验证,每一次验证,失败几乎是必然的,成功若真是失败的儿子,那它的繁殖率足以在自然界被自然淘汰。
这大概可以算作真正的暗算了。
2009年04月12日 02点04分 6
level 1
没有的选择,这批无论原来学数学的,学物理的还是学无线电的研究人员,就这样统统投入了疯狂的工作之中。难怪这些父执辈们看到我辈面对汇编语言一筹莫展深感不解 – 就这样简单的玩意儿你们还能玩不转?
2009年04月12日 02点04分 7
level 1
(老金我当初学过一点点高级编程语言,VB,C++什么的,可谓是学得我头大如斗。这还是高级语言啊,汇编语言我只看了两眼,就吓得不敢再看了,那就是天书嘛。问过几个干软件编程的朋友,说是搞汇编语言的差不多都是博士级人物才玩的,而且还得有很强的硬件知识基础,还不见得能玩好呢,你的机器里装的是WINDOWs系统,那就是用汇编语言写的!那么这些父执辈怎么就对汇编语言这么从容呢?人家都是黄依依那个级别的,能把bit一个一个读出来,那是机器语言,除了1就是0,跟光密大概都有一比了,汇编语言是在机器语言的基础上编出来的,人家直接都能玩机器语言,汇编语言自然就不在话下了。老金我闻听后猛一抬头:呀拉索,这就是青藏高原——!)
2009年04月12日 02点04分 8
level 1
但是,这样干,多少是有点儿超过人类所能承受的限度,所以,中间不出事儿,那才是奇怪的。
分析ROM指令能让人癫掉看来不是科学院的特殊现象,我写完夏启胜先生带队分析奥里窝地机的一段后,有位朋友发出了如下的感叹 --
当年我也干过类似的事情,要比较一段x86的汇编翻译+运行时间优化以后变成的另外一种机器的汇编。每天盯着模拟器反汇编出来16进制数字。
后来有天下班的时候坐在车里,从车窗望出去,看到旁边一辆车的牌号,脑子里就直接把那个号当成16进制数据了,先给扩展成二进制的,然后开始想:这是哪个指令呢?
这段描述外人看了会笑,了解内情的人看了会想哭。
2009年04月12日 02点04分 9
level 1
(看到这儿,想起《暗算》中的疯子江南,老金我既不笑也不哭,懵了。)
2009年04月12日 02点04分 10
level 1
反正,攻关的时候,中关村的大街上如果看到一些两眼发直的人在游荡,有的人还拿着饭盆或者书这类的东西却浑然不觉,那很可能就是父亲他们那个研究室的。
有位长辈提到工作中有一次王G权先生忽然晕倒了,把大家吓了一跳。 知识分子对这种事情没有什么经验,好几个同事赶紧过来把他扶到一边躺下,有人大声叫他的名字,有人去准备冷毛巾,当然也有人去叫王
太太
项X燕女士。
冷水和呼唤似乎没有起到作用,这时候,王太太来了。
王太太皮肤白皙戴一副无边眼镜,文质彬彬的也是科学院的,不过她在生产部门,所以做事雷厉风行,与这些搞研究的完全两个风格。看到老公晕倒,一副奄奄一息的样子,王太太走上前去对着王先生脸上一阵拍打。这个治法让在场的研究员副研究员们脑袋集体宕机。
2009年04月12日 02点04分 11
level 1
(老金我看到这儿,天灵盖儿上突然一道白光乍起直冲云霄:哇塞耶!这不就是张夏虫同学收拾张小胡同学的独门绝技五丁开山嘛!当年701没有张夏虫,可怜江南同志就此晕过去再没缓过来,损失啊!)
2009年04月12日 02点04分 12
level 1
嗯,好像效果不错,王先生慢慢睁开眼睛,但眼神似乎有点儿没焦距(可能还在某个语句和某个电子管的插脚之间挣扎呢)。
王太太指指自己,问他 – “我是谁?”
王先生定睛看看,吃力地回答道:“你不是小项么?”
王太太点点头,拍拍老公的头笑道:“行,还认得我就好办。”于是把王先生扶出来,坐到自行车后座上,自己镇定自若地骑上车,告诉王先生一声 – “抓牢我啊!”蹬起来就飞快地朝医院去了。
看着王太太一骑绝尘,王先生的众位同事们或咿呀,或咋舌,若当时有韩剧的话,估计王太太“野蛮女友”的招牌是跑不了的 -- 当然没人敢当面说。
2009年04月12日 02点04分 13
level 1
(老金我长出了一口气,暗算哪……那还真不是假的!)
2009年04月12日 02点04分 14
level 1
计算机的仿制,和仿造步枪手榴弹不一样,这是因为计算机里面要安装程序的。没有程序,即便硬件完全原样仿制成功,计算机照样不会动,即便把里面的程序完全 按照物理的方式复制成功(这基本是不可能的),也没法按照我们的要求制作新的程序。弄清它里面的程序是怎样写的,可以怎样修改,是破解台式计算机之谜的关 键。
下面这段有些枯燥,不想费脑筋的朋友可以略过。
面对只有使用说明的计算机,夏启胜先生提出的破解方法今天想来还让人不寒而栗 – 读出ROM里面的数据来,一个bit一个bit地还原它的内容,以此为依据就可以揭开国外台式计算机的运转机理和程序设计方法来。
2009年04月12日 02点04分 15
level 0
好文!
本人虽也是学汇编出生,却也看得我惊心动魄。接下来呢?
2009年04月12日 02点04分 16
level 0
诶~~~人家就是前辈,大仙啊!!
想当初俺看汇编也是看天书啊!
2009年04月12日 03点04分 18
level 7
好文,楼主继续!!
2009年04月12日 03点04分 19
level 0
还是直接晕死过去算啦
2009年04月12日 05点04分 20
1 2 3 尾页