那些出現在電影中的程式碼

那些出現在電影中的程式碼

高科技無關的電影也偶爾會出現一些跟電腦相關的鏡頭。文本搜羅的是在各種電影中出現過的程式碼,它們有的是駭客腳本,有的是機密文件,有的就是為了擺酷,文中對這些程式碼都有截圖,你是否能看出它們是什麼語言?

一、《鋼鐵人》,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 

 

上面的這段程式碼來自一個樂高積木(LEGO,一種可編程的積木遊戲)的硬體下載程式,由史丹佛大學的Kekoa Proudfoot寫於1998年。你可以從這裡下載完成的程式。它使用的是Mozilla Public License許可協議,這跟火狐瀏覽器和其他很多開源軟體使用的許可協議一樣。

電影中使用這段程式碼,似乎是在暗示要給鋼鐵人下載一套硬體程式,或者是把硬體程式上傳到樂高積木控制系統里,總之,鋼鐵人的誕生是跟樂高積木多少是有關聯的。

所以,看起來,鋼鐵人要麼是使用了開源軟體,要麼是由樂高積木程控做成的。我不知道那個更酷。

二、《龍紋身的女孩》,SQL

那些出現在電影中的程式碼

那些出現在電影中的程式碼

電影《龍紋身的女孩》

 

電影《龍紋身的女孩》中的女主角搜索兇手時,使用的很顯然是真正的SQL語句——雖然從SQL的效率上她的技術並不是很高。完整的SQL程式碼可以從這裡查看

三、《超人再起》,BASIC

那些出現在電影中的程式碼

那些出現在電影中的程式碼

《超人再起》

 

這個傢伙對《超人再起》中出現的程式碼進行了詳細的分析,從哪裡你可以找到螢幕上出現的程式碼的完整源碼。

四、《忍者龜》,Turbo C

那些出現在電影中的程式碼

那些出現在電影中的程式碼

《忍者龜》

 

五、《大逃殺》,C語言

那些出現在電影中的程式碼

那些出現在電影中的程式碼

《大逃殺》

 

在電影《大逃殺》出現的這段程式碼是nmap的源程式碼。NMap,也就是Network Mapper,是Linux下的網路掃描和探索工具包。

六、《星際之門:真理之舟》,JavaScript

那些出現在電影中的程式碼

 

那些出現在電影中的程式碼

電影《星際之門:真理之舟》

 

在電影《星際之門:真理之舟》中,出現了一段從一個加拿大銀行網站上拷貝出來的Javascirpt程式碼。

七、《殺千刀重出江湖》,Java

那些出現在電影中的程式碼

那些出現在電影中的程式碼

電影《殺千刀重出江湖》

 

在電影《殺千刀重出江湖》中出現了一段Java程式碼,是用來執行一個簡單的TCP server任務,它用當前的日期和時間回應客戶端。

八、《侏羅紀公園》,shell

那些出現在電影中的程式碼

那些出現在電影中的程式碼

電影《侏羅紀公園》

 

電影《侏羅紀公園》中出現的這段程式碼看起來很像是為一台UNIX機器寫的shell腳本

九、《劍魚》,C語言

那些出現在電影中的程式碼

 

那些出現在電影中的程式碼

電影《劍魚》

 

電影《劍魚》中的C語言程式碼是來自DES cracking program

十、《社群網戰》,perl

那些出現在電影中的程式碼

那些出現在電影中的程式碼

電影《社群網戰》

 

在電影《社群網戰》中出現了很多程式碼,而且看起來都像是專門為這個電影而寫的。

十一、《歐羅巴報告》,ActionScript

那些出現在電影中的程式碼

那些出現在電影中的程式碼

電影《歐羅巴報告》

 

在電影《歐羅巴報告》中出現了這些ActionScript 3 顏色選擇器程式碼。

十二、《迫切的危機》,未知

那些出現在電影中的程式碼

那些出現在電影中的程式碼

《迫切的危機》

 

迫切的危機》這部電影我沒有看過,也不知道上面這個圖片出現在什麼場景中。這段程式碼是什麼語言?有誰看出來了,請留在評論里,我會更新這段內容。謝謝。

十三、《奪命連線》,Java

那些出現在電影中的程式碼

那些出現在電影中的程式碼

電影《奪命連線》

 

在電影《奪命連線》中這兩個傢伙盯着看的這段「壓縮」程式碼來自一個用Java寫的Web Server源程式碼

十四、《維基解密》,Lua

那些出現在電影中的程式碼

那些出現在電影中的程式碼

電影《維基解密》

 

在電影《維基解密》中主人公阿桑奇在看一段用Lua語言寫的程式碼。這段程式碼是AwesomeWM項目中的diskusage.lua

十五、《魔鬼終結者》,組合語言

那些出現在電影中的程式碼

那些出現在電影中的程式碼

電影《魔鬼終結者》

 

在電影《魔鬼終結者》中,機械人的眼裡展示了一段6502組合語言程式碼,看起來是從Apple II里拷貝的。

十六、《極樂世界》,組合語言

那些出現在電影中的程式碼

那些出現在電影中的程式碼

電影《極樂世界》

 

在電影《極樂世界》中太空站重新啟動時使用的程式碼直接來自《Intel架構軟體程序員手冊第三卷:系統開發》[pdf]

英文原文:Source Code in TV and Films

本文轉載自香港矽谷

精選轉貼
作者

T客邦精選專家文章,業界觀點深入解析

使用 Facebook 留言

發表回應

謹慎發言,尊重彼此。按此展開留言規則