1. 程式人生 > >160個破解練習之CrackMe 007

160個破解練習之CrackMe 007

第七個軟體與第六個類似,同一個作者,軟體介面如下:


        軟體有兩個文字框,三個按鈕,點選說明按鈕時,和上一個軟體的提示類似,也是要求隱藏下面的按鈕,使下面的Logo顯示完全才算破解。

這個軟體也是使用Delphi寫的,那麼我們直接使用Delphi專用的逆向軟體分析下事件:


         通過分析發現,程式隱藏了一個按鈕,按按鈕的意思,就應該是先單擊Register按鈕,然後再單擊again按鈕完成破解,接下來我們就用OD具體分析下:

我們先用OD載入,然後在按鈕單擊事件那下斷,然後輸入11111和22222,單擊按鈕,在按鈕事件處斷下:

00442F28  /.  55            push ebp                                 ;  註冊按鈕單擊
00442F29  |.  8BEC          mov ebp,esp
00442F2B  |.  83C4 F8       add esp,-0x8
00442F2E  |.  53            push ebx
00442F2F  |.  56            push esi
00442F30  |.  33C9          xor ecx,ecx                              ;  aLoNg3x_.0041E570
00442F32  |.  894D F8       mov [local.2],ecx                        ;  aLoNg3x_.0041E570
00442F35  |.  8BD8          mov ebx,eax
00442F37  |.  33C0          xor eax,eax
00442F39  |.  55            push ebp
00442F3A  |.  68 22304400   push aLoNg3x_.00443022
00442F3F  |.  64:FF30       push dword ptr fs:[eax]
00442F42  |.  64:8920       mov dword ptr fs:[eax],esp
00442F45  |.  8D55 F8       lea edx,[local.2]
00442F48  |.  8B83 DC020000 mov eax,dword ptr ds:[ebx+0x2DC]         ;  codice文字框ID
00442F4E  |.  E8 ED02FEFF   call aLoNg3x_.00423240                   ;  獲取codice輸入字串
00442F53  |.  8B45 F8       mov eax,[local.2]                        ;  字串
00442F56  |.  8D55 FC       lea edx,[local.1]
00442F59  |.  E8 FAF9FBFF   call aLoNg3x_.00402958                   ;  判斷文字框2,正常返回0
00442F5E  |.  8BF0          mov esi,eax
00442F60  |.  837D FC 00    cmp [local.1],0x0                        ;  如果輸入合法就跳轉
00442F64  |.  74 37         je short aLoNg3x_.00442F9D
00442F66  |.  B8 38304400   mov eax,aLoNg3x_.00443038                ;  ASCII 59,"ou MUST insert a valid Long Integer Value in the Code Editor... Thank you :)"
00442F6B  |.  E8 00F6FFFF   call aLoNg3x_.00442570
00442F70  |.  8D55 F8       lea edx,[local.2]
00442F73  |.  8B83 DC020000 mov eax,dword ptr ds:[ebx+0x2DC]
00442F79  |.  E8 C202FEFF   call aLoNg3x_.00423240
00442F7E  |.  8B45 F8       mov eax,[local.2]                        ;  user32.777678CB
00442F81  |.  E8 06FBFFFF   call aLoNg3x_.00442A8C                   ;  關鍵
00442F86  |.  A3 30584400   mov dword ptr ds:[0x445830],eax
00442F8B  |.  BA 90304400   mov edx,aLoNg3x_.00443090                ;  UNICODE "0"
00442F90  |.  8B83 DC020000 mov eax,dword ptr ds:[ebx+0x2DC]
00442F96  |.  E8 D502FEFF   call aLoNg3x_.00423270
00442F9B  |.  EB 6F         jmp short aLoNg3x_.0044300C
00442F9D  |>  85F6          test esi,esi
00442F9F  |.  7E 5A         jle short aLoNg3x_.00442FFB
00442FA1  |.  8D55 F8       lea edx,[local.2]
00442FA4  |.  8B83 D8020000 mov eax,dword ptr ds:[ebx+0x2D8]
00442FAA  |.  E8 9102FEFF   call aLoNg3x_.00423240
00442FAF  |.  8B4D F8       mov ecx,[local.2]                        ;  user32.777678CB
00442FB2  |.  8BD6          mov edx,esi
00442FB4  |.  A1 30584400   mov eax,dword ptr ds:[0x445830]
00442FB9  |.  E8 EAF9FFFF   call aLoNg3x_.004429A8                   ;  關鍵的call
00442FBE  |.  84C0          test al,al                               ;  關鍵比較
00442FC0  |.  74 30         je short aLoNg3x_.00442FF2
00442FC2  |.  33D2          xor edx,edx
00442FC4  |.  8B83 CC020000 mov eax,dword ptr ds:[ebx+0x2CC]         ;  左邊按鈕id
00442FCA  |.  E8 6101FEFF   call aLoNg3x_.00423130                   ;  隱藏按鈕
00442FCF  |.  B2 01         mov dl,0x1
00442FD1  |.  8B83 E8020000 mov eax,dword ptr ds:[ebx+0x2E8]
00442FD7  |.  E8 5401FEFF   call aLoNg3x_.00423130


        按鈕單擊事件裡面主要做的是:獲取下面文字框輸入的數,然後判斷輸入是否異常,如果正常就跳到下面繼續執行,如果異常,會彈出異常提示。

        那麼在正常處執行時,有一個關鍵比較test al,al,很明顯上面就是關鍵call,我們先不管關鍵call裡面是什麼,就看比較後面的跳轉,如果沒有跳轉,就會隱藏左邊的按鈕,然後顯示右邊的按鈕,我們我們必須在關鍵call裡使返回的al值不為0就好了。

       關鍵call的程式碼如下:

