這個Rom中使用的技術,正是從《數字混淆加密(簡易版)》中參悟出來的。
逆向破解不是一時半會的事情,江寒交出U盤後,就暫時告別大家,準備打車回家。
夏如虹一擺手:“清瀾開我的車,幫我送下江寒。”
苗清瀾連忙答應了,然後和江寒一起退場。
盧奕年交代柳佑明:“回頭把U盤裡的文件,分發給大家,讓大家隨意破解,如果一週後還沒有人能逆向出原始代碼來……”
說到這裡,沉吟了一下。
“就說明可用?”小韓問。
盧奕年搖了搖頭:“就放到看雪、0度等破解論壇上,讓全國高手都來試一試……”
想了想,又補充說:“如果有必要的話,還可以放到國外幾個著名的破解論壇上,接受一下世界級高手的檢驗。”
柳佑明聽得差點兒“虎軀一震”。
這也未免太狠了吧?
雖然江寒說過,他對自己的加密技術也挺有自信的,可他畢竟才17、8歲。
任他再怎麼天才,手段再怎麼高明,一旦被天下英雄羣起而攻之,又怎麼可能抵擋得住了?
不過,同樣四十多歲的年紀,自己只是技術部的小頭目,而盧總已經是分管一攤的公司高層。
看來任何成功果然都是有原因的。
老話說得好:人不狠,站不穩哪……
安排完任務,盧奕年最後說:“讓我們拭目以待,看看江寒的加密手段,到底有多大的強度吧。”
柳佑明等技術人員紛紛響應,表示願意接受挑戰。
當晚回去後,柳佑明就將ROM映像文件羣發了一下,技術部幾個擅長逆向的同事,每個人都收到了一份。
隨後,破解工作如火如荼地展開了。
但並沒有過上一週,僅僅兩天後,盛夏技術部就集體投降了。
太難了。
江寒加密後的這個ROM,一打開就是一大堆亂碼,根本沒法正常反彙編。
只能在調試器中,採用單步跟蹤,一個指令一個指令的執行。
難受的是,在跟蹤的過程中,經常會導致死機。
一旦在調試器中執行“運行”命令,電腦妥妥的會自動重啓。
柳佑明有點懷疑,江寒可能“不小心”提供了一個壞文件,就打電話覈實了一下。
江寒詢問了幾個數據校驗點,又覈對了整個文件的MD5碼之後,確認文件沒有問題。
老柳想了想,問江寒:“您這個rom到底是幹嘛的?”
江寒微微一笑,遠程給柳佑明演示了一下。
他將ROM燒錄到EEPROM芯片裡,然後插到了一個早就準備好的,實驗用的簡易演示電路里。
這是用麪包板臨時搭建的演示電路,包含了一塊51單片機、一個EEPROM,以及一個36行、36列的發光二極管陣列。
通電後,當江寒給出啓動信號,發光二極管就按照事先設定的程序,有節奏地閃爍起來,上演了一幕《Bad Apple》!
這個東西做出來後,江寒也沒有浪費。
他將製作過程和演示效果,拍成了視頻,發到了P站上,成功續了一波熱度。
至於將其用作加密試驗品,不過是剩餘價值的再利用。
柳佑明看完演示,頓時驚爲天人:“臥槽,牛掰!”
匆匆扔下幾百震驚點之後,就回去挑燈夜戰,繼續嘗試破解。
可惜他的技術實力也就那樣,破解個小軟件還行,遇上這種高難度的,就力有不逮了。
奮戰了兩天,仍始終不得其法,柳佑明不得不承認失敗。
其他同事的遭遇,和他也差不多,經歷了從信心滿滿到屢敗屢戰,最後丟盔棄甲、懷疑人生的難忘歷程。
這樣,只好提前執行盧奕年的下一步部署。
先後將文件上傳到了看雪、吾愛破解、龍捲風、嬴政天下、百度破吧,一共五個國內排名前三的破解論壇裡。
唔,好像有什麼不對?
好吧,不管到底哪三個排名更加靠前,反正都是大神出沒的地方沒錯了。
孰料,諸多大神們出手後,也紛紛折戟沉沙。
網友們一開始還喜聞樂見,將這個ROM轉載到了國內幾乎所有的破解論壇,以及各種愛好者交流羣裡。
但僅僅三天後,國內九成九的破解論壇上,就全是聲討“柳暗花明”(柳佑明)的帖子了。
“這文件是假的吧?根本沒法執行啊,動不動就死機。”
“震驚,竟然有人惡意上傳垃圾數據,還號稱終極加密,企圖戲耍逆向界!”
“這是什麼垃圾玩意!”
“噁心,令人作嘔!”
……
也就是柳佑明從未曝光過真名,否則沒準會有憤怒的網友,寄給他幾隻死耗子也說不定……
始終關注着事件進展的老柳,對這些情況自然瞭如指掌,忍不住心中有點暗爽。
看到許多比自己水平更高的人,也對這個ROM無可奈何,他自己的挫敗感就削減了許多。
在徵求了江寒的意見後,柳佑明仿製了一個“壞蘋果”基板,拍成了視頻,補到了自己發佈ROM的帖子裡。
這樣大家就知道了,文件是沒問題的,完全可以實機運行,只是自己沒找到調試的辦法罷了。
關於這個“壞蘋果”ROM,各個論壇上的論調逐漸轉爲調侃。
“還真是萬物皆可壞蘋果啊!”
“這個壞蘋果,也太特麼難啃了吧?”
“你們誰找到程序的真正入口了?”
“入口倒是好找,避開花指令、邏輯校驗、硬件序列……等10多個反編譯、反調試的陷阱之後,就能進入自解壓代碼段。
然後再……
接着再……
最後再……
這樣就能在虛擬機的堆棧中,找到真正的入口地址了。”
然而,沒用,找到入口也沒用。
接下來的難點,比一座大山上的碎石子還要多……
有人問:“能否繞過這個自解壓過程,直接Dump解壓解密後的可執行代碼和數據呢?”
“不能,自解壓後得到的代碼,本身是不可執行的,必須調用位於加密區的虛擬機解釋執行,而那個虛擬機的指令集是用數學算法隨機生成的……”
一週後,終於有大神級的人物發帖:“我做了個硬件仿真器,逐步調試執行了這個ROM,逆向出了20%以上的加密算法。”
頓時,萬衆敬仰。
“真大神出現了!”
“那不是很快就能逆向出原始算法了?”
該大神回覆:“並不能,我看到的加密算法裡,包含了幾百個參數,每一個都有獨特的來歷。
有的是一組不定方程的特殊解,有的是把多重位運算的結果直接寫入指令區……
絕大多數子過程,都不存在有效、可行的逆運算,想要知道參數的原始值,只能暴力窮舉。
這些都不是最困難的,問題是裡面有幾個算法片段,使用了我根本看不懂的數學公式、方法和計算技術……”
“這麼牛掰的嗎?求ROM作者現身說法。”
“這麼變態的加密算法,也不知道是哪路大神搞出來的,好想瞻仰、膜拜一下啊……”
“發明這個算法的人,簡直是鬼才。”
很快,各大論壇上,關於這件事的風向,就轉到了另一個方向。
“挑戰!是男人就吃掉壞蘋果……”
“毒藥,壞蘋果使我欲罷不能……”
“我終於找到第351個參數了,過程如下……”
……
又是一週過去。
在全國逆向界的通力配合下,終於將全部10010個參數全部找了出來,並逆推出了361組數學公式。
接下來,就是解方程的競賽時間了。
可惜,就在大家的熱情空前高漲時,很快就被當頭澆了一盆涼水。