高科技无关的电影也偶尔会出现一些跟计算机相关的镜头。文本搜罗的是在各种电影中出现过的代码,它们有的是黑客脚本,有的是绝密文件,有的就是为了摆酷,文中对这些代码都有截屏,你是否能看出它们是什么语言?
《钢铁侠》,c语言
最近我重新看了一遍《钢铁侠》,发现了一些有趣的事情。在钢铁侠的人工心脏第一次“初始化启动”期间,在那个“恐怖分子”的洞穴里,一些长长短短的C语言代码出现在那个伪造的笔记本电脑屏幕上。
屏幕上的这些代码,尽管从语法上看是少了一些重要的字符,例如分号,但的确是有效的C语言代码。写的非常规范,以至于我想弄清楚这些代码是从哪里来的。
使用谷歌一搜,我就找到了它。这段代码实际上是这样的:
send[0] = 0x65;
send[1] = 1;
send[2] = 3;
send[3] = 5;
send[4] = 7;
send[5] = 11;
if (rcx_sendrecv(fd, send, 6, recv, 1, 50, RETRIES, use_comp) != 1) {
fprintf(stderr, "%s: delete firmware failed\n", progname);
exit(1);
}
/* Start firmware download */
send[0] = 0x75;
send[1] = (start >> 0) & 0xff;
send[2] = (start >> 8) & 0xff;
send[3] = (cksum >> 0) & 0xff;
send[4] = (cksum >> 8) & 0xff;
send[5] = 0;
if (rcx_sendrecv(fd, send, 6, recv, 2, 50, RETRIES, use_comp) != 2) {
fprintf(stderr, "%s: start firmware download failed\n", progname);
exit(1);
}
/* Transfer data */
addr = 0;
index = 1;
for (addr = 0, index = 1; addr < len; addr += size, index++) {
上面的这段代码来自一个乐高积木(LEGO,一种可编程的积木游戏)的固件下载程序,由斯坦福大学的Kekoa Proudfoot写于1998年。你可以从这里下载完成的程序。它使用的是Mozilla Public License许可协议,这跟火狐浏览器和其他很多开源软件使用的许可协议一样。
电影中使用这段代码,似乎是在暗示要给钢铁侠下载一套固件程序,或者是把固件程序上传到乐高积木控制系统里,总之,钢铁侠的诞生是跟乐高积木多少是有关联的。
所以,看起来,钢铁侠要么是使用了开源软件,要么是由乐高积木程控做成的。我不知道那个更酷。
《龙纹身女孩》,SQL
电影《龙纹身女孩》中的女主人公搜索凶手时使用的很显然是真正的SQL语句——虽然从SQL的效率上她的技术并不是很高。完整的SQL代码
SELECT DISTINCT v.fname, v.lname, i.year, i.location, i.report_file
FROM Incident AS i
LEFT JOIN V(ictim?)... -- presumably v.incident_id = i.id
LEFT JOIN Keyword AS k ON k.incident_id = i.id
WHERE i.year BETWEEN 1947 AND 1966
AND i.type = 'HOMICIDE'
AND v.sex = 'F'
AND i.status = 'UNSOLVED'
AND ...
OR v.fname IN ('Mari', 'Magda')
OR SUBSTR ...
AND (k.keyword IN ('rape', 'decapitation', 'dismemberment', 'fire', 'altar', 'priest', 'prostitute')
...
AND SUBSTR(v.fname, 1, 1) = 'R' AND SUBSTR(v.lname, 1, 1) = 'L');
+--------+---------+------+-----------+----------------------------------+
| fname | name | year | location | report_file |
+--------+---------+------+-----------+----------------------------------+
| Anna | Wedin | 1956 | Mark | FULL POLICE REPORT NOT DIGITIZED |
| Linda | Janson | 1955 | Mariestad | FULL POLICE REPORT NOT DIGITIZED |
| Simone | Grau | 1958 | Goteborg | FULL POLICE REPORT NOT DIGITIZED |
| Lea | Persson | 1962 | Uddevalla | FULL POLICE REPORT NOT DIGITIZED |
| Kajsa | Severin | 1962 | Dals-Ed | FULL POLICE REPORT NOT DIGITIZED |
+--------+---------+------+-----------+----------------------------------+
《超人》,BASIC
这个家伙对《超人II》中出现的代码进行了详细的分析,从哪里你可以找到屏幕上出现的代码的完整源码。
《忍者神龟》,Turbo C
《忍者神龟》中出现的这段代码看起来很像Turbo C。
《大逃杀》,C语言
在电影《大逃杀》出现的这段代码是nmap的源代码。NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包。
《星际之门:真理之舟》,JavaScript
在电影《星际之门:真理之舟》中,出现了一段从一个加拿大银行网站上拷贝出来的Javascirpt代码。