160 - 7 aLoNg3x.2

環境:

Windows Xp sp3


打開程序,看了幫助發現要求還是看到那個logo,

但是這次少了個按鈕,真棒!

但是這次的Codice卻是什么都可以輸入進去了。


查一下殼發現還是Delphi程序。


因為還是Delphi的程序,有了前幾次的經驗,一下來到這里:

0044290F   . /982B4400      dd aLoNg3x_.00442B98
00442913   . |0D            db 0D
00442914   . |43 61 6E 63 6>ascii "CancellaClick"
00442921     |11            db 11
00442922     |00            db 00
00442923   . |C82C4400      dd aLoNg3x_.00442CC8
00442927   . |0A            db 0A
00442928   . |41 62 6F 75 7>ascii "AboutClick"
00442932     |15            db 15
00442933     |00            db 00
00442934   . |282F4400      dd aLoNg3x_.00442F28
00442938   . |0E            db 0E
00442939   . |52 65 67 69 7>ascii "RegisterzClick"
00442947     |11            db 11
00442948     |00            db 00
00442949   . |BC304400      dd aLoNg3x_.004430BC
0044294D   . |0A            db 0A
0044294E   . |41 67 61 69 6>ascii "AgainClick"


原來是假的,還是有兩個按鈕的,只是Again那個東西隱藏起來而已。

上次首先按的是Cancella這個東西,所以這次首先從這里跟進去:

