第284章 江寒的操作

“CrackMe”是很多逆向論壇裡十分流行的玩法。

一些人爲了測試自己的軟件保護技術,就會製作一些CrackMe程序,讓別人來嘗試破解。

網上也經常會有一些CM(CrackMe)競賽。

根據設計者的意圖和加密技術水平,不同的CrackMe,破解難度天差地遠。

江寒點擊了一下下載鏈接,題目給出的CrackMe,很快就下載了下來。

然後,先將其運行了起來,觀察一下程序的外在表現。

這是個Windows PE文件,界面十分樸素,只提供了兩個輸入框。

一個用來輸入UserName(用戶名),另一個用來輸入SN(serial number,序列號),下面還有個【Login】按鈕,用來檢測UserName和SN是否匹配。

看完了這些內容,對程序的結構心裡有數之後,江寒就將窗口關掉了。

隨後,他就打開了著名的調試工具OllyICE,並在調試器中加載了這個CrackMe。

開始調試之前,先設置個斷點。

斷點是調試器的一種功能,可以讓程序中斷在需要的地方,以方便分析。

常用的斷點有INT3斷點、硬件斷點、內存斷點、消息斷點、條件斷點等。

例如LBUTTON_UP,就是很常用的消息斷點,功能是當鼠標左鍵擡起時,中斷程序運行。

又如GetDlgItemText斷點,當程序試圖調用Windows的對應API,獲取輸入框裡的文本內容時,就會被攔下。

江寒先試着設置了GetDlgItemText和GetDlgItemTextA斷點,然後按了下F9,讓程序跑了起來。

CrackMe的窗口出現後,先隨便輸入一組UserName和SN,然後用鼠標點擊了一下【Login】按鈕。

結果……

程序直接彈出了一個MsgBOX(消息框),提示【用戶名和序列號不匹配】。

很遺憾,在這次嘗試中,斷點並沒有發揮作用。

這說明在這個CrackMe裡,並沒有使用GetDlgItemText或者GetDlgItemTextA來讀取字符串。

否則的話,就會被調試器攔截下來,而不會執行關鍵Call了。

所謂關鍵Call,是指程序中用來計算用戶名和序列號的函數,通常執行完關鍵Call,很快就能找到一個條件跳轉語句。

如果序列號與用戶名匹配,就會繼續往下執行,否則就彈出出錯提示……

接下來,江寒又試了一下LBUTTON_UP斷點。

這次終於成功斷了下來。

接下來就很簡單了,交替使用F7(步入)、F8(步過)兩個快捷鍵,單步跟蹤即可。

這個程序是那種很老實的程序。

意思就是沒有什麼亂七八糟迷惑人的東西,也沒有刻意增加難度,爲難挑戰者。

以江寒的調試功力,跟蹤這麼老實的程序,自然是易如反掌。

他只花了3分鐘,就找到了關鍵Call。

隨後,將這個Call語句,設爲斷點,然後Ctrl+F2,重新運行。

再次填寫序列號、用戶名,點【Login】……

很快,程序中斷在了關鍵Call上。

江寒按了一下F7,進入了函數體內部,這樣就看到了一段以Ret結尾的反彙編代碼。

這段代碼的功能,就是根據UserName計算SN(序列號)。

到了這裡,就比較考驗基本功了,必須讀懂反彙編指令。

當然,這對於訓練有素的人來說,也是So easy的一件事。

江寒花了十分鐘,將算法分析了出來。

看得出來,設計者的確沒有故意難爲人,算法設計得十分簡明。

首先,把UserName進行BASE64變換,然後對新串中的字符,做ASCII碼值累加操作,再經過一番算不上十分複雜的數學運算後,就得到了一個新的字符串。

此字符串就是與UserName對應的SN,其允許包含大小寫字母和數字,以及一些特殊字符,算法保證其與UserName對應的唯一性……

這道題可以說是白給,只要稍微懂點逆向調試,基本功別太差,一般都能輕鬆搞定。

江寒估計,官方第一關弄得這麼簡單,可能只是打算過濾一下參賽者,將那些沒事兒來湊熱鬧的人排除掉。

接下來是第二題。

仍然是CrackMe,但和第一題比起來,難度就突然提高了十倍不止。

什麼花指令、虛擬機、靜態反彙編、動態反調試……

凡是當前流行的保護手段,幾乎一應俱全。

而其核心算法,更是動用了SHA1和Md5。

也就是主辦方還算有點良心,沒用出RSA2048這種大殺器,否則大家比的就不是逆向水平,而是計算機的性能了……

江寒足足用了二十分鐘,才計算出了正確的SN,通過了這一關。

隨後,他就一道題、一道題,連續挑戰了下去。

越往後,題目的難度越高,花費的時間自然也會稍微長一些。

不光只有CrackMe,還有一些別的玩法,比如破解個虛擬賬號系統的密碼之類的。

