用示波器恢復軟盤里的游戲,這個程序員大神的操作太硬核了

有態度
2021
05/24
23:23
量子位
分享
評論

來源:量子位

又到了考(bao)驗(lu)閱(nian)歷(ling)的時候了。

盆友,你可識得此物?

在 80 年代 90 年代,可是有不少寶貴的代碼數據,都是存儲在這樣的載體之中的,比如 DOS 版的仙劍 1。

辣么,如果現在有一張存儲古早代碼的軟盤到了你手里,你該如何解開其中的歷史秘密?要知道,在今天,你可能連讀取軟盤的設備都很難找到……

要是再磕了碰了,那就更完蛋了。

最近,vsftpd作者、Google Project Zero 創始人 Chris Evans 大佬就遇到了這樣的難題:

在和 Phil Pemberton 一起恢復存儲在軟盤中的幾個古早游戲代碼時,他們發現,部分軟盤出現了不同程度的損壞,以致于直接用Greaseweazle這樣的設備是無法讀取的。

Greaseweazle F7 Plus

怎么辦?大佬決心要搞出一個船新的方案,搶救寶貴歷史代碼。

設備也簡單,就用萬能的示波器。

沒錯,就是那種用來測試電路、顯示波形的儀器。

恢復出來的游戲代碼竟然還能玩,而且界面顯示清晰:

這波操作,看得網友直呼:數據考古不要太酷。

手敲 0 和 1,100% 恢復古早代碼

軟盤通常以模擬信號的方式存儲數據。

這里面存儲的模擬信號,用的是最原始的FM 調制(頻率調制)。

也就是說,它所存儲的信號01,分別會以不同的波形頻率表示。

這代表的是 00101100

以下面這段波形為例,單位周期下,在信號為 0 時,輸出的頻率是比較的;而當信號變成 1 時,頻率就會突然變。

因此,只需要找到周期規律,就能判斷一個周期里,信號代表的是 0 還是 1。

但也不能僅僅看峰值來判斷信號是否為 1。例如,在這個周期里,就出現了一個 "假峰值",然而人工解讀的結果還是 0。

因為這個峰值其實是一個噪音,信號的整體趨勢仍然是下降的,波形的頻率本質上并沒有變化。(但信號為 1 時,波形會呈現一個完整的周期,起始點和終點的值是非常接近的)

有網友給出了簡單的判斷方法:一個周期過去,如果信號值變化很大,則代表 0;如果信號值幾乎不變,則代表 1。

據 Chris Evans 介紹,代表 0 的正弦波信號,是8 μ s一個周期;而代表 1 的正弦波信號,則是4 μ s一個周期。

這種情況下,用 Greaseweazle 等 " 現代設備 " 直接讀取數據,會出現一個問題。

如果軟盤中的數據,由于各種外部原因(時間久遠、使用次數過多)出現了損壞,那么僅憑機器,是無法從這些帶有大量噪音的數據中完成解讀的。

就像這樣,有一個扇區出現了問題

但人卻可以輕易看出這些數據中的 " 規律 ",從而判斷信號的狀態。

因此,用示波器將軟盤中傳輸的模擬信號展示出來,再由人工進行解讀,會是個更好的方法。

于是 Evans 和 Pemberton 將示波器直接連上了軟盤驅動器的測試點,看看軟盤到底都輸出了些什么信號。

其中,輸入信號會呈現一正一負兩個波形,用來消除一部分噪聲。

從各種 " 年代久遠 " 的軟盤解讀出的信號來看,難怪 Greaseweazle 這些設備讀不出來……(連人也得仔細分辨一會兒)

接下來,就是處理這些神奇的波形了。

為了更好地處理噪音、繪制信號圖像,Evans 和 Pemberton 還用上了Audacity來處理模擬信號。

Audacity 是一個免費開源的音頻分析和編輯工具,能夠快速放大和檢查波形,還具有多功能低通濾波器,以及直接繪圖的功能。

另外,Audacity 也支持 CSV 文件的導入。

Evans 和他的小伙伴還利用這樣的音頻工具搞出了新的衍生玩法……

比如將速度放慢 100 倍,聽一聽軟盤記錄的聲音(軟盤每轉一次時間為 0.2 秒,該樣本為 20 秒):

恢復出來的數據,效果還不錯。

但上面這些,還只能用于數據比較正常的信號。

對于軟盤本身有輕微損壞的信號,想要恢復就變得更困難了。

軟盤壞了怎么辦?

要是軟盤上有劃痕,這部分的信號就會變得非常難以辨認。

這是 Evans 和 Pemberton 還原的其中一個凹痕的信號,顯然中間那部分,信號振幅(圖中信號的強度)丟失得非常厲害,還自帶噪音

其中一種方法是,多用幾種不同的軟盤驅動器試試。

先用 MF504C 軟盤驅動器過濾一下噪音:

好像效果不大。

換上另一個 TEAC 軟盤驅動器后,顯示的信號更加給力了,但強度還是很小:

用肉眼分辨的話,難度還是太高了。

鑒于此,Evans 和 Pemberton 又換上了 TEC 軟盤驅動器,效果好多了,峰值也變得清晰可辨。

除此之外,應對這類信號振幅丟失的情況,還有另一種方法:手工繪制修復。

由于峰值缺失得實在太厲害,只能通過人為修復,繪制部分峰值信號,來解決強度過低的問題。

但無論如何,這些信號都可以被修復。

據作者介紹,上面這些辦法100%可以恢復軟盤中的數據。

除非真的出現了不可抗力。

例如,軟盤的一部分被損壞得很徹底:

這種情況下,軟盤數據就徹底沒辦法恢復了。

所以,家里有 " 上古寶物 " 的小伙伴,一定要保護好自己的軟盤!

關于作者

這個項目的作者之一,是最受歡迎的 Linux 發行版 FTP 服務器程序vsftpd作者、著名黑客Chris Evans。

他畢業于牛津大學,畢業后進入甲骨文工作,其后又在谷歌工作了 9 年時間,是 Chrome 瀏覽器安全團隊和谷歌黑客團隊 Project Zero 的創建者。

據報道,Project Zero 團隊由谷歌內部頂尖安全工程師組成,使命是找出全球范圍內高價值的安全漏洞,并將其徹底消除。

2015 年,特斯拉把這位黑客大神攬入麾下,負責領導安全工作。2016 年,Evans 從特斯拉離職。

Evans 還是漏洞賞金平臺 HackerOne 的成立顧問。

現在,據老哥自己說,他處在 " 半退休 " 狀態。

最后的最后,你是否也對 80 年代的游戲代碼長啥樣產生了好奇?

Evans 表示,這些恢復出來的源代碼已經交給游戲原作者,是否開源就要看原作者的意思了,如果你感興趣,不妨蹲個后續 ~

THE END
廣告、內容合作請點擊這里 尋求合作
科技
免責聲明:本文系轉載,版權歸原作者所有;旨在傳遞信息,不代表砍柴網的觀點和立場。

相關熱點

近日,市場調研機構 Counterpoint 發布的最新數據顯示,在今天第一季度的國內市場,relame、OV、小米和去年第四季度相比,均出現增長的情況。同時蘋果、華為、榮耀,出現了下滑情況。其中華為、榮耀下滑幅...
業界
微軟近日已推送了 Win10 KB5003173 累積更新,該更新帶來了 " 新聞和興趣 " 功能。
業界
三星已經申請了一個名為 Z Roll 的商標,這表明該公司可能正在開發一款名為 Galaxy Z Roll 的新的卷軸屏手機。
每日快訊
據外媒 The Verge 消息,蘋果公司在跟 Epic 的庭審中向法官表示其并未對 App Store 所有服務抽成。并且蘋果公司今日給出了具體財務數據來證實這一情況,在 2019 年蘋果公司的 App Store 內共實現了 4000 ...
每日快訊
最近幾個月半導體行業的大型并購頻發,9 月 Nvidia 宣布將以 400 億美元現金加股票的形式收購 Arm。十月底,AMD 又宣布將以 350 億美元收購賽靈思。緊接著,Marvell 也宣布將通過股票加現金的方式,以總價...
人工智能

相關推薦

1
3
主站蜘蛛池模板: 久久综合精品不卡一区二区| 国产一级在线免费观看| www.日韩在线| 无码人妻精品一区二区在线视频| 亚洲区小说区激情区图片区| 男女啪啪高清无遮挡免费| 国产丝袜制服在线| 黄网站色在线视频免费观看| 国产色a在线观看| www亚洲免费| 搞黄网站免费看| 久久精品国产精品国产精品污| 欧美日韩国产片| 人人添人人妻人人爽夜欢视AV | 国产亚洲蜜芽精品久久| www日本xxx| 国产综合成人亚洲区| aaaa欧美高清免费| 强行扒开双腿猛烈进入| 久久一区不卡中文字幕| 日韩欧美一区二区三区四区| 亚洲国产av美女网站| 没带罩子让他玩儿了一天| 免费在线观看你懂的| 精品福利视频网| 国产XXX69麻豆国语对白| 青青青青草原国产免费| 国产成年无码v片在线| 青青草原视频在线观看| 国产超碰人人模人人爽人人喊| a级片免费在线观看| 少妇性俱乐部纵欲狂欢少妇| 中文字幕热久久久久久久| 日本夫妇交换456高清| 久久精品天天中文字幕人妻| 欧美BBBWBBWBBWBBW| 亚洲国产日产无码精品| 欧美日韩免费播放一区二区| 亚洲爆乳精品无码一区二区三区| 特级毛片爽www免费版| 免费a级毛片18以上观看精品 |