004429A8  /$  55            push ebp                                 ;  關鍵call
004429A9  |.  8BEC          mov ebp,esp
004429AB  |.  83C4 F4       add esp,-0xC
004429AE  |.  53            push ebx
004429AF  |.  56            push esi
004429B0  |.  57            push edi
004429B1  |.  894D F8       mov [local.2],ecx                        ;  aLoNg3x_.0041E570
004429B4  |.  8955 FC       mov [local.1],edx
004429B7  |.  8BF8          mov edi,eax
004429B9  |.  8B45 F8       mov eax,[local.2]                        ;  user32.777678CB
004429BC  |.  E8 2712FCFF   call aLoNg3x_.00403BE8
004429C1  |.  33C0          xor eax,eax
004429C3  |.  55            push ebp
004429C4  |.  68 7A2A4400   push aLoNg3x_.00442A7A
004429C9  |.  64:FF30       push dword ptr fs:[eax]
004429CC  |.  64:8920       mov dword ptr fs:[eax],esp
004429CF  |.  8B45 F8       mov eax,[local.2]                        ;  user32.777678CB
004429D2  |.  E8 5D10FCFF   call aLoNg3x_.00403A34
004429D7  |.  83F8 04       cmp eax,0x4                              ;  輸入長度大於4
004429DA  |.  0F8E 82000000 jle aLoNg3x_.00442A62
004429E0  |.  33DB          xor ebx,ebx
004429E2  |.  8B45 F8       mov eax,[local.2]                        ;  user32.777678CB
004429E5  |.  E8 4A10FCFF   call aLoNg3x_.00403A34
004429EA  |.  85C0          test eax,eax
004429EC  |.  7E 38         jle short aLoNg3x_.00442A26
004429EE  |.  8945 F4       mov [local.3],eax
004429F1  |.  BE 01000000   mov esi,0x1
004429F6  |>  8B45 F8       /mov eax,[local.2]                       ;  nome字串
004429F9  |.  E8 3610FCFF   |call aLoNg3x_.00403A34                  ;  獲取長度
004429FE  |.  83F8 01       |cmp eax,0x1
00442A01  |.  7C 1D         |jl short aLoNg3x_.00442A20
00442A03  |>  8B55 F8       |/mov edx,[local.2]                      ;  user32.777678CB
00442A06  |.  0FB65432 FF   ||movzx edx,byte ptr ds:[edx+esi-0x1]
00442A0B  |.  8B4D F8       ||mov ecx,[local.2]                      ;  user32.777678CB
00442A0E  |.  0FB64C01 FF   ||movzx ecx,byte ptr ds:[ecx+eax-0x1]
00442A13  |.  0FAFD1        ||imul edx,ecx                           ;  aLoNg3x_.0041E570
00442A16  |.  0FAFD7        ||imul edx,edi
00442A19  |.  03DA          ||add ebx,edx
00442A1B  |.  48            ||dec eax
00442A1C  |.  85C0          ||test eax,eax
00442A1E  |.^ 75 E3         |\jnz short aLoNg3x_.00442A03
00442A20  |>  46            |inc esi
00442A21  |.  FF4D F4       |dec [local.3]
00442A24  |.^ 75 D0         \jnz short aLoNg3x_.004429F6
00442A26  |>  8BC3          mov eax,ebx
00442A28  |.  99            cdq
00442A29  |.  33C2          xor eax,edx
00442A2B  |.  2BC2          sub eax,edx
00442A2D  |.  B9 2A2C0A00   mov ecx,0xA2C2A
00442A32  |.  99            cdq
00442A33  |.  F7F9          idiv ecx                                 ;  aLoNg3x_.0041E570
00442A35  |.  8BDA          mov ebx,edx
00442A37  |.  8B45 FC       mov eax,[local.1]
00442A3A  |.  B9 59000000   mov ecx,0x59
00442A3F  |.  99            cdq
00442A40  |.  F7F9          idiv ecx                                 ;  aLoNg3x_.0041E570
00442A42  |.  8BC8          mov ecx,eax
00442A44  |.  8B45 FC       mov eax,[local.1]
00442A47  |.  BE 50000000   mov esi,0x50
00442A4C  |.  99            cdq
00442A4D  |.  F7FE          idiv esi
00442A4F  |.  03CA          add ecx,edx                              ;  取膜
00442A51  |.  41            inc ecx                                  ;  aLoNg3x_.0041E570
00442A52  |.  894D FC       mov [local.1],ecx                        ;  aLoNg3x_.0041E570
00442A55  |.  3B5D FC       cmp ebx,[local.1]
00442A58  |.  75 04         jnz short aLoNg3x_.00442A5E
00442A5A  |.  B3 01         mov bl,0x1
00442A5C  |.  EB 06         jmp short aLoNg3x_.00442A64
00442A5E  |>  33DB          xor ebx,ebx
00442A60  |.  EB 02         jmp short aLoNg3x_.00442A64
00442A62  |>  33DB          xor ebx,ebx
00442A64  |>  33C0          xor eax,eax
00442A66  |.  5A            pop edx                                  ;  aLoNg3x_.004245C0
00442A67  |.  59            pop ecx                                  ;  aLoNg3x_.004245C0
00442A68  |.  59            pop ecx                                  ;  aLoNg3x_.004245C0
00442A69  |.  64:8910       mov dword ptr fs:[eax],edx
00442A6C  |.  68 812A4400   push aLoNg3x_.00442A81
00442A71  |>  8D45 F8       lea eax,[local.2]
00442A74  |.  E8 3F0DFCFF   call aLoNg3x_.004037B8
00442A79  \.  C3            retn
00442A7A   .^ E9 F907FCFF   jmp aLoNg3x_.00403278
00442A7F   .^ EB F0         jmp short aLoNg3x_.00442A71
00442A81   .  8BC3          mov eax,ebx
00442A83   .  5F            pop edi                                  ;  aLoNg3x_.004245C0
00442A84   .  5E            pop esi                                  ;  aLoNg3x_.004245C0
00442A85   .  5B            pop ebx                                  ;  aLoNg3x_.004245C0
00442A86   .  8BE5          mov esp,ebp
00442A88   .  5D            pop ebp                                  ;  aLoNg3x_.004245C0
00442A89   .  C3            retn


       在關鍵call裡,要求第一個文字框輸入的長度大於4,然後後面有一套有兩個迴圈的計算流程,這裡的計算與兩個值有關,一個是第一個文字框的輸入,一個是暫存器edi的值,但是這裡暫存器edi的值始終為0,所以計算得到的值始終為0,計算後的值儲存在暫存器ebx中,這裡ebx為0。

       在關鍵call迴圈計算的後面,又有一個計算,先獲取文字框2的輸入數字,然後用這個數字除以0x59,然後用這個數與0x50取膜,將計算的這兩個結果相加,然後加1,將這最後的結果與ebx比較,如果相等,這個關鍵call返回的結果就是1,否則關鍵call返回0,因此我們必須保證這兩個值相等,後面的破解就成功了一步。

      那麼我們就來看這裡的edi暫存器在前面是怎麼被賦值的,在這個關鍵call裡 edi 的值從eax暫存器獲得,那麼我們就看在呼叫關鍵call前eax暫存器的值,在呼叫這個關鍵call前面是mov eax,dword ptr ds:[0x445830],eax的值從這個記憶體地址獲得,但是通過搜尋這個記憶體地址發現,這個地址的值在上面輸入異常跳轉中被賦值。

      所以現在要做的就是判斷這個記憶體的值是怎麼賦值的,當下面的文字框輸入的數比較大時就會判斷輸入異常,我們具體看判斷異常的部分,在上面的程式碼中有備註為判斷文字框2:

004029A6  |>  84DB          test bl,bl                               ;  Default case of switch 00402975
004029A8  |. |74 34         je short aLoNg3x_.004029DE
004029AA  |> |80EB 30       /sub bl,0x30
004029AD  |. |80FB 09       |cmp bl,0x9
004029B0  |. |77 2C         |ja short aLoNg3x_.004029DE
004029B2  |. |39F8          |cmp eax,edi
004029B4  |. |77 28         |ja short aLoNg3x_.004029DE
004029B6  |. |8D0480        |lea eax,dword ptr ds:[eax+eax*4]
004029B9  |. |01C0          |add eax,eax
004029BB  |. |01D8          |add eax,ebx
004029BD  |. |8A1E          |mov bl,byte ptr ds:[esi]
004029BF  |. |46            |inc esi
004029C0  |. |84DB          |test bl,bl
004029C2  |.^|75 E6         \jnz short aLoNg3x_.004029AA
004029C4  |> |FECD          dec ch
004029C6  |. |74 10         je short aLoNg3x_.004029D8
004029C8  |. |85C0          test eax,eax
004029CA  |. |7C 12         jl short aLoNg3x_.004029DE
004029CC  |> |59            pop ecx                                  ;  SogouPY.101A6679
004029CD  |. |31F6          xor esi,esi
004029CF  |> |8932          mov dword ptr ds:[edx],esi
004029D1  |. |5F            pop edi                                  ;  SogouPY.101A6679
004029D2  |. |5E            pop esi                                  ;  SogouPY.101A6679
004029D3  |. |5B            pop ebx                                  ;  SogouPY.101A6679
004029D4  |. |C3            retn
004029D5  |> |46            inc esi
004029D6  |. |EB 06         jmp short aLoNg3x_.004029DE
004029D8  |> |F7D8          neg eax


        上面貼出的是程式碼的關鍵部分,如果上面的迴圈正常執行完的話,返回的就是0,也就是沒有異常,如果從前面的ja跳轉,那麼返回的就不是0,很明顯我們只要輸入一個ASCII碼大於0x39的數就會從ja跳轉,0x39就是9,即我們輸入A就會跳轉,或者,通過計算累計的值大於edi暫存器的值也會跳轉,edi暫存器的值固定為0xCCCCCCC,那麼我們在文字框輸入一個比較大的值如:12345678910,再除錯。