最有趣的是第5題。

目標數據在內存中構成了一個虛擬魔方,並根據UserName隨機打亂。

要求構建一個字符串,用此字符串的二進制序列,作爲操作指令,讓這個魔方復原。

令人髮指的是,這個魔方不但高達11階,還有隨機生成的“塊壞”!

壞塊的意思是,你看不到它的“顏色”,但如果不能放在正確的位置,就不能通過最後的檢測……

江寒還得額外寫個魔方通解程序,將這個虛擬魔方轉放進去,用窮舉法求解出復原過程,然後才能根據要求,構造出對應的字符串……

就這樣,直到下午3點,江寒才終於解決掉了前6道題,來到了最終關門前。

獎金也順利地到手了1.5萬美元。

爲什麼是1.5萬?

第四題做完之後,江寒才發現,原來那道題的獎金,只有前1000位破解者,才能認領……

好在後面的題目越來越難,過關的人也越來越少,纔沒被其他人把獎金全都搶走。

最終關。

江寒滿懷期待地點了進去。

題目是一個單片機ROM,要求破解其加密機制,去掉防複製模塊,並提交Dump出來的無加密ROM。

江寒按照要求,下載了目標ROM。

然後祭出調試工具,加載進來一看……

江寒頓時就傻眼了。

我了個去,這不就是自己的壞蘋果嗎?

KAGGLE也算世界知名平臺了,居然用壞蘋果作爲壓軸。

怪不得獎金那麼高呢,主辦方沒準根本就沒打算掏這筆錢。

不過,千不該、萬不該,你們不該一聲不吭地,就用了咱的壞蘋果。

更不應該的,居然還邀請了我這個“發明人”,參加了這次的錦標賽!

江寒偷笑了兩聲,然後果斷從硬盤中,翻出了一個文件,上傳到了答題區。

不是別的,正是壞蘋果的原始ROM文件!

這是他能想到的,最簡單的拿到500萬的方法。

想到KAGGLE裡負責這個比賽的人,看到了這個文件之後,種種可能的精彩表情……

江寒忍不住嘿嘿一笑。

接下來,就要看KAGGLE官方,到底舍不捨得那500萬了……

感覺已經有點餓了,江寒他就關掉了電腦。

打算先去做個飯,解決一下溫飽問題,然後,又飽又暖的時候……

然而,江寒剛走到廚房門口,就忽然頓住了身形。

有點不對!

今天又是在“HackMe”裡闖關,又是玩CrackMe,大腦持續高強度運轉了整整一天。

可是,居然一點疲倦的感覺都沒有?!

按照以往的經驗,像是這種用腦強度,不吃個十條、八條冰島紅極參,只怕很長時間都緩不過來。

然而,今天的狀態卻好得有點出奇。

這到底是怎麼回事?

難道……小媳婦不但能幫咱充靈感,還能給咱的大腦充能?

這有點不太科學吧?

類似那種喜聞樂見的活動,不增加能量消耗就不錯了……

江寒思索了一下,忽然心中一動,連忙打開了系統UI。

看着龍飛鳳舞的【學者】二字,以及緊隨其後的一串小星星,如同呼吸燈一般,一閃一閃……

江寒不禁若有所悟。

