第九十九章以靜制動上
如果出现文字缺失,格式混乱请取消转码/退出阅读模式
接下來的兩天,一切都很安靜,雪風在自己的機子上破解軟件,順便監控着那邊神秘人的舉動。那神秘人估計是沒有查到雪風上次是如何得知那地址是world公司的,鬱悶之下,也就不再給雪風發那麼多消息了,每只顧埋頭悶聲搞着雪風的機器,大家也就相安無事。不過他還真的是有點閒,每天費在雪風的機器上時間至少有十個小時,要不是雪風這幾天每天都是睡覺要關機,這傢伙還能繼續折騰下去。
俞雪重新在家裏出現了影蹤,因為李秀鳳終於是回滬市去了,這幾天她可被李秀鳳折騰壞了,李秀鳳以項目的名義每天都要舉行這個那個的會,再加上西京市各界宴請李秀鳳的酒會,害得俞雪每疲於應付。如果僅僅是如此,那也就罷了,最要命的是,每次的聚會上,李秀鳳都要當着很多人的面宣佈俞雪是她女兒,俞雪先是很難接受,但不好當眾發作,勉勉強強應下來,隨後每天被李秀鳳這麼折騰,也就麻木了,隨便你怎麼説吧,只要你不讓我回滬市就可以。李秀鳳這招也真夠厲害的,不經意間就磨掉了俞雪的子,讓俞雪不再象以前那樣那麼時刻堤防着自己。
起初,俞雪還擔心雪風他們幾個會埋怨自己隱瞞真相,結果雪風每忙着在電腦前鼓搗,歐陽菲更是提也不提這事,而陳硯則是在那次的發佈會之後就再沒有面,俞雪看大家並不在意此事,懸着的心也就放了下來。
雪風給陳硯打了幾個電話,結果那邊還是沒接,雪風又發幾個惡俗短信過去騷擾她,這丫頭竟然也沒象往常那樣立刻電話打過來開罵,雪風暗道這丫頭轉了,竟然如此沉得住氣,不過他只當是這丫頭心裏還在介意上次的事情,故意不理自己,也就沒有在意,他相信過不了幾天,這丫頭肯定會把上次的事情忘得乾乾淨淨。
自破解量子密碼之後,雪風這幾個月就再也沒有玩過破解,此時缺少了小沙彌,雪風更是回到了當年徒手破解軟件的時代,此刻他就被一個軟件給難住了,也許説是引住了更確切一點。這個軟件是甲骨文公司的軟件,但是它的加密服務卻不是甲骨文公司的,而是來自一家很小的安全公司,他的加密算法非常有特,和雪風以往所接觸的算法都不一樣。
雪風也是跟蹤了很久之後,才清楚了這個加密算法的程。軟件的解密過程類似與我們經常玩的“填字遊戲”運行軟件後,軟件首先調用用户註冊時的註冊碼,註冊碼是16位的,然後程序會把這16個字符“填入”解密程序的16個接口之內,如果註冊碼正確,則解密程序就正常運行,被加密的軟件就會還原,然後正常運行。
這個解密程序之所以能難住雪風,是因為雪風無法把這16個字符準確填入解密程序中。
整個解密程序就如同一扇巨大的錶盤,這個錶盤每時每刻都維持着高速旋轉,在這個錶盤上面分佈着16個毫無規則的鑰匙孔,那就是程序的接口,鑰匙孔隨着錶盤做着運動。註冊碼的16個字符就好像是16把鑰匙,只有把這16把鑰匙準確入鑰匙孔內,解密程序才會開始還原軟件。如果鑰匙不是原配的,或者少一把鑰匙,又或錯了彼此位置,解密程序就不會還原軟件,用户就沒有權限來使用這個軟件。
難就難在了這個解密程序的運行效率太高了,整個解密過程只需要不到200毫秒,在這麼短的時間內,要找出那些鑰匙孔都已經是很困難了,更別提鑰匙了,就算是你發現了鑰匙孔,等你下手再去的時候,鑰匙孔就已經不知道轉到哪裏去了。何況這些鑰匙孔的位置差異也太大了,有的*近錶盤裏面的地方,有的*近錶盤的邊緣,但是你又不能錯順序,只能從第一個字符填到最後一個。跳着填,就算最後所有字符填入的位置都是正確的,程序也會判斷你輸入了錯誤的註冊碼。
雪風做了一個小程序,嵌入到那軟件的開頭,用來完成這個填字遊戲,可是完成最好的一次,也只是成功入了前面的三個字符,後面的就跟不上了。因為雪風的這個程序多了一個判斷過程的,它得先判斷是不是出現了鑰匙孔,如果出現了,還得判斷是不是該入鑰匙,入哪把鑰匙,等判斷完,那原本存在的鑰匙孔已經轉過去,或許就在你判斷上一個鑰匙孔的這段時間裏,下一個鑰匙孔也轉了過去。
此路看來是行不通了,計算機也有它的一個負載極限,雪風只好再去想別的的辦法。既然把這16個字符準確填入解密程序的接口是如此地困難,那麼原本的解密程序又是怎麼完成這一過程的呢?雪風不由好奇起來,自己的寫的那個小程序已經把計算機的運行速度發揮到了極限,尚且無法準確入,那麼解密程序的設計者,又是如何保證自己的程序就能把16個字符準確填入各自的位置,而且順序還不會錯亂呢?
雪風對自己機器的cpu進行了降低頻率的處理,現在cpu運行的速度只有原來的四分之一,與之相應,那個解密程序運行的速度也就慢了好多,原來需要200毫秒就能完成的解密過程,現在就至少需要一秒才能完成,這就給雪風很富裕的時間來捕捉整個解密過程。
雪風把自己剛才嵌入的用來填字的小程序又剔除了出來,讓解密程序重新運行,他打開內存監視器,然後重新運行那個軟件。現在,他要做的,就是仔細觀察整個解密過程中,內存的變化情況。
連續運行了幾次,內存監視器幫雪風以50毫秒為一單位,對解密過程中內存的變化情況進行了“拍照”這也是內存監視器所能達到的最快速度了。雪風對照了幾次的記錄,發現沒有大致的差異,隨即關掉了軟件,把cpu頻率又回覆到原本的頻率。
雪風把內存記錄調了出來,一邊仔細對比,一邊在心裏揣摩着那個解密程序的運行程。或許,只有雪風這樣的瘋子才會使用這樣的方法來破解軟件,一般人就是有工具的配合,面對如此密密麻麻的數據,頭也已經大了,可是雪風這個傢伙,卻是能一眼就看出其中的變化規律,並由此來推測解密軟件的運行程。
上次破解量子密碼,雪風采用的方法是快,因為量子密碼紛繁複雜,解密過程十分緩慢,所以雪風選擇了“以快打慢”所謂的“一快打三慢”大概就是如此。而這次,雪風又選擇了慢,人為放緩了對方解密程序的解密過程,企圖通過慢鏡頭,找到對方招式中的破綻,這也就是武學招式中的“以靜制動,後發制人”吧。
“個腿,原來是這麼回事!”很快,雪風就發現了其中的問題,所有拍下來的內存記錄中,每個時段的內存都是無規律的,只有一個時段,內存卻出奇地一致。據這一點,雪風大膽判斷,程序的設計者當初為了讓自己解密程序能準確填入這個16個字符,在讀入16個字符後,做了一次校對,就是為了做到字符填入時的同步。
這就好象是我們平時的“校表”在填字遊戲開始前,轉動錶盤的一方把錶盤復原到一個默認的位置,然後和入鑰匙的一方把各自的表都調整到同一時刻,再約好幾點幾分,到什麼位置,入第幾把鑰匙。等雙方做好以上的工作後,錶盤開始轉動,入鑰匙的一方只需按照時間表來走,就會分秒不差地把鑰匙準確入相應的鑰匙孔內。
雪風估計了一下這個“校表”的過程,大概需要50毫秒,但是這點時間足夠自己把16個字符按照順序填入各自的位置了,因為在這個校表的過程中,錶盤是不動的,鑰匙孔的位置也是不變的。
雪風很快找到了錶盤靜止時那16個鑰匙孔的位置,並確定了他們的先後順序,然後重新設計了一個程序,嵌入那個軟件的頭部,這個程序更為簡單,只需在程序運行後的固定時間裏,填入固定字符到固定位置就可以了。
做好這一切,雪風拍拍口,平抑了一下動的心情,他的眼前似乎出現了一個巨大的錶盤,還有16個人,每個人地手裏都拿着一把鑰匙,各自站好了位置,只等一聲令下,便把鑰匙進去面前的鑰匙孔內。
雪風此時就等着“咔”的一聲,那是鑰匙進去,門自動彈開的聲音,那一定很悦耳。雪風笑了一下,就晃動鼠標,雙擊了那個軟件,期待着成功的提示。
“咔~”一聲響過,緊接着又是一聲“滴”的聲音。
“***~”雪風大叫了起來,他並沒有看到門開的一瞬間的景象,因為他的機器,竟然重啓了。