天天看小說

第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。

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

江寒不禁若有所悟。

今天只有一章了第280章 這就成了“學者”了?第271章 破壞永遠比建設更容易第238章 競爭對手?第244章 屋裡陪他小電影?第317章 爲什麼偏偏是那串數字?第417章 江寒的圍棋水平第400章 不可逾越的高山第64章 渣男第296章 攪動風雲第368章 能幹的小秘書?第83章 髮卡第338章 脫胎換骨,戰神軍團第386章 測量“虛擬空間”的曲率第298章 手持利器,尤須謹慎第302章 聳人聽聞,觸目驚心第169章 最後0.5公分第243章 比賽心得和騙分教程第374章 手工打造LED顯示器第215章 儀表堂堂,器宇軒昂第378章 用詞精準請假,存稿丟失一章,正在想辦法重寫第170章 只是一場遊戲嗎?第19章 一切爲了押韻第357章 再給你一次機會第335章 不走尋常路第374章 手工打造LED顯示器第60章 費曼學習法第420章 強化學習的威力第363章 終於對《我的世界》下手了……第60章 費曼學習法第203章 誰支持、誰反對?第17章 男朋友挺好第329章 拋棄框架,從零開始造輪子第257章 NOIP中最難的題型第157章 找個清靜的地方第15章 夏雨菲的羨慕第102章 怎麼就這麼不好對付?第83章 髮卡第371章 莫非換了個女朋友?第406章 不可思議的學習效率第291章 驚動了各路神仙第314章 旗鼓相當?大獲全勝!第194章 睡不著怎麼辦?第161章 論腦補,只服你第396章 線性CCD掃描相機第158章 查崗?第387章 打印機和繪圖儀第147章 有點深奧啊第30章 立人設第191章 好像只能擠一擠了第422章 更有效率的刷分第65章 論文過審第237章 大魚和小魚第344章 好險間接那個啥第340章 實力還是運氣?第45章 火了第7章 所謂“取整”,就是……第288章 合理避稅第387章 打印機和繪圖儀第366章 微服私訪?第282章 又一顆壞蘋果?第312章 阱中有坑,坑裡有釘第322章 愚者注視著你第371章 莫非換了個女朋友?第90章 衣進爵的戰役第120章 《數字混淆加密(簡易版)》第289章 對等原則第168章 本能反應第270章 夏如冰的遭遇第156章 你高興的太早了第332章 大功告成,樂不思蜀第90章 衣進爵的戰役第267章 數據增廣和集成學習第153章 眼氣誰呢這是?第336章 女爲悅己者容第72章 玩不起第138章 避蚊胺,登山第54章 專利第101章 偷換概念第242章 搞出問題怎麼辦?第166章 意外的變化第226章 還能剩下幾個?第146章 給你個眼神自己領會第428章 Hack Me的獎品第374章 手工打造LED顯示器第186章 有我七成功力了第330章 小孔成像和PNP問題第412章 小女盆友,青梅竹馬?第246章 Vigenère密碼和國王遊戲第263章 一切都在算計中第225章 papa別鬧!第320章 法無禁止即可爲第127章 只怪準備得太充分了第294章 峰迴路轉,轉了又轉第250章 幸虧有雙保險第108章 情趣第4章 萬界爬蟲系統第186章 有我七成功力了第93章 《泡沫》
今天只有一章了第280章 這就成了“學者”了?第271章 破壞永遠比建設更容易第238章 競爭對手?第244章 屋裡陪他小電影?第317章 爲什麼偏偏是那串數字?第417章 江寒的圍棋水平第400章 不可逾越的高山第64章 渣男第296章 攪動風雲第368章 能幹的小秘書?第83章 髮卡第338章 脫胎換骨,戰神軍團第386章 測量“虛擬空間”的曲率第298章 手持利器,尤須謹慎第302章 聳人聽聞,觸目驚心第169章 最後0.5公分第243章 比賽心得和騙分教程第374章 手工打造LED顯示器第215章 儀表堂堂,器宇軒昂第378章 用詞精準請假,存稿丟失一章,正在想辦法重寫第170章 只是一場遊戲嗎?第19章 一切爲了押韻第357章 再給你一次機會第335章 不走尋常路第374章 手工打造LED顯示器第60章 費曼學習法第420章 強化學習的威力第363章 終於對《我的世界》下手了……第60章 費曼學習法第203章 誰支持、誰反對?第17章 男朋友挺好第329章 拋棄框架,從零開始造輪子第257章 NOIP中最難的題型第157章 找個清靜的地方第15章 夏雨菲的羨慕第102章 怎麼就這麼不好對付?第83章 髮卡第371章 莫非換了個女朋友?第406章 不可思議的學習效率第291章 驚動了各路神仙第314章 旗鼓相當?大獲全勝!第194章 睡不著怎麼辦?第161章 論腦補,只服你第396章 線性CCD掃描相機第158章 查崗?第387章 打印機和繪圖儀第147章 有點深奧啊第30章 立人設第191章 好像只能擠一擠了第422章 更有效率的刷分第65章 論文過審第237章 大魚和小魚第344章 好險間接那個啥第340章 實力還是運氣?第45章 火了第7章 所謂“取整”,就是……第288章 合理避稅第387章 打印機和繪圖儀第366章 微服私訪?第282章 又一顆壞蘋果?第312章 阱中有坑,坑裡有釘第322章 愚者注視著你第371章 莫非換了個女朋友?第90章 衣進爵的戰役第120章 《數字混淆加密(簡易版)》第289章 對等原則第168章 本能反應第270章 夏如冰的遭遇第156章 你高興的太早了第332章 大功告成,樂不思蜀第90章 衣進爵的戰役第267章 數據增廣和集成學習第153章 眼氣誰呢這是?第336章 女爲悅己者容第72章 玩不起第138章 避蚊胺,登山第54章 專利第101章 偷換概念第242章 搞出問題怎麼辦?第166章 意外的變化第226章 還能剩下幾個?第146章 給你個眼神自己領會第428章 Hack Me的獎品第374章 手工打造LED顯示器第186章 有我七成功力了第330章 小孔成像和PNP問題第412章 小女盆友,青梅竹馬?第246章 Vigenère密碼和國王遊戲第263章 一切都在算計中第225章 papa別鬧!第320章 法無禁止即可爲第127章 只怪準備得太充分了第294章 峰迴路轉,轉了又轉第250章 幸虧有雙保險第108章 情趣第4章 萬界爬蟲系統第186章 有我七成功力了第93章 《泡沫》
主站蜘蛛池模板: 如东县| 格尔木市| 隆昌县| 宝鸡市| 全南县| 黄山市| 长汀县| 新沂市| 句容市| 克什克腾旗| 阿城市| 许昌市| 南华县| 平谷区| 志丹县| 上蔡县| 明光市| 霍山县| 车致| 揭东县| 清涧县| 武乡县| 汕头市| 肇东市| 鹤庆县| 广西| 山丹县| 漳浦县| 澄江县| 普格县| 禹城市| 韶关市| 青岛市| 星子县| 芦溪县| 定州市| 黄陵县| 建平县| 临汾市| 临澧县| 公主岭市|