逆向破解之160個CrackMe 029

2022-07-04 11:24:11 字數 4191 閱讀 5001

160 crackme 是比較適合新手學習逆向破解的crackme的乙個集合一共160個待逆向破解的程式

crackme:它們都是一些公開給別人嘗試破解的小程式,製作 crackme 的人可能是程式設計師,想測試一下自己的軟體保護技術,也可能是一位 cracker,想挑戰一下其它 cracker 的破解實力,也可能是一些正在學習破解的人,自己編一些小程式給自己破。

crackme簡稱cm。

x32dbg

首先使用x32dbg開啟029號程式,搜尋字串

這裡我們看到了正確資訊提示符和錯誤資訊提示符

進入正確資訊提示符位址004015e0處

0040159a | 8b45 f0                  | mov eax,dword ptr ss:[ebp-10

] |

0040159d | 8a18 | mov bl,byte ptr ds:

[eax] |

0040159f | 32d9 | xor

bl,cl |

004015a1 | 8818 | mov byte ptr ds:

[eax],bl |

004015a3 | 41 | inc

ecx |

004015a4 | 40 | inc

eax |

004015a5 | 8038

00 | cmp byte ptr ds:[eax],0

|004015a8 | 75 f3 | jne cosh.3.40159d

|004015aa | 8b45 e4 | mov eax,dword ptr ss:

[ebp-1c] |

004015ad | 8b55 f0 | mov edx,dword ptr ss:[ebp-10] | edx:

entrypoint

004015b0 | 33c9 | xor

ecx,ecx |

004015b2 | 8a18 | mov bl,byte ptr ds:

[eax] |

004015b4 | 8a0a | mov cl,byte ptr ds:[edx] | edx:

entrypoint

004015b6 | 3ad9 | cmp

bl,cl |

004015b8 | 75

09 | jne cosh.3.4015c3

| 此處驗證跳轉

004015ba | 40 | inc

eax |

004015bb | 42 | inc edx | edx:

entrypoint

004015bc | 8038

00 | cmp byte ptr ds:[eax],0

|004015bf | 75 ef | jne cosh.3.4015b0

| 此處驗證跳轉

004015c1 | eb 16 | jmp cosh.3.4015d9

|004015c3 | 6a 00 | push0|

004015c5 | 68 6c304000 | push cosh.3.40306c | 40306c:"

error

"004015ca | 68

40304000 | push cosh.3.403040 | 403040:"

one of the details you entered was wrong

"004015cf | 8b4d e0 | mov ecx,dword ptr ss:[ebp-20

] |

004015d2 | e8 bb020000 | call

> |

004015d7 | eb 14 | jmp cosh.3.4015ed

|004015d9 | 6a 00 | push0|

004015db | 68

34304000 | push cosh.3.403034 | 403034:"

you did it

"004015e0 | 68

20304000 | push cosh.3.403020 | 403020:"

well done,cracker

"004015e5 | 8b4d e0 | mov ecx,dword ptr ss:[ebp-20

] |

004015e8 | e8 a5020000 | call

> |

004015ed | 6a 64 | push64|

004015ef | ff15 00204000 | call dword ptr ds: |

我們看到在位址004015bf處經過jmp來到了正確提示符處,這裡就是驗證註冊碼正確性的地方,在繼續向上翻看,也有驗證位址為004015b8,此處驗證失敗也會跳轉到錯誤的地方

我們將這兩個位址修改為nop,f9執行輸入任意字元點選check按鈕

bingo ~ 破解成功

在上方還會有多處驗證判斷,判斷輸入格式是否正確

我們看到00401580位址到00401587位址為name計算的方法

使用python**為

bingo ~ 破解成功

在追碼的過程中當我們不知道cl的值時可以**下方的視窗推測出來

逆向破解之160個CrackMe 020

160 crackme 是比較適合新手學習逆向破解的crackme的乙個集合一共160個待逆向破解的程式 crackme 它們都是一些公開給別人嘗試破解的小程式,製作 crackme 的人可能是程式設計師,想測試一下自己的軟體保護技術,也可能是一位 cracker,想挑戰一下其它 cracker 的...

逆向破解之160個CrackMe 014

160 crackme 是比較適合新手學習逆向破解的crackme的乙個集合一共160個待逆向破解的程式 crackme 它們都是一些公開給別人嘗試破解的小程式,製作 crackme 的人可能是程式設計師,想測試一下自己的軟體保護技術,也可能是一位 cracker,想挑戰一下其它 cracker 的...

逆向破解之160個CrackMe 007

160 crackme 是比較適合新手學習逆向破解的crackme的乙個集合一共160個待逆向破解的程式 crackme 它們都是一些公開給別人嘗試破解的小程式,製作 crackme 的人可能是程式設計師,想測試一下自己的軟體保護技術,也可能是一位 cracker,想挑戰一下其它 cracker 的...