那些出现在电影中的程序代码

高科技无关的电影也偶尔会出现一些跟计算机相关的镜头。文本搜罗的是在各种电影中出现过的代码,它们有的是黑客脚本,有的是绝密文件,有的就是为了摆酷,文中对这些代码都有截屏,你是否能看出它们是什么语言?

《钢铁侠》,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代码。

星际之门:真理之舟

评论功能被我吃了。