測試發現,彈出了異常如下:


         提示要輸入一個有效的整數,我們繼續跟進,發現獲取了第二個文字框輸入的值儲存在eax中,然後呼叫了一個函式,我們跟進這個函式,程式碼如下:

00442A8C  /$  55            push ebp
00442A8D  |.  8BEC          mov ebp,esp
00442A8F  |.  51            push ecx                                 ;  user32.777678F4
00442A90  |.  53            push ebx
00442A91  |.  56            push esi
00442A92  |.  57            push edi
00442A93  |.  8945 FC       mov [local.1],eax
00442A96  |.  8B45 FC       mov eax,[local.1]
00442A99  |.  E8 4A11FCFF   call aLoNg3x_.00403BE8
00442A9E  |.  33C0          xor eax,eax
00442AA0  |.  55            push ebp
00442AA1  |.  68 212B4400   push aLoNg3x_.00442B21
00442AA6  |.  64:FF30       push dword ptr fs:[eax]
00442AA9  |.  64:8920       mov dword ptr fs:[eax],esp
00442AAC  |.  8B45 FC       mov eax,[local.1]
00442AAF  |.  E8 800FFCFF   call aLoNg3x_.00403A34
00442AB4  |.  83F8 05       cmp eax,0x5
00442AB7  |.  7E 3D         jle short aLoNg3x_.00442AF6
00442AB9  |.  BE 7B030000   mov esi,0x37B
00442ABE  |.  8B45 FC       mov eax,[local.1]
00442AC1  |.  E8 6E0FFCFF   call aLoNg3x_.00403A34
00442AC6  |.  8BD8          mov ebx,eax
00442AC8  |.  4B            dec ebx
00442AC9  |.  85DB          test ebx,ebx
00442ACB  |.  7E 2B         jle short aLoNg3x_.00442AF8
00442ACD  |.  B9 01000000   mov ecx,0x1
00442AD2  |>  8B45 FC       /mov eax,[local.1]
00442AD5  |.  0FB60408      |movzx eax,byte ptr ds:[eax+ecx]
00442AD9  |.  BF 11000000   |mov edi,0x11
00442ADE  |.  33D2          |xor edx,edx
00442AE0  |.  F7F7          |div edi
00442AE2  |.  42            |inc edx
00442AE3  |.  8B45 FC       |mov eax,[local.1]
00442AE6  |.  0FB64408 FF   |movzx eax,byte ptr ds:[eax+ecx-0x1]
00442AEB  |.  0FAFD0        |imul edx,eax
00442AEE  |.  03F2          |add esi,edx
00442AF0  |.  41            |inc ecx                                 ;  user32.777678F4
00442AF1  |.  4B            |dec ebx
00442AF2  |.^ 75 DE         \jnz short aLoNg3x_.00442AD2
00442AF4  |.  EB 02         jmp short aLoNg3x_.00442AF8
00442AF6  |>  33F6          xor esi,esi
00442AF8  |>  8BC6          mov eax,esi
00442AFA  |.  B9 48710000   mov ecx,0x7148
00442AFF  |.  99            cdq
00442B00  |.  F7F9          idiv ecx                                 ;  user32.777678F4
00442B02  |.  8BC2          mov eax,edx
00442B04  |.  99            cdq
00442B05  |.  33C2          xor eax,edx
00442B07  |.  2BC2          sub eax,edx
00442B09  |.  8BD8          mov ebx,eax
00442B0B  |.  33C0          xor eax,eax
00442B0D  |.  5A            pop edx                                  ;  aLoNg3x_.00442F86
00442B0E  |.  59            pop ecx                                  ;  aLoNg3x_.00442F86
00442B0F  |.  59            pop ecx                                  ;  aLoNg3x_.00442F86
00442B10  |.  64:8910       mov dword ptr fs:[eax],edx
00442B13  |.  68 282B4400   push aLoNg3x_.00442B28
00442B18  |>  8D45 FC       lea eax,[local.1]
00442B1B  |.  E8 980CFCFF   call aLoNg3x_.004037B8
00442B20  \.  C3            retn
00442B21   .^ E9 5207FCFF   jmp aLoNg3x_.00403278
00442B26   .^ EB F0         jmp short aLoNg3x_.00442B18
00442B28   .  8BC3          mov eax,ebx
00442B2A   .  5F            pop edi                                  ;  aLoNg3x_.00442F86
00442B2B   .  5E            pop esi                                  ;  aLoNg3x_.00442F86
00442B2C   .  5B            pop ebx                                  ;  aLoNg3x_.00442F86
00442B2D   .  59            pop ecx                                  ;  aLoNg3x_.00442F86
00442B2E   .  5D            pop ebp                                  ;  aLoNg3x_.00442F86
00442B2F   .  C3            retn


       這個函式的作用也就是根據第二個文字框輸入的值,計算得到一個值然後儲存在eax中再返回,計算的值與第一個文字框的值有關,在一個迴圈裡取值然後獲取位元組ASCII嗎再計算,例如我這裡輸入22222,計算得到0x1313,也就是後面關鍵call的edi暫存器的值是0x1313。然後在關鍵call中根據22222和edi的值計算得到的值是0x7F3B2,即如果我們輸入的第二個文字框的值通過計算後的值也是0x7F3B2,那麼就會得到想要的結果。通過計算得到這個值是46381121(十六進位制2C3B841),即0x2C3B841/0x59+0x2C3B841%50+1=0x7F3B2。

