這個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組數學公式。
接下來,就是解方程的競賽時間了。
可惜,就在大家的熱空前高漲時,很快就被當頭澆了一盆涼水。