史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   Hacker/Cracker 及加解密技術文件 (http://forum.slime.com.tw/f132.html)
-   -   獻給破解新手的一種破解方法 (http://forum.slime.com.tw/thread166871.html)

psac 2006-01-26 11:03 PM

獻給破解新手的一種破解方法
 
獻給破解新手的一種破解方法

大家好!今天我給大家上傳一個crackme,這個程序的破解方法,獻給初次破解的新手。高手勿笑!

【破解作者】 戀愛季節
【作者郵信箱】 hstooo77@yahoo.com.cn
【作者主頁】 QQ:318536143
【使用工具】 flyDBG.exe
【破解平台】 XP
【軟體名稱】 AD_CM#2.exe
【軟體大小】 4.00KB
【破解時間】 2005年10月27日
【破解聲明】 我是一隻小菜鳥,偶得一點心得,願與版主分享:)
--------------------------------------------------------------------------------

【破解內容】

首先執行flyDBG,然後在flyDBG中開啟AD_CM#2.exe,分析程式碼,右擊滑鼠點擊搜尋字串參考。
在彈出的對話視窗中雙按ASCII "Yeah, you did it!",返回到CPU視窗

00401134 |> |6A 14 push 14 ; /Count = 14 (20.)
00401136 |. |68 80324000 push AD_CM#2.00403280 ; |Buffer = AD_CM#2.00403280
0040113B |. |68 B90B0000 push 0BB9 ; |ControlID = BB9 (3001.)
00401140 |. |FF75 08 push dword ptr ss:[ebp+8] ; |hWnd
00401143 |. |E8 42000000 call <jmp.&USER32.GetDlgItemTextA> ; \GetDlgItemTextA
00401148 |. |B8 80304000 mov eax, AD_CM#2.00403080
0040114D |. |BB 80324000 mov ebx, AD_CM#2.00403280
00401152 |. |8BCE mov ecx, esi
00401154 |> |8A10 /mov dl, byte ptr ds:[eax]
00401156 |. |2AD1 |sub dl, cl
00401158 |. |3813 |cmp byte ptr ds:[ebx], dl
0040115A |. |75 18 |jnz short AD_CM#2.00401174
0040115C |. |40 |inc eax
0040115D |. |43 |inc ebx
0040115E |.^|E2 F4 \loopd short AD_CM#2.00401154
00401160 |. |6A 40 push 40 ; /Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL
00401162 |. |68 12304000 push AD_CM#2.00403012 ; |Title = "ArturDents CrackMe#2"
00401167 |. |68 27304000 push AD_CM#2.00403027 ; |Text = "Yeah, you did it!"

向上找call,在00401136處下斷,按F9執行程序,出現了註冊視窗
輸入name:戀愛季節
serial:79797979
點擊Checkt it,baby!中斷了下來,雙按中斷這一行,復原中斷點,一路按F8來到00401148,看到註釋欄裡的79797979
00401148 |. B8 80304000 mov eax, AD_CM#2.00403080
0040114D |. BB 80324000 mov ebx, AD_CM#2.00403280 ; ASCII "79797979"

在按F8來到00401158
00401158 |. 3813 |cmp byte ptr ds:[ebx], dl
此時在下面可以看到ds:[ebx]=37('7') dl=B9('?) 表示「79797979」中的第一個字串7的十六進制與B9比較
若相等,就進行下一輪比較,不等就失敗。
按F8,下面顯示跳轉已經實現,這時雙按暫存器視窗中的z 0,使之變為z 1,意思是不讓跳轉實現,這時再按F8

又循環到00401158
00401158 |. 3813 |cmp byte ptr ds:[ebx], dl
在下面可以看到ds:[ebx]=39('9') dl=AE('?) 表示「79797979」中的第二個字串9的十六進制與與AE比較
若相等,就進行下一輪比較,不等就失敗。
按F8,下面顯示跳轉已經實現,這時雙按暫存器視窗中的z 0,使之變為z 1,意思是不讓跳轉實現,這時再按F8

又循環到00401158
在下面可以看到ds:[ebx]=37('7') dl=AA('?) 表示「79797979」中的第三個字串7的十六進制與與AA比較
若相等,就進行下一輪比較,不等就失敗。
按F8,下面顯示跳轉已經實現,這時雙按暫存器視窗中的z 0,使之變為z 1,意思是不讓跳轉實現,這時再按F8

又循環到00401158
在下面可以看到ds:[ebx]=39('9') dl=A9('?) 表示「79797979」中的第四個字串9的十六進制與與A9比較
若相等,就進行下一輪比較,不等就失敗。
按F8,下面顯示跳轉已經實現,這時雙按暫存器視窗中的z 0,使之變為z 1,意思是不讓跳轉實現,這時再按F8

又循環到00401158
在下面可以看到ds:[ebx]=37('7') dl=B8 表示「79797979」中的第五個字串7的十六進制與與B8比較
若相等,就進行下一輪比較,不等就失敗。
按F8,下面顯示跳轉已經實現,這時雙按暫存器視窗中的z 0,使之變為z 1,意思是不讓跳轉實現,這時再按F8

又循環到00401158
在下面可以看到ds:[ebx]=39('9') dl=BB 表示「79797979」中的第六個字串9的十六進制與與BB比較
若相等,就進行下一輪比較,不等就失敗。
按F8,下面顯示跳轉已經實現,這時雙按暫存器視窗中的z 0,使之變為z 1,意思是不讓跳轉實現,這時再按F8

又循環到00401158
在下面可以看到ds:[ebx]=37('7') dl=BB 表示「79797979」中的第七個字串7的十六進制與與BB比較
若相等,就進行下一輪比較,不等就失敗。
按F8,下面顯示跳轉已經實現,這時雙按暫存器視窗中的z 0,使之變為z 1,意思是不讓跳轉實現,這時再按F8

又循環到00401158
在下面可以看到ds:[ebx]=39('9') dl=D9('?) 表示「79797979」中的第八個字串9的十六進制與與D9比較

到此對應戀愛季節的真碼就是B9 AE AA A9 B8 BB BB D9所對應的ASCII值,對應的值是「鞏H富毀」
用戶名:戀愛季節
sn :鞏H富毀

到此破解就告一段落了
有興趣的話,希望大俠能夠寫一下記憶體註冊機
指點小弟一二,在此謝過!
--------------------------------------------------------------------------------

【破解總結】

這個軟體是一個字串一個字串的進行比對,適用於用戶名是字母型、數位型或字母數位混合型,
對於漢字型的用戶名所對應的serial也是漢字型,此漢字型不好尋找,
故希望大家還是用字母型、數位型或字母數位混合型進行破解驗證。
--------------------------------------------------------------------------------


所有時間均為台北時間。現在的時間是 10:51 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1