輸入後我們發現程式變成了上面的樣子,第一個文字框變成了禁用狀態,左邊的按鈕被隱藏了,右邊的按鈕被啟用。,那麼我們對右邊的按鈕函式下斷,發現右邊按鈕的函式和左邊按鈕的函式是類似的,是一個重複的過程,那麼我們可以總結如下:

1、輸入一個使文字框2提示異常的數,如12345678910,文字框1輸入一個正常的數如22222,會根據22222的值計算得到一個值edi

2、文字框2輸入一個值使得計算後得到的值和文字框1與edi計算得到的值相等,這裡是46381121

3、重複上面兩步一遍,結果如下:


有了上面的思路,寫註冊機比較容易了,就不寫了

相關推薦

160破解練習CrackMe 007

第七個軟體與第六個類似,同一個作者,軟體介面如下:         軟體有兩個文字框,三個按鈕,點選說明按鈕時,和上一個軟體的提示類似,也是要求隱藏下面的按鈕,使下面的Logo顯示完全才算破解。 這個軟體也是使用Delphi寫的,那麼我們直接使用Delphi專用的逆

160破解練習CrackMe 006

直接進入正題,有了前面幾個分析Delphi程式的基礎,再分析這個程式就不會沒有頭緒了,首先開啟程式介面如下: 程式比較簡單,兩個輸入框,三個按鈕,其中一個按鈕禁用,其中一個按鈕有提示如下資訊:       這個1.0版本的軟體的目的是使 “ ok ” 和 ” Can

160破解練習2-Afkayas.1.Exe

好了,今天我們來破解這個小程式。 首先,把檔案載入PEiD,檢視檔案的基本資訊,看看是否帶殼。載入後的資訊如下圖: 可以看到這個程式使用VB寫的,不帶殼,好了,可以破解了。 開啟這個程式,出現彈窗 隨便輸入幾個字元,點選OK 載入IDA,搜素文字“...Wrong”,

160crackme005ajj.2破解思路及手脫UPX殼還有手動修復IAT

(感覺標題好長 哎呀 不重要了 本文以一個新手的角度來寫)我們先觀察下都給了什麼還有一個txt文字 開啟看看 我還百度了下SOFTICE和TRW 至於TRW不知道是不是這個TRW2000操作手冊https://www.pediy.com/kssd/tutori

吾愛破解160crackme014

題目是vb的,沒有加殼,比較傳統簡單的題目。 輸入123456789,開啟vbcompiler,找到函式斷點下斷即可, 因為較簡單,就不細說,關鍵程式碼如下: 004036E5 . 83F8 09 cmp eax,0x9 004036

逆向破解160CrackMe —— 001

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

逆向破解160CrackMe —— 002-003

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

逆向破解160CrackMe —— 004-005

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

逆向破解160CrackMe —— 013

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

逆向破解160CrackMe —— 014

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

逆向破解160CrackMe —— 016

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

逆向破解160CrackMe —— 017

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

逆向破解160CrackMe —— 018

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

逆向破解160CrackMe —— 025

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

逆向破解160CrackMe —— 026

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

逆向破解160CrackMe —— 030

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

【 專欄 】- 160crackme破解思路分享

160個crackme破解思路分享 160個crackme破解思路分享~~~小白的思路 大佬勿噴 160個CrackMe的打包檔案下載地址: 下載地址:https://pan.baidu.com/s/150wDRlmXTQj

日拱一卒——160crackme#6

今天我們用的是第六個附件 aLoNg3x.1.exe 我們先執行這個軟體看看, 誒,有個help,我最喜看幫助了,看看有什麼內容, 圖就不截了,作者大概是說破解成功的話,OK按鈕會變成可用狀態,Cancella會被刪掉, 好了,直接載入OD

160crackme(6)----aLoNg3x(詳細非暴力破解

測試輸入nome和codice發現nome最多可以輸入10個字元,codice沒有限制用PEiD查殼,無殼並且發現是Delphi編寫的程式 作者在這裡提示說要隱藏OK和cancella按鈕,最後就可以看到Ringzer0 logo這裡總結對Delphi下斷點的方法:(1)找到

[CrackMe]160CrackMe002

吾愛破解專題彙總:【反彙編練習】160個CrackME索引目錄1~160建議收藏備用 一、逆向分析之暴力破解   暴力破解,對於這種具有提示框的,很好定位。   定位好之後,爆破其跳轉語句,就能達到破解目的。   當然,我們之後還會分析其演算法寫出註冊機。     1)點選OK,彈出標題上的對話