逆向破解之160個CrackMe —— 002-003
阿新 • • 發佈:2019-08-10
CrackMe —— 002
160 CrackMe 是比較適合新手學習逆向破解的CrackMe的一個集合一共160個待逆向破解的程式
CrackMe:它們都是一些公開給別人嘗試破解的小程式,製作 crackme 的人可能是程式設計師,想測試一下自己的軟體保護技術,也可能是一位 cracker,想挑戰一下其它 cracker 的破解實力,也可能是一些正在學習破解的人,自己編一些小程式給自己破。
CrackMe簡稱CM。來源
編號 | 作者 | 保護方式 |
002 | Afkayas | Name/Serial(VB5) |
003 | Afkayas | Nag,Name/Serial(VB5) |
工具
x32dbg
KeyMake
開始破解之旅
ON.1
使用x32dbg開啟002號程式,執行
在輸入框輸入任意資料,點選按鈕 OK ,彈出視窗
爆破方式
搜尋字串 “Try Again”點進地址向上檢視,在 0040258B處下斷點 ,這裡是邏輯正確跳轉處
0040258B | 74 58 | je afkayas.1.4025E5 | 0040258D | 68 801B4000 | push afkayas.1.401B80 | 401B80:L"You Get It" 00402592 | 68 9C1B4000 | push afkayas.1.401B9C | 401B9C:L"\r\n" 00402597 | FFD7 | call edi | 00402599 | 8BD0 | mov edx,eax | 0040259B | 8D4D E8 | lea ecx,dword ptr ss:[ebp-0x18] | 0040259E | FFD3 | call ebx | 004025A0 | 50 | push eax | 004025A1 | 68 A81B4000 | push afkayas.1.401BA8 | 401BA8:L"KeyGen It Now" 004025A6 | FFD7 | call edi | 004025A8 | 8D4D 94 | lea ecx,dword ptr ss:[ebp-0x6C] | 004025AB | 8945 CC | mov dword ptr ss:[ebp-0x34],eax | 004025AE | 8D55 A4 | lea edx,dword ptr ss:[ebp-0x5C] | 004025B1 | 51 | push ecx | 004025B2 | 8D45 B4 | lea eax,dword ptr ss:[ebp-0x4C] | 004025B5 | 52 | push edx | 004025B6 | 50 | push eax | 004025B7 | 8D4D C4 | lea ecx,dword ptr ss:[ebp-0x3C] | 004025BA | 6A 00 | push 0x0 | 004025BC | 51 | push ecx | 004025BD | C745 C4 08000000 | mov dword ptr ss:[ebp-0x3C],0x8 | 004025C4 | FF15 10414000 | call dword ptr ds:[<&rtcMsgBox>] | 004025CA | 8D4D E8 | lea ecx,dword ptr ss:[ebp-0x18] | 004025CD | FF15 80414000 | call dword ptr ds:[<&__vbaFreeStr>] | 004025D3 | 8D55 94 | lea edx,dword ptr ss:[ebp-0x6C] | 004025D6 | 8D45 A4 | lea eax,dword ptr ss:[ebp-0x5C] | 004025D9 | 52 | push edx | 004025DA | 8D4D B4 | lea ecx,dword ptr ss:[ebp-0x4C] | 004025DD | 50 | push eax | 004025DE | 8D55 C4 | lea edx,dword ptr ss:[ebp-0x3C] | 004025E1 | 51 | push ecx | 004025E2 | 52 | push edx | 004025E3 | EB 56 | jmp afkayas.1.40263B | 004025E5 | 68 C81B4000 | push afkayas.1.401BC8 | 401BC8:L"You Get Wrong" 004025EA | 68 9C1B4000 | push afkayas.1.401B9C | 401B9C:L"\r\n" 004025EF | FFD7 | call edi |
再次點選 OK 按鈕,此時停在斷點處,ZF 標誌位為 1 ,雙擊改變標誌位為0,F9 執行
出現正確提示,修改 je 4025E5 為 NOP 儲存,輸入任意資料,點選按鈕,顯示正確彈窗。
註冊機方式
此處需要選擇寬字串
CrackMe —— 003
ON.1
使用x32dbg開啟003號程式,執行
出現了兩個視窗
左邊的視窗是要Kill掉的,右邊的則需要我們來爆破
ON.2
這裡使用4C方法來破解NAG視窗
來到入口點
00401170 | 68 D4674000 | push afkayas.2.4067D4 | 00401175 | E8 F0FFFFFF | call <JMP.&ThunRTMain> | 0040117A | 0000 | add byte ptr ds:[eax],al |
第一個push處轉到記憶體視窗,記憶體視窗地址為004067D4 ,4C就是這個地址加上4C
右鍵轉到->表示式
此時跳轉到00406820地址處
00406820 68 68 40 00 CC 67 40 00 7C 11 40 00 68 00 00 00 hh@.Ìg@.|[email protected]...
在該地址處右鍵“在當前記憶體視窗中轉到指定DWORD”
此時在00404888 和004048D8處各有兩個標誌位,該標誌位代表了程式載入視窗的啟動順序,先載入00後加載01,00就是我們要去除的NAG視窗,將兩個標誌位顛倒,便可以達到去除NAG視窗的效果。
繞過驗證方法和002相同 ( ̄▽ ̄)~*
&n