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

aqee發表於2014-01-07

  高科技無關的電影也偶爾會出現一些跟計算機相關的鏡頭。文字蒐羅的是在各種電影中出現過的程式碼,它們有的是黑客指令碼,有的是絕密檔案,有的就是為了擺酷,文中對這些程式碼都有截圖,你是否能看出它們是什麼語言?

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

相關文章