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

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

一、《钢铁侠》,c语言

iron-man

电影《钢铁侠》

电影《钢铁侠》

最近我重新看了一遍《钢铁侠》,发现了一些有趣的事情。在钢铁侠的人工心脏第一次“初始化启动”期间,在那个“恐怖分子”的洞穴里,一些长长短短的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

The-Girl-with-the-Dragon-Tattoo

电影《龙纹身女孩》

电影《龙纹身女孩》

电影《龙纹身女孩》中的女主人公搜索凶手时使用的很显然是真正的SQL语句——虽然从SQL的效率上她的技术并不是很高。完整的SQL代码可以从这里查看

三、《超人》,BASIC

superman2

《超人》

《超人》

这个家伙对《超人II》中出现的代码进行了详细的分析,从哪里你可以找到屏幕上出现的代码的完整源码。

四、《忍者神龟》,Turbo C

Teenage-Mutant-Ninja-Turtle

《忍者神龟》

《忍者神龟》

《忍者神龟》中出现的这段代码看起来很像Turbo C。

五、《大逃杀》,C语言

Battle-Royale

《大逃杀》

《大逃杀》

在电影《大逃杀》出现的这段代码是nmap的源代码。NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包。

六、《星际之门:真理之舟》,JavaScript

StarGate

电影《星际之门:真理之舟》

电影《星际之门:真理之舟》

在电影《星际之门:真理之舟》中,出现了一段从一个加拿大银行网站上拷贝出来的Javascirpt代码。

七、《弯刀杀戮》,Java

Machete-Kills

电影《弯刀杀戮》

电影《弯刀杀戮》

在电影《弯刀杀戮》中出现了一段Java代码,是用来执行一个简单的TCP server任务,它用当前的日期和时间响应客户端。

八、《侏罗纪公园》,shell

Jurassic-Park

电影《侏罗纪公园》

电影《侏罗纪公园》

电影《侏罗纪公园》中出现的这段代码看起来很像是为一台UNIX机器写的shell脚本

九、《剑鱼行动》,C语言

SwordFish

电影《剑鱼行动》

电影《剑鱼行动》

电影《剑鱼行动》中的C程序代码是来自DES cracking program

十、《社交网络》,perl

Social-Network

电影《社交网络》

电影《社交网络》

在电影《社交网络》中出现了很多代码,而且看起来都像是专门为这个电影而写的。

十一、《欧罗巴报告》,ActionScript

Europa-Report

电影《欧罗巴报告》

电影《欧罗巴报告》

在电影《欧罗巴报告》中出现了这些ActionScript 3 颜色选择器代码。

十二、《燃眉追击》,未知

Clear-and-Present-Danger

《燃眉追击》

《燃眉追击》

《燃眉追击》这部电影我没有看过,也不知道上面这个图片出现在什么场景中。这段代码是什么语言?有谁看出来了,请留在评论里,我会更新这段内容。谢谢。

十三、《反托拉斯行动》,Java

AntiTrust

电影《反托拉斯行动》

电影《反托拉斯行动》

在电影《反托拉斯行动》中这两个家伙盯着看的这段“压缩”代码来自一个用Java写的Web Server源代码

十四、《维基解密》,Lua

The-Fifth-Estate

电影《维基解密》

电影《维基解密》

在电影《维基解密》中主人公阿桑奇在看一段用Lua语言写的代码。这段代码是AwesomeWM项目中的diskusage.lua

十五、《终结者》,汇编语言

Terminator

电影《终结者》

电影《终结者》

在电影《终结者》中,机器人的眼里展示了一段6502汇编语言代码,看起来是从Apple II里拷贝的。

十六、《极乐空间》,汇编语言

Elysium

电影《极乐空间》

电影《极乐空间》

在电影《极乐空间》中太空站重新启动时使用的代码直接来自《因特尔架构软件程序员手册第三卷:系统开发》[pdf]

分享这篇文章:
[英文原文:Source Code in TV and Films ]

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

  1. gaojiren says:

    我发现黑底配绿字比较酷

  2. johnson says:

    黑底绿字, 那不就是上个世纪80年代的苹果机吗

    • lament says:

      很多编译器都可以设置为黑底绿字的,还有很多程序员在使用一些高级文本编译器的时候也会把配色改成黑底绿字

      比较复古的语言里面,COBOL也可以是黑底绿字哦

  3. GhostInk says:

    这个有意思。。。

  4. 想不通 says:

    【《燃眉追击》,未知】
    好多数字硬编码了 是不是操作一块指定的磁盘的

  5. madmatrix says:

    真有意思

  6. muwb says:

    有角度,有看法

  7. 酿泉 says:

    黑客帝国里面用真实存在的漏洞攻击发电站也不错

  8. sunny says:

    12难道是VB= =

  9. xiarongluo says:

    《燃眉追击》我觉得像是foxpro的语言,呵呵,我只学过这个东西!

  10. lzt says:

    社交网络里面的代码是perl

  11. Yonghang Jiang says:

    反托拉斯行动的这段if语句,当年我学会的时候还以为很高大上。
    现在想想,为什么不用strncmp?

    另没想到剑鱼行动里那个诡异的界面还真有其事……虽然后面有些看起来像汇编。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

壹加壹等于