第344章 好險間接那個啥第327章 雨雪交加、霏雯相對第206章 整理論文第12章 重生的使命第403章 家產億萬,平平無奇第286章 破解壞蘋果第160章 只能看到文章本身第76章 還有什麼是他不會的?第125章 我有一個同桌第268章 最終版本第429章 阿法狗的三板斧第291章 驚動了各路神仙第379章 似真似幻,恍如隔世第6章 三個系統倒有四種資源?第129章 兩道試題第340章 實力還是運氣?第45章 火了第196章 背黑鍋我來第277章 學之力,9段!第201章 組內學習競賽第233章 誤差反向傳播算法第203章 誰支持、誰反對?第269章 易中海的困境第125章 我有一個同桌第5章 三個系統準備就緒第44章 瞎子分牌問題第138章 避蚊胺,登山第353章 神乎其技第71章 憑什麼是江寒?第407章 科幻片,恐怖片?第227章 智能安防報警系統第381章 以理服人,大江科技第270章 夏如冰的遭遇第279章 一舉成名天下知第251章 特效藥第91章 這麼忙嗎?第184章 眼神這麼好使的嗎?第411章 不可不防,防不勝防第344章 好險間接那個啥第81章 不是好人第398章 商用級手寫識別算法第387章 打印機和繪圖儀第214章 小夥子,你很有勇氣啊!第185章 是不是太敏感了?第172章 誰是誰的小糖人?第73章 臭屁不過金少樓第219章 點到爲止第99章 老江很忙第265章 羨慕使人質壁分離第112章 圖紙和垃圾桶第359章 大佬,怪蜀黍?第424章 又一個冠軍到手第94章 水論文的正確姿勢第412章 小女盆友,青梅竹馬?第11章 像我這麼專一第299章 膽大妄爲,實力恐怖第407章 科幻片,恐怖片?第243章 比賽心得和騙分教程第350章 男生不準進去的地方第198章 唯實話與馬屁不穿第336章 女孩的心思你別猜第247章 對拍、Day1第三題第216章 有些事,再多的錢也沒得談第141章 金裝四大才子第301章 人間喜劇,喜聞樂見第335章 不走尋常路第85章 吊橋效應第34章 遊戲發佈第371章 莫非換了個女朋友?第292章 江寒的靈氣與編程之道第212章 他和夏總到底什麼關係?第283章 給靈感充點值第151章 那就別走了第352章 有了一個小助手第129章 兩道試題第59章 上乾貨第91章 這麼忙嗎?第147章 有點深奧啊第201章 組內學習競賽第426章 坦白從寬,回家過節。第12章 重生的使命第293章 精誠所致,金石爲開?第149章 夢後樓臺深鎖第148章 到底什麼意思?第223章 她不會玩真的吧?第262章 貴有貴的道理第97章 媽媽問我爲何跪着看手機?第85章 吊橋效應第174章 良心工作室第293章 精誠所致,金石爲開?第422章 更有效率的刷分第363章 終於對《我的世界》下手了……第394章 超參數全自動搜索第349章 說錯了什麼?第8章 裝〇也要講基本法第230章 萬物皆可“壞蘋果”第426章 坦白從寬,回家過節。第242章 搞出問題怎麼辦?第232章 江寒的野望第140章 虛驚
第344章 好險間接那個啥第327章 雨雪交加、霏雯相對第206章 整理論文第12章 重生的使命第403章 家產億萬,平平無奇第286章 破解壞蘋果第160章 只能看到文章本身第76章 還有什麼是他不會的?第125章 我有一個同桌第268章 最終版本第429章 阿法狗的三板斧第291章 驚動了各路神仙第379章 似真似幻,恍如隔世第6章 三個系統倒有四種資源?第129章 兩道試題第340章 實力還是運氣?第45章 火了第196章 背黑鍋我來第277章 學之力,9段!第201章 組內學習競賽第233章 誤差反向傳播算法第203章 誰支持、誰反對?第269章 易中海的困境第125章 我有一個同桌第5章 三個系統準備就緒第44章 瞎子分牌問題第138章 避蚊胺,登山第353章 神乎其技第71章 憑什麼是江寒?第407章 科幻片,恐怖片?第227章 智能安防報警系統第381章 以理服人,大江科技第270章 夏如冰的遭遇第279章 一舉成名天下知第251章 特效藥第91章 這麼忙嗎?第184章 眼神這麼好使的嗎?第411章 不可不防,防不勝防第344章 好險間接那個啥第81章 不是好人第398章 商用級手寫識別算法第387章 打印機和繪圖儀第214章 小夥子,你很有勇氣啊!第185章 是不是太敏感了?第172章 誰是誰的小糖人?第73章 臭屁不過金少樓第219章 點到爲止第99章 老江很忙第265章 羨慕使人質壁分離第112章 圖紙和垃圾桶第359章 大佬,怪蜀黍?第424章 又一個冠軍到手第94章 水論文的正確姿勢第412章 小女盆友,青梅竹馬?第11章 像我這麼專一第299章 膽大妄爲,實力恐怖第407章 科幻片,恐怖片?第243章 比賽心得和騙分教程第350章 男生不準進去的地方第198章 唯實話與馬屁不穿第336章 女孩的心思你別猜第247章 對拍、Day1第三題第216章 有些事,再多的錢也沒得談第141章 金裝四大才子第301章 人間喜劇,喜聞樂見第335章 不走尋常路第85章 吊橋效應第34章 遊戲發佈第371章 莫非換了個女朋友?第292章 江寒的靈氣與編程之道第212章 他和夏總到底什麼關係?第283章 給靈感充點值第151章 那就別走了第352章 有了一個小助手第129章 兩道試題第59章 上乾貨第91章 這麼忙嗎?第147章 有點深奧啊第201章 組內學習競賽第426章 坦白從寬,回家過節。第12章 重生的使命第293章 精誠所致,金石爲開?第149章 夢後樓臺深鎖第148章 到底什麼意思?第223章 她不會玩真的吧?第262章 貴有貴的道理第97章 媽媽問我爲何跪着看手機?第85章 吊橋效應第174章 良心工作室第293章 精誠所致,金石爲開?第422章 更有效率的刷分第363章 終於對《我的世界》下手了……第394章 超參數全自動搜索第349章 說錯了什麼?第8章 裝〇也要講基本法第230章 萬物皆可“壞蘋果”第426章 坦白從寬,回家過節。第242章 搞出問題怎麼辦?第232章 江寒的野望第140章 虛驚