00442B98  /.  55            push ebp                                
00442B99  |.  8BEC          mov ebp,esp
00442B9B  |.  6A 00         push 0x0
00442B9D  |.  6A 00         push 0x0
00442B9F  |.  6A 00         push 0x0
00442BA1  |.  53            push ebx
00442BA2  |.  8BD8          mov ebx,eax
00442BA4  |.  33C0          xor eax,eax
00442BA6  |.  55            push ebp
00442BA7  |.  68 9C2C4400   push aLoNg3x_.00442C9C
00442BAC  |.  64:FF30       push dword ptr fs:[eax]
00442BAF  |.  64:8920       mov dword ptr fs:[eax],esp
00442BB2  |.  8D55 F8       lea edx,[local.2]
00442BB5  |.  8B83 DC020000 mov eax,dword ptr ds:[ebx+0x2DC]
00442BBB  |.  E8 8006FEFF   call aLoNg3x_.00423240                   ;  將Codice讀到[local.2]
00442BC0  |.  8B45 F8       mov eax,[local.2]
00442BC3  |.  50            push eax
00442BC4  |.  8D55 F4       lea edx,[local.3]
00442BC7  |.  8B83 D8020000 mov eax,dword ptr ds:[ebx+0x2D8]
00442BCD  |.  E8 6E06FEFF   call aLoNg3x_.00423240                   ;  將Nome讀到local.3
00442BD2  |.  8B45 F4       mov eax,[local.3]
00442BD5  |.  5A            pop edx
00442BD6  |.  E8 55FFFFFF   call aLoNg3x_.00442B30                   ;  下面是一個跳。這里跟進去,這個跟上次的長得差不多嘛
00442BDB  |.  84C0          test al,al
00442BDD  |.  0F84 86000000 je aLoNg3x_.00442C69
00442BE3  |.  8D45 FC       lea eax,[local.1]
00442BE6  |.  BA B02C4400   mov edx,aLoNg3x_.00442CB0                ;  ASCII "GREAT !!!",這個東西很刺眼啊
00442BEB  |.  E8 600CFCFF   call aLoNg3x_.00403850                   ;  這個是消息框
00442BF0  |.  8B45 FC       mov eax,[local.1]
00442BF3  |.  E8 78F9FFFF   call aLoNg3x_.00442570
00442BF8  |.  8D45 FC       lea eax,[local.1]
00442BFB  |.  E8 0410FCFF   call aLoNg3x_.00403C04                   ; 下面的內容是那個“LAMER”出來的原因
00442C00  |.  8B55 FC       mov edx,[local.1]
00442C03  |.  0FB612        movzx edx,byte ptr ds:[edx]
00442C06  |.  83C2 05       add edx,0x5
00442C09  |.  8810          mov byte ptr ds:[eax],dl
00442C0B  |.  8D45 FC       lea eax,[local.1]
00442C0E  |.  E8 F10FFCFF   call aLoNg3x_.00403C04
00442C13  |.  8B55 FC       mov edx,[local.1]
00442C16  |.  0FB652 01     movzx edx,byte ptr ds:[edx+0x1]
00442C1A  |.  83EA 11       sub edx,0x11
00442C1D  |.  8850 01       mov byte ptr ds:[eax+0x1],dl
00442C20  |.  8D45 FC       lea eax,[local.1]
00442C23  |.  E8 DC0FFCFF   call aLoNg3x_.00403C04
00442C28  |.  8B55 FC       mov edx,[local.1]
00442C2B  |.  0FB652 02     movzx edx,byte ptr ds:[edx+0x2]
00442C2F  |.  83C2 08       add edx,0x8
00442C32  |.  8850 02       mov byte ptr ds:[eax+0x2],dl
00442C35  |.  8D45 FC       lea eax,[local.1]
00442C38  |.  E8 C70FFCFF   call aLoNg3x_.00403C04
00442C3D  |.  8B55 FC       mov edx,[local.1]
00442C40  |.  0FB652 03     movzx edx,byte ptr ds:[edx+0x3]
00442C44  |.  83C2 04       add edx,0x4
00442C47  |.  8850 03       mov byte ptr ds:[eax+0x3],dl
00442C4A  |.  8D45 FC       lea eax,[local.1]
00442C4D  |.  E8 B20FFCFF   call aLoNg3x_.00403C04
00442C52  |.  8B55 FC       mov edx,[local.1]
00442C55  |.  0FB652 04     movzx edx,byte ptr ds:[edx+0x4]
00442C59  |.  83EA 02       sub edx,0x2
00442C5C  |.  8850 04       mov byte ptr ds:[eax+0x4],dl
00442C5F  |.  8B45 FC       mov eax,[local.1]
00442C62  |.  E8 09F9FFFF   call aLoNg3x_.00442570               ; 看這里就是那個“LAMER”彈出消息框的地方了
00442C67  |.  EB 10         jmp XaLoNg3x_.00442C79
00442C69  |>  BA C42C4400   mov edx,aLoNg3x_.00442CC4
00442C6E  |.  8B83 DC020000 mov eax,dword ptr ds:[ebx+0x2DC]
00442C74  |.  E8 F705FEFF   call aLoNg3x_.00423270 
00442C79  |>  33C0          xor eax,eax
00442C7B  |.  5A            pop edx
00442C7C  |.  59            pop ecx
00442C7D  |.  59            pop ecx
00442C7E  |.  64:8910       mov dword ptr fs:[eax],edx
00442C81  |.  68 A32C4400   push aLoNg3x_.00442CA3
00442C86  |>  8D45 F4       lea eax,[local.3]
00442C89  |.  BA 02000000   mov edx,0x2
00442C8E  |.  E8 490BFCFF   call aLoNg3x_.004037DC
00442C93  |.  8D45 FC       lea eax,[local.1]
00442C96  |.  E8 1D0BFCFF   call aLoNg3x_.004037B8
00442C9B  \.  C3            retn


在[00442B30]跟進去之后發現,就是一個比較,將輸入的Nome和Codice比較,相同就彈框。

彈完框就沒有然后了。


來到這個RegistrezClick,這個注冊按鈕是不是真的呢?

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
00442F32  |.  894D F8       mov [local.2],ecx
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]
00442F4E  |.  E8 ED02FEFF   call aLoNg3x_.00423240                   ;  將Codice給到Local.2
00442F53  |.  8B45 F8       mov eax,[local.2]
00442F56  |.  8D55 FC       lea edx,[local.1]
00442F59  |.  E8 FAF9FBFF   call aLoNg3x_.00402958                   ;  這里將輸入的Codice轉為16進制和判斷輸入的Codice是不是數字
00442F5E  |.  8BF0          mov esi,eax                              ;  將算出的16進制保存到esi
00442F60  |.  837D FC 00    cmp [local.1],0x0			     ;  如果不是數字就繼續往下
00442F64  |.  74 37         je XaLoNg3x_.00442F9D
00442F66  |.  B8 38304400   mov eax,aLoNg3x_.00443038                ;  ASCII "You 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]
00442F81  |.  E8 06FBFFFF   call aLoNg3x_.00442A8C                   ;  這里計算出下面那個eax的值
00442F86  |.  A3 30584400   mov dword ptr ds:[0x445830],eax          ;  這里有個賦值給[445830]的,eax值從上面來
00442F8B  |.  BA 90304400   mov edx,aLoNg3x_.00443090
00442F90  |.  8B83 DC020000 mov eax,dword ptr ds:[ebx+0x2DC]
00442F96  |.  E8 D502FEFF   call aLoNg3x_.00423270
00442F9B  |.  EB 6F         jmp XaLoNg3x_.0044300C                   ;  如果不是數字的話執行到這里就跳走,那么上面賦值一定要在不是數字這個情況下發生
00442F9D  |>  85F6          test esi,esi                             ;  如果Codice是數字就來到這里,看看計算結果,esi小于0就跳
00442F9F  |.  7E 5A         jle XaLoNg3x_.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]
00442FB2  |.  8BD6          mov edx,esi
00442FB4  |.  A1 30584400   mov eax,dword ptr ds:[0x445830]          ;  這里要從[445830]取值了
00442FB9  |.  E8 EAF9FFFF   call aLoNg3x_.004429A8                   ;  這里要跟進去
00442FBE  |.  84C0          test al,al
00442FC0  |.  74 30         je XaLoNg3x_.00442FF2
00442FC2  |.  33D2          xor edx,edx
00442FC4  |.  8B83 CC020000 mov eax,dword ptr ds:[ebx+0x2CC]
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
00442FDC  |.  33D2          xor edx,edx
00442FDE  |.  8B83 D8020000 mov eax,dword ptr ds:[ebx+0x2D8]
00442FE4  |.  8B08          mov ecx,dword ptr ds:[eax]
00442FE6  |.  FF51 60       call dword ptr ds:[ecx+0x60]
00442FE9  |.  33C0          xor eax,eax
00442FEB  |.  A3 30584400   mov dword ptr ds:[0x445830],eax
00442FF0  |.  EB 1A         jmp XaLoNg3x_.0044300C
00442FF2  |>  33C0          xor eax,eax
00442FF4  |.  A3 30584400   mov dword ptr ds:[0x445830],eax
00442FF9  |.  EB 11         jmp XaLoNg3x_.0044300C
00442FFB  |>  B8 9C304400   mov eax,aLoNg3x_.0044309C                ;  ASCII "Please... The Code Must be > 0"
00443000  |.  E8 6BF5FFFF   call aLoNg3x_.00442570
00443005  |.  33C0          xor eax,eax
00443007  |.  A3 30584400   mov dword ptr ds:[0x445830],eax
0044300C  |>  33C0          xor eax,eax
0044300E  |.  5A            pop edx
0044300F  |.  59            pop ecx
00443010  |.  59            pop ecx
00443011  |.  64:8910       mov dword ptr fs:[eax],edx
00443014  |.  68 29304400   push aLoNg3x_.00443029
00443019  |>  8D45 F8       lea eax,[local.2]
0044301C  |.  E8 9707FCFF   call aLoNg3x_.004037B8
00443021  \.  C3            retn


在[004429A8]跟了進去:


004429A8  /$  55            push ebp
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
004429B4  |.  8955 FC       mov [local.1],edx                        ; 這個edx的值是進來這個函數的前2條語句賦值,
004429B7  |.  8BF8          mov edi,eax                              ;  eax的值是[445830],進函數前賦的值
004429B9  |.  8B45 F8       mov eax,[local.2]
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]
004429D2  |.  E8 5D10FCFF   call aLoNg3x_.00403A34                   ;  獲得Nome的長度
004429D7  |.  83F8 04       cmp eax,0x4                              ;  Nome的長度要大于4
004429DA  |.  0F8E 82000000 jle aLoNg3x_.00442A62
004429E0  |.  33DB          xor ebx,ebx
004429E2  |.  8B45 F8       mov eax,[local.2]
004429E5  |.  E8 4A10FCFF   call aLoNg3x_.00403A34                   ;  獲得Nome的長度
004429EA  |.  85C0          test eax,eax
004429EC  |.  7E 38         jle XaLoNg3x_.00442A26
004429EE  |.  8945 F4       mov [local.3],eax
004429F1  |.  BE 01000000   mov esi,0x1
004429F6  |>  8B45 F8       /mov eax,[local.2]
004429F9  |.  E8 3610FCFF   |call aLoNg3x_.00403A34
004429FE  |.  83F8 01       |cmp eax,0x1
00442A01  |.  7C 1D         |jl XaLoNg3x_.00442A20
00442A03  |>  8B55 F8       |/mov edx,[local.2]
00442A06  |.  0FB65432 FF   ||movzx edx,byte ptr ds:[edx+esi-0x1]
00442A0B  |.  8B4D F8       ||mov ecx,[local.2]
00442A0E  |.  0FB64C01 FF   ||movzx ecx,byte ptr ds:[ecx+eax-0x1]
00442A13  |.  0FAFD1        ||imul edx,ecx
00442A16  |.  0FAFD7        ||imul edx,edi                           ; 這里用上了edi的值,也就是[445830]的值
00442A19  |.  03DA          ||add ebx,edx
00442A1B  |.  48            ||dec eax
00442A1C  |.  85C0          ||test eax,eax
00442A1E  |.^ 75 E3         |\jnz XaLoNg3x_.00442A03
00442A20  |>  46            |inc esi
00442A21  |.  FF4D F4       |dec [local.3]
00442A24  |.^ 75 D0         \jnz XaLoNg3x_.004429F6                  ;  上面的循環內容是:將每一個字符與整個字符串相乘
00442A26  |>  8BC3          mov eax,ebx                              ;  保存計算結果
00442A28  |.  99            cdq                                      ;  edx清0
00442A29  |.  33C2          xor eax,edx                              ;  eax不變
00442A2B  |.  2BC2          sub eax,edx
00442A2D  |.  B9 2A2C0A00   mov ecx,0xA2C2A
00442A32  |.  99            cdq
00442A33  |.  F7F9          idiv ecx
00442A35  |.  8BDA          mov ebx,edx                              ;  保存余數k2
00442A37  |.  8B45 FC       mov eax,[local.1]
00442A3A  |.  B9 59000000   mov ecx,0x59
00442A3F  |.  99            cdq
00442A40  |.  F7F9          idiv ecx
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                              ;  余數加上ecx
00442A51  |.  41            inc ecx                                  ;  ecx再加1
00442A52  |.  894D FC       mov [local.1],ecx                        ;  設此時ecx的值為k1
00442A55  |.  3B5D FC       cmp ebx,[local.1]                        ;  k1與k2比較
00442A58  |.  75 04         jnz XaLoNg3x_.00442A5E                   ;  不相等就跳
00442A5A  |.  B3 01         mov bl,0x1                               ;  如果這里執行了,函數外面的跳轉才不會執行
00442A5C  |.  EB 06         jmp XaLoNg3x_.00442A64
00442A5E  |>  33DB          xor ebx,ebx
00442A60  |.  EB 02         jmp XaLoNg3x_.00442A64                   ;  省略后面內容

由上面計算的過程得到:

設:

Nome輸入的內容為字符串數組Name

Name的長度是L

k1是一開始[local.1]的值,也就是edx的值。

k2是計算結果,有:

k2 = 0

x[i] =?Name[i]*Name[t]*[445830] ?t的取值范圍是[0,L-1]

k2 += x[i] ?i的取值范圍是[0,L-1]

(這里是二重循環)

k2 %= 0xA2C2A

k1 = (k1/0x59)+(k1%0x50)+1


最后比較k2和k1是否相同。

至于[445830]的值是從哪里來?上面有講。跟進去看看是怎么來的[00442A8C]:

00442A8C  /$  55            push ebp
00442A8D  |.  8BEC          mov ebp,esp
00442A8F  |.  51            push ecx
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                              ;  Codice要大于5個字符
00442AB7  |.  7E 3D         jle XaLoNg3x_.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 XaLoNg3x_.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
00442AF1  |.  4B            |dec ebx
00442AF2  |.^ 75 DE         \jnz XaLoNg3x_.00442AD2                   ; 通過上面部分算出一個值X
00442AF4  |.  EB 02         jmp XaLoNg3x_.00442AF8
00442AF6  |>  33F6          xor esi,esi
00442AF8  |>  8BC6          mov eax,esi
00442AFA  |.  B9 48710000   mov ecx,0x7148                            ;
00442AFF  |.  99            cdq
00442B00  |.  F7F9          idiv ecx
00442B02  |.  8BC2          mov eax,edx                               ; eax = x % 0x7148
00442B04  |.  99            cdq                                       ; 使得edx清0
00442B05  |.  33C2          xor eax,edx                               ; eax不變
00442B07  |.  2BC2          sub eax,edx                               ; eax還是不變
00442B09  |.  8BD8          mov ebx,eax
00442B0B  |.  33C0          xor eax,eax

這樣就得到了[445830]的值是怎么算出來的。

由于輸入的Codice不是數字才能使的[445830]的值不為0,然后就可以計算出上面的k1的值應為多少了


根據上面內容很容易就得到:

設:

Nome輸入的內容為:ABCDEF

Codice輸入的內容為:ABCDEF

按Registerz,彈出個錯誤窗口。點確定,因為彈出了這個窗口,才能使得[445830]的值不為0,這個值是通過

Codice的內容算出來的。點走錯誤窗口后,Codice青0,根據上面的計算過程,可以通過Nome的內容

得出k2的值,然后窮舉,找到1個符合要求的k1,這個k1不唯一。

k1:1696639

將k1輸入到Codice里面,然后點Registerz,界面發生了變化,again按鈕出來了,Registerz窗口就不見了。

跟到AgainClick事件的話發現內容是和Registerz的內容差不多的。

004430BC  /.  55            push ebp
004430BD  |.  8BEC          mov ebp,esp
004430BF  |.  6A 00         push 0x0
004430C1  |.  6A 00         push 0x0
004430C3  |.  6A 00         push 0x0
004430C5  |.  53            push ebx
004430C6  |.  56            push esi
004430C7  |.  8BD8          mov ebx,eax
004430C9  |.  33C0          xor eax,eax
004430CB  |.  55            push ebp
004430CC  |.  68 2D324400   push aLoNg3x_.0044322D
004430D1  |.  64:FF30       push dword ptr fs:[eax]
004430D4  |.  64:8920       mov dword ptr fs:[eax],esp
004430D7  |.  8D55 F4       lea edx,[local.3]
004430DA  |.  8B83 DC020000 mov eax,dword ptr ds:[ebx+0x2DC]
004430E0  |.  E8 5B01FEFF   call aLoNg3x_.00423240                   ;  將Codiece讀到local.3
004430E5  |.  8B45 F4       mov eax,[local.3]
004430E8  |.  8D55 FC       lea edx,[local.1]
004430EB  |.  E8 68F8FBFF   call aLoNg3x_.00402958                   ;  用于將Codice轉為16進制
004430F0  |.  8BF0          mov esi,eax                              ;  eax是輸入Codies的16進制
004430F2  |.  837D FC 00    cmp [local.1],0x0
004430F6  |.  74 3A         je XaLoNg3x_.00443132
004430F8  |.  B8 44324400   mov eax,aLoNg3x_.00443244                ;  ASCII "You MUST insert a valid Long Integer Value in the Code Editor... Thank you :)"
004430FD  |.  E8 6EF4FFFF   call aLoNg3x_.00442570
00443102  |.  8D55 F4       lea edx,[local.3]
00443105  |.  8B83 DC020000 mov eax,dword ptr ds:[ebx+0x2DC]
0044310B  |.  E8 3001FEFF   call aLoNg3x_.00423240
00443110  |.  8B45 F4       mov eax,[local.3]
00443113  |.  E8 74F9FFFF   call aLoNg3x_.00442A8C                   ; 還是有這個函數
00443118  |.  A3 30584400   mov dword ptr ds:[0x445830],eax          ; 還是賦值到這里來
0044311D  |.  BA 9C324400   mov edx,aLoNg3x_.0044329C
00443122  |.  8B83 DC020000 mov eax,dword ptr ds:[ebx+0x2DC]
00443128  |.  E8 4301FEFF   call aLoNg3x_.00423270
0044312D  |.  E9 DD000000   jmp aLoNg3x_.0044320F
00443132  |>  85F6          test esi,esi                             ;  測試是不是小于0
00443134  |.  0F8E C4000000 jle aLoNg3x_.004431FE
0044313A  |.  8D55 F4       lea edx,[local.3]
0044313D  |.  8B83 D8020000 mov eax,dword ptr ds:[ebx+0x2D8]
00443143  |.  E8 F800FEFF   call aLoNg3x_.00423240                   ;  將Nome讀到local.3
00443148  |.  8B4D F4       mov ecx,[local.3]
0044314B  |.  8BD6          mov edx,esi
0044314D  |.  A1 30584400   mov eax,dword ptr ds:[0x445830]
00443152  |.  E8 51F8FFFF   call aLoNg3x_.004429A8                   ;  這里計算的函數和Registerz的是一樣的
00443157  |.  84C0          test al,al
00443159  |.  74 73         je XaLoNg3x_.004431CE

唯一不同的就是Nome的內容不能改變了,而且[445830]的值又重新變回0,有了上一步的經驗,可以重復上面的步驟。

Codice:ABCDEF


然后還是會告訴你要輸入數字,然后還是這個:

Codice:1696639

這個就是上面的k1,因為調用的函數還是一樣的。


輸入完后點Again,整張logo就出現了,而且標題欄也變成了:Cracked by ABCDEF


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376481.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376481.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376481.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring 中的國際化Message的簡單例子(ApplicationContext) 不跟框架集成的版本

首先&#xff0c;建立一個描述message的XML文件&#xff0c;名為messages.xml <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-bean…

簡述進程間通信方式

進程間通信方式通常有共享內存 信號量 消息隊列 管道 FIFO Socket等幾種。 共享內存的模型&#xff0c;它是最有效率的進程間通信方式進程間信號量是進程間同步主要方式&#xff0c;信號量操作為負的時候&#xff0c;進程阻塞。直到信號量為正 內存映射是一種特殊的共享內存…

輔助的寫與數據庫交互的XML文件的類

現在企業級WEB應用中與數據庫交互的XML文件都是通過插件自動生成的&#xff0c;不過有些時候修改比較老的項目的時候也是需要手動的來做這一動作的&#xff01;如下代碼就是一個實現上述的功能的輔助類&#xff0c;在此記錄一下以備后用&#xff01; package com.cn.common.uti…

160 - 8 Andrnalin.1

環境&#xff1a; Windows xp sp3 打開&#xff0c;就一個Key輸入框&#xff0c;輸入&#xff1a;goodname&#xff0c;點OK&#xff0c;彈出一個 不明文字的框&#xff0c;反正肯定不對。 查殼&#xff0c;無殼的vb程序。OD載入&#xff1a; 查找字串&#xff0c;翻到最下…

C++ 虛函數表解析

C 虛函數表解析 陳皓 http://blog.csdn.net/haoel 前言 C中的虛函數的作用主要是實現了多態的機制。關于多態&#xff0c;簡而言之就是用父類型別的指針指向其子類的實例&#xff0c;然后通過父類的指針調用實際子類的成員函數。這種技術可以讓父類的指針有“多種形態”&#x…

160 - 9 Andrnalin.2

環境&#xff1a; Windows xp sp3 打開&#xff0c;這次升級了&#xff0c;有個Name和一個Key&#xff0c;輸入&#xff1a; Name&#xff1a;goodname Key&#xff1a;12345678 肯定錯誤。拿到錯誤信息的字符串 查殼&#xff0c;無殼的VB程序。 直接OD載入&#xff0c;字…

[PALAPALA] 無題 - 外來的和尚會念經

手機, 現代人響當當的必須品, 尤其在移動App流行的大環境之下顯得更為重要. 我, 并不是一個重度依賴手機的機粉. 但我對手機的差異化敏感度很高... 安卓手機, 我不喜歡, 因為滿大街泛濫&#xff0c;折騰過多... 蘋果手機, 我不喜歡, 因為滿大街泛濫&#xff0c;bug過多..... 相…

HTTP協議 (四) 緩存

HTTP協議 (四) 緩存 閱讀目錄 緩存的概念緩存的好處Fiddler可以方便地查看緩存的header如何判斷緩存新鮮度通過最后修改時間&#xff0c;判斷緩存新鮮度與緩存相關的headerETag瀏覽器不使用緩存直接使用緩存&#xff0c;不去服務器端驗證如何設置IE不使用緩存公有緩存和私有緩存…

160 - 10 Andrénalin.3

環境&#xff1a; Windows xp sp3 打開&#xff0c;是只有一個key&#xff0c;輸入個goodname試試&#xff0c;錯誤。。。記下錯誤信息 查殼&#xff0c;無殼的VB程序。 查找字符串&#xff1a; 00402036 UNICODE "kXy^rO|*yXo*m\kMuOn*" 00402090 UNICODE &qu…

160 - 11 Andrnalin.4

環境&#xff1a; Windows xp sp3 打開&#xff0c;這次的界面炫酷多了&#xff0c;就像輸保險箱密碼。 旁邊一個“UNREGISTRIERT”表示還沒注冊 輸入個666666&#xff0c;沒反應又沒有確認按鈕&#xff0c;可以猜測是用timer來檢測輸入的正確性 查殼&#xff0c;無殼的VB程…

ZooKeeper啟動過程2:FastLeaderElection

前一篇文章中說到&#xff0c;啟動ZooKeeper集群時&#xff0c;需要分別啟動集群中的各個節點&#xff0c;各節點以QuorumPeer的形式啟動&#xff0c;最后到達startLeaderElection和lookForLeader。 先說startLeaderElection 首先&#xff0c;初始化節點自身的currentVote【當前…

C++編程調試秘笈(第1次閱讀)

閱讀時間&#xff1a; 2017-4-17 --- 2017-4-19 第一次閱讀《C編程調試秘笈》&#xff0c;可能是因為對項目開發的經驗不足&#xff08;最近只是在做簡單的五子棋&#xff09;&#xff0c;使得對里面很多的知識點了解得不是很深。 《C編程調試秘笈》講的內容個人覺得與調試的技…

Web Component 文章

周末無意中了解了Web Component的概念。 http://blog.amowu.com/2013/06/web-components.html http://www.v2ex.com/t/69389 http://www.infoq.com/cn/news/2013/06/webcomponents Shadow DOM http://www.toobug.net/article/what_is_shadow_dom.html http://www.html5rocks.co…

遮罩效果 css3

CSS3提供了遮罩效果&#xff0c;這是以前CSS2中比較難實現的一個新特性&#xff0c;配合SVG或者canvas同樣也可以實現遮罩效果&#xff0c;他的效果就如下圖所示: 簡單的說就是在一個層上面加一個過濾層&#xff0c;過濾層透明度越低&#xff0c;底層就顯示的越多&#xff0c;反…

調試九法(第1次閱讀)

閱讀時間&#xff1a; 2017年4月19日 --- 2017年4月22日 第一次看到這本書的時候&#xff0c;是在網上看到它被評論得十分優秀&#xff0c;只要掌握了書中的方法&#xff0c;就能找到所有的BUG。我就是這樣被吸引過來的。 因為是調試9法&#xff0c;所以總共講了調試的時候注意…

Oracle11g密碼區分大小寫導致database link無法連接

Oracle11g的密碼默認是區分大小寫的&#xff0c;該特性通過初始化參數sec_case_sensitive_logon控制&#xff0c;默認TRUE表示區分大小寫。但是Oracle11g之前的版本密碼都是不區分大小寫的&#xff0c;所以在Oracle10g等以前版本創建到Oracle11g的database link時&#xff0c;可…

OC-深淺復制

【OC學習-26】對象的淺拷貝和深拷貝——關鍵在于屬性是否可被拷貝 對象的拷貝分為淺拷貝和深拷貝&#xff0c;淺拷貝就是只拷貝對象&#xff0c;但是屬性不拷貝&#xff0c;拷貝出來的對象和原來的對象共用屬性&#xff0c;即指向同一個屬性地址。深拷貝則相當于不僅拷貝了一個…

計算機科學導論(第一次閱讀)

時間&#xff1a; 2017年4月22日----2017年4月26 這是一本計算機入門書籍&#xff0c;粗略地描述了計算機各個方面的內容。當然對于一些十分復雜的知識&#xff0c;也僅僅是大概描述了這方面知識的一些了解知識。

配置SQLServer,允許遠程連接

需要別人遠程你的數據庫&#xff0c;首先需要的是在一個局域網內&#xff0c;或者連接的是同一個路由器&#xff0c;接下來就是具體步驟&#xff1a; &#xff08;一&#xff09;首先是要檢查SQLServer數據庫服務器中是否允許遠程鏈接。其具體操作為&#xff1a; &#xff08;1…

彈出打開/保存文件對話框 選擇文件夾對話框

打開/保存文件對話框: CFileDialog::CFileDialog(BOOL bOpenFileDialog, //為TRUE則顯示打開對話框&#xff0c;為FALSE則顯示保存對話文件對話框LPCTSTR lpszDefExt NULL, //默認的文件擴展名LPCTSTR lpszFileName NULL, //默認的文件名DWORD dwFlags OFN_HIDEREADONLY | O…