系列文的第三篇,有第 36~57 關的解法雷。
第 36 關
這也是個簡單的鑰匙關。或許未來這應該要往前擺一點?畢竟鑰匙的提示都寫在原始碼裡面了--是的,Dvorak 鍵盤配置。
第 37 關
又一個台灣限定關卡來了。這一關除了謎底是台灣的東西,提示的圈圈數字是台灣的速限標誌,連聯想的方式基本上也只有台灣人才會這樣聯想:要把撲克牌的那東西和表示謎底的圖示的外形都叫成「梅花」應該只有台灣人吧。
不過至少我還是放了一些不是台灣人也可以據以搜尋的內容:首先是檔名,用的是台灣官方「歪」翻譯的「高速公路」1;然後為了解決撲克牌聯想太遠的問題,我後來加了一張隱藏的 pic37_1b.gif 就是那個圖示。
總之找到所指稱的公路之後,它的名字就是答案了;不過標題的「Taiwan Only」意外地成為了答案的雙關,所以可能也有人是從這裡去猜中答案的。鑑於這關的正解如此偏門,這個方法我可以承認是另解。
第 38 關 (舊)
嗯,這個關卡號碼當時有個更為偏門的舊關卡。同樣是台灣限定關卡,不過題目更偏……那是當時台灣剛開始開賣樂透彩的時間,所以就把當年有的三種玩法的數字拿出來當聯想題了。這種題目對不知道這東西的人真的是偏門到了極點……所以很早就換掉了。(甚至連是什麼時候換掉的都沒有紀錄)
第 38 關 (新)
新的這關標題是在致敬《Notpron》的第 8 關提示。在那關的圖片中有一把吉他,而若點選那個吉他音箱中間的洞,會有一個對話框跳出來,寫「Password Hint: mom, he formatted my second song」。
不過除了致敬之外,這其實也有提示的意味在內:因為這關的解法和那一關其實如出一轍。只是同一招在我這裡已經在前面出現過了--是的,這關和第 21 關同樣是下載檔案後更改副檔名的關卡。這一關加的那一層是:要改成的副檔名我並沒有直接給你。
這裡就要再回到那個致敬的標題了:我的標題是「Mom, he broke my document!」--所以這表示要改成的副檔名是屬於「文件」,也就是說是「.doc」。改完檔名再打開就可以看到答案了。
不過由於它實際上是 (舊) Word 文件格式的關係,是有一個撇步可以直接看到答案的:因為文件裡的文字是使用 UTF-16LE 編碼儲存,所以如果能以 UTF-16LE 的編碼打開這個檔案的話,就有機會直接在一群亂碼裡找到文字。我其實是有為了因應這個方式因此在文件裡放了一個很多空位的表格,然後答案寫在表格的最後面,讓這些字和表格的其他資料混在一起;不過可能就是因為這個表格的關係吧,文件裡在這些字的前面的位元組在 UTF-16LE 下恰好組成了許多「囧」和「囧興」,算是一個無心插柳的小插曲。
另一個可以提一下的點是,這一關最一開始其實是需要玩家手動填入 doc 檔案的開頭 8 個位元組 0xD0 0xCF 0x11 0xE0 0xA1 0xB1 0x1A 0xE1 的。那時的「破壞」方式是把這 8 個位元組給改成 0x00,然後把這八個位元組放在原始碼裡要玩家手動填上去。不過由於這方法繞的彎有一點點大,所以後來改成了現在的型式,就是只改副檔名。畫面上這張圖則是用了當時我在使用的文字編輯器 Notepad2 將編碼設成日文編碼後打開這個檔案的內容;使用日文編碼的原因其實是有一層簡單的防雷:這開頭八個位元組若用 Big5 碼解釋會變成「俵◄遄?」這樣的亂碼,只要有心有去挖過或無心不小心用記事本打開過的其實應該都會看過……
第 39 關
這一關這個數列被稱做 look and say sequence,因為已經夠有名了所以就不在這裡詳述了;如果你去 google 給你的前幾項也會馬上找到這個東西。
第 40 關
……OK,我覺得這一關我需要跟謎底做個正式道歉。
四個數字加上標題的 Missing dot,有聯想力的應該都知道這表示這四個數字是 IP 位址。不過這個 IP 位址究竟是哪裡呢?
當年的網路還不像現在這樣會需要分流,所以當年的我的預想解其實是直接把 IP 打進瀏覽器看它連去哪裡;不過現在許多大網站都會使用各種 DNS 層級的分流做負載平衡,因此雖然這個 IP 還是他們的,但打進瀏覽器就不一定有網頁可以進得去了。因此,現在的正解其實應該是用類似 nslookup 之類的工具去反查 DNS 看是誰的 IP。我在此為 20 年前因此增加了不明流量的謎底正式道歉。
第 41 關
這關又是一個幾乎沒有提示的關卡--對,雖然畫面上說沒有提示,但寫出沒有提示其實就是提示。
噢等等,這關的提示其實是「不要提示」才對:是的,這關是個中文雙關提示。當年的我其實是想到這個雙關,找到這個謎面之後才做出這兩關來的--也就是說,這關的答案是將現在出現在網址上的前一關的謎底,應用「不要提示」之後就會得到答案。應該沒有其他謎面可以像這樣把要刪掉的東西照順序排出來吧?
第 42 關
「Let’s google!」--看圖找故事時間來了。這一關一共是五張不同的圖,要你回答出它們的名字來。每一個答對之後會有下一個網頁,然後到了第五個之後告訴你請重組字頭。
關卡本身條件不難,只是是不是找得到正確的東西就難說了;而重組的部份,理論上要自己拼拼看也是可以啦,但根據一些資料庫表示這五個字母至少有五到十種組法能組出有意義的東西。這裡就是在尋找過程中的之幾的標題在指的了。照那個順序拼起來就是答案。
第 43 關
這一關其實是為下一關大關做準備的,順便引入一下解謎遊戲定番的摩斯密碼;開原始碼就會看到引入了一個額外的 JavaScript 檔案,那裡面就有要解的字串。
五個字串解完後,後面還有一個指示是要取出某個字母再組字。也就是說,單純這關的話是不需要寫這麼長一串的--那些是下一關的鑰匙。所以其實可以說這一關算是下一關的附關,這裡的解摩斯密碼其實是在解下一關。
第 44 關
《涼宮春日》系列。這是當年我掉入日本 ACG 坑裡的推坑作。當年原本因為一些其他原因開始斷斷續續追日本新番動畫,但 2006 年 4 月的《涼宮春日的憂鬱》各種創新手法讓我直接掉入新番動畫的坑裡;可以說要是大學的我沒遇見《涼宮春日》應該會變得完全不一樣吧。2
這一關整關基本上是在重現《涼宮春日的消失》裡阿虛收到長門有希的脫離程式的那段故事,那由於是在動畫電影出來之前做的,所以畫面呈現什麼的都是我自己獨斷決定的這樣。在謎題解開之後會有一段有點長的演出,最後跟原作一樣要按 Enter 以繼續;這邊我當年還故意設計成不是按 Enter 就會有個刪除演出,然後就要重解題目重看演出了。(遠目
謎題則是我的拿手好戲文字編碼:靈感其實是來自畫面上這張扭曲的 SOS 團徽曾出現的《神秘訊號》篇裡的亂碼 SOS 團網站網頁。把原始檔另存之後調整成給定的編碼就能看到指示把上一篇的五個人名依某個順序填入這一關的輸入框中。正是因為 43 44 兩關以這種方式聯動所以我會把雖然名義上在別的資料夾的這一關歸到前一個資料夾去。(況且這個資料夾就只有這一關,45 關就跑去另一個資料夾了。) 為了避免有人猜到梗跳過謎題,所要輸入的順序是和前一關給定時不同的;若輸入這個不同的順序會送你去到另一個網頁說錯誤。
至於主程式的 JavaScript 檔我則是用了當年所知的唯一一種混淆 JavaScript 檔的方法:escape / unescape,一些關鍵的字串檢查的程式還先編一次放回去之後再將全程式編一次,所以原本約 4K 的程式碼因此暴增 9 倍變成約 34K 的大小。
第 45 關
進入了新的資料夾,所以就有理由把難度上調了。
這關的畫面沒有其他東西,只有兩句話恭喜你脫離了閉鎖空間而已——但注意看,這些字有些不一樣的地方。沒錯,就是字體顏色。我還特地為了讓顏色凸顯出來把字給加粗了。這裡有三種顏色:深灰、深藍、淺灰,不過是什麼顏色只是一半重點;重要的是這些顏色的色票,這只要查一下原始碼就知道了。然後就是之前關卡的應用:兩個十六進位組成一個位元組,三個色票一共能組出九個位元組,它就是下一關的答案了。
這裡因為要湊出九個位元組的關係,答案的副檔名並不是和原來一樣,不過這在前面的第 15 關時也出現過,所以應該不會有太大問題才是。
第 46 關
這關也是個單一解謎鑰匙關,畫面上的提示已經很清楚要以什麼關鍵字下去找這把鑰匙了。只是鑰匙有了,鎖在什麼地方?
原始碼裡可以看到一個 .txt 檔的名字,找出來之後會發現除了開頭兩行字之外,檔案尾巴有一小點的亂碼。這才是這關的題目:這個「亂碼」其位元組的十六進位編碼能夠以這個鑰匙進行解碼,然後才能得到答案。3
第 47 關
畫面上只有一排數字。標題上說不要錯的數字,但哪些是錯的?再次打開原始碼,原來有部份數字以 <span class="wrong">
包起來了。把它拿掉之後,剩下的數字就是前面也出過的轉換了。
第 48 關
當年身為《名偵探柯南》粉的我當然要多塞點柯南的梗進去,於是這裡就出現了一整面的怪盜基德。
畫面上是 20 列 15 欄的基德,但絕大多數點選時會跳到錯誤頁面。這關的關鍵其實已經給你了:怪盜基德 1412 號,我甚至還把這個數字寫在原始檔的最下面給你了。因此答案就是第 14 列第 12 欄的基德。
這一關因為我不想用手動剪貼 HTML,所以選擇了用 php 產生頁面;之所以不用 JavaScript 的原因是因為這相當於在網頁裡把「答案是第 14 列第 12 欄」這件事給明寫在裡面了。不過因為表格的每一格就只是簡單的 <input>
元素的關係,所以是也有打開原始碼後使用取代功能把一樣的東西給取代掉的做法,這也是一種不需要知道 1412 在做什麼的另解。
第 49 關
又是撲克牌。這次只有一套 13 張牌,不過每張牌卻是奇怪的檔名。
這次的 poker/
目錄和上次不同,做了防索引頁的處置;不過同一套的 13 張牌倒是全部列出來了。答案說穿了其實很直觀,如果是實體脫出的話就是那種把東西排一排後翻面讀字的這種題目,但以網頁模式呈現就會需要一點筆記幫助。
嘛,不過撲克牌的數字順序其實有好幾種,但排起來應該就會看得出來不對了吧。
第 50 關
偏門題又來了。這一關的來源是那個時候我從某處發現到的古老解謎遊戲《The Fool’s Errand》,當年對於這遊戲的豐富程度給吸引住了,所以就把遊戲當中最大的這個題目〈The Sun’s Map〉拿來做為關卡了。
不過雖然是實做了一個可以讓你在網頁上自己把整張圖拼起來的介面,但我的預設解其實並不是要你真的去拼——這一關我在左上角放了 Google 圖示,就是在提醒說嘿,遇事不決找 Google。也就是說,拼圖的這個部份我其實期望解謎者會利用 Google 找出答案來。
找出來之後就是背景格子上的星星註記了;這星星圖案雖然來自原遊戲沒錯,但原來的位置並不是這些地方,有找到這款遊戲攻略的應該也能發現這一點。這就代表這些星星註記其實是我給的提示,於是根據這些提示找出對應的拼片就能找出答案來了。
嘛,在不期望玩家會去使用的地方下功夫算是我的堅持吧,這一點看了五十關下來應該多少感受得到才是。
第 51 關
先提一件事:這關的頭像是出自《洞窟物語》的坂本數馬;我先前在其他文章裡有提過我曾經在《洞窟物語》還在 PTT 小遊戲版由版友們中文化時在其中整理過資訊,那當然我自己當年也有玩過,知道故事大概是怎麼回事。當年我記得我應該有打到表結局過的樣子。
嘛以上是題外話。這關其實是第 22 關的反向關卡,要你把一個檔案用 UUEncode 進行編碼;而最後的答案則是在編碼成為文字檔之後,打開查看會看到檔尾有用文字拼出來的大字圖。這同樣利用了 21 關裡提到的圖片檔只讀到圖片結束為止的特性,在檔尾直接加上我想要的位元組而已。
第 52 關
又是亂碼關,這次圖更直接打叉給你看了。是的,又是字元編碼關。
圖片的打叉其實是故意的:並不存在 pic52a.gif
這個檔案。不過既然是 a 那就有 bcd,所以就一路拉出來吧;但除了 h 之外,b 到 g 都是白的。不過白圖已經也不是第一次見過了所以應該沒問題。h 就只是告訴你要怎麼做而已。(是的,那是 IE 這個功能的截圖)
……只是現在的 Chrome 瀏覽器把改編碼這件事給拔掉了。是可以理解為什麼會想拔掉啦,但這明明就是一個很好用的功能。
第 53 關
難得的黑底關,雖然會用黑底的原因單純只是因為圖片是黑底而已。
這題是標準的搜尋關,連找的東西都很簡單……所以當然沒這麼容易得到答案。下一個層次的搜尋是原始碼裡的數字,把它跟剛才找到的東西連起來搜尋就行了。
第 54 關
好的,我必須說這一關我的出題方式有點太過誤導了。這關的哽是眾所周知的生命、宇宙及萬事萬物的終極答案,而圖中的 6×9 則是維基百科裡提到作者提過的可能的問題之一。所以真正的提示其實是在標題上,並不是這張圖的算式。這確實不算是個很好的出題方式……而會放在這裡就單純是 6×9=54 而已。
過了這半關之後則是另一個新鑰匙。鑰匙的名字已經寫在畫面上這六行字裡了:是的,解謎遊戲基本的藏頭文。把它用在另一個不明的字母序列就能得到答案。
第 55 關
因為前一關的誤導出題,所以這題當我出了個認真的算式時會有不少人還在想到底有沒有什麼怪異的東西在裡面。(嘆氣)
不過後半關就比較麻煩了。這後半關其實是 40 關的變形,期望的是把這個數字直接丟進瀏覽器網址列裡去;這裡使用的是 IPv4 裡有規定的使用 32-bit 整數寫出的 IP 表示法。當然如同上面提過的,現在的網路直接丟 IP 進去不一定會連得到目標網站了,所以還是得需要用上面提過的方法才行。這個目標就是這關的謎底了。
第 56 關
又是個回收再利用的關卡。前面陸續給出了許多鑰匙了,那就來個綜合應用回家作業題吧←大概像是這種感覺。同時就順便又換了個資料夾。
這關和前面 45~47 關的做法其實才是正確的多把鑰匙的題目該有的做法,每一步的結果都有一個頁面確認解碼正確,這樣才不會讓人不知卡在什麼地方。不過中間有一個對應關卡的提示我只寫一個星號,原本是想表示相乘啦,但星號表相乘好像也不是個很通用的表示法……所以我對於跳過這個星號的解碼有另一個提示頁說走錯路了。
第 57 關
又一把解謎鑰匙,不過這次是分兩半給出來。由於設計上關卡中間的圖是在兩半之間切換的連結,我在這裡把畫面上下切開,把計數器放到下面去,以防多次切換讓計數器不正常增加。(那個計數器是我自己手寫的,是屬於那個年代很常見的有進場就 +1 的計數器,紀錄的數值也是用檔案存著;當年的我對資料庫只懂那個常跟 php 一起出現的 mysql,系上的工作站不可能讓我放這種東西,只好這樣用檔案的方式做為半吊子的資料庫,因此若要加上偵測重覆進入的程式會很麻煩。)
兩半各要玩家回答一個詞,回答之後的確認頁面也各藏了一張圖,兩張拼起來就是要你用這把鑰匙解碼的文字。
下集預告
這個地方是許多小遊戲版版友們通關的地方,所以原本放在首頁的過關榜也就順勢另立一個頁面出來了。這一波的時間從榜上看是 2006 年 8~10 月之間。下一波的更新在 2006 年 10 月中,那時結束在 72 關,所以下篇文章就會直衝到那裡了。
註腳
- 英文的「freeway」意思是免費的長途公路 (所以叫 “free”-way),但台灣的高速公路是要收費的;如果要以收費的方面來譯的話可譯為「toll road/toll way」,如果要強調高速路線的話也可譯為「express way」。印象中數年前有新聞提過這回事,但時間久了也不知道那些新聞現在還在不在。 ↩︎
- 我在這個 blog 的另一篇文章裡有提過我追的第一部新番是哪一部,就不在這裡重覆了。 ↩︎
- 專門僅使用十六進位數字的這個風格有一個特別的名字叫 hexspeak,時常出現在各種資訊程式碼裡當做彩蛋及標準——例如上面第 38 關裡提到的舊 Word 格式的開頭位元組其實就是 hexspeak:前 4 個位元組 0xD0 0xCF 0x11 0xE0 連起來是 D0CF11E0,它可以看作表示 DOCFILE 這個字,表示這是文件檔案。 ↩︎