yurfed
Цитата:
ЗЗЗЗЫЫЫ перемести наш базар куда нибудь в другую тему. Только ссылку оставь - куда переместил.
|
Это к товариищам,
Greyman и
kim-aa.
Цитата:
чем пользовался (дебагил)? Это очень интересно.
|
OLLYDBG.
Вобщем заминка вышла.
Понял что кей не зависит о имени. Так?
Кей находится по адресу: 00403184, а имя: 00403084. Нас интересует кей.
Код:
![Выделить весь код](images/misc/selectcode.png)
004011D3 |> 6A 00 PUSH 0 ; /lParam = NULL
004011D5 |. 68 98124000 PUSH CRACKME4.00401298 ; |DlgProc = CRACKME4.00401298
004011DA |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |hOwner
004011DD |. 68 14304000 PUSH CRACKME4.00403014 ; |pTemplate = "AboutDialog"
004011E2 |. FF35 7C304000 PUSH DWORD PTR DS:[40307C] ; |hInst = 00400000
004011E8 |. E8 79010000 CALL <JMP.&USER32.DialogBoxParamA> ; \DialogBoxParamA
004011ED |. 68 E8030000 PUSH 3E8 ; /ControlID = 3E8 (1000.)
004011F2 |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |hWnd
004011F5 |. E8 7E010000 CALL <JMP.&USER32.GetDlgItem> ; \GetDlgItem
004011FA |. 50 PUSH EAX ; /hWnd
004011FB |. E8 BA010000 CALL <JMP.&USER32.SetFocus> ; \SetFocus
00401200 |. E9 8D000000 JMP CRACKME4.00401292
00401205 |> 68 00010000 PUSH 100 ; /Count = 100 (256.)
0040120A |. 68 84304000 PUSH CRACKME4.00403084 ; |Buffer = CRACKME4.00403084
0040120F |. 68 E8030000 PUSH 3E8 ; |ControlID = 3E8 (1000.)
00401214 |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |hWnd
00401217 |. E8 62010000 CALL <JMP.&USER32.GetDlgItemTextA> ; \GetDlgItemTextA
0040121C |. 68 00010000 PUSH 100 ; /Count = 100 (256.)
00401221 |. 68 84314000 PUSH CRACKME4.00403184 ; |Buffer = CRACKME4.00403184
00401226 |. 68 E9030000 PUSH 3E9 ; |ControlID = 3E9 (1001.)
0040122B |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |hWnd
0040122E |. E8 4B010000 CALL <JMP.&USER32.GetDlgItemTextA> ; \GetDlgItemTextA
00401233 |. FF75 08 PUSH DWORD PTR SS:[EBP+8]
00401236 |. E8 BE000000 CALL CRACKME4.004012F9
0040123B |. 83F8 00 CMP EAX,0
0040123E |. 74 15 JE SHORT CRACKME4.00401255
00401240 |. 6A 40 PUSH 40 ; /Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL
00401242 |. 68 29304000 PUSH CRACKME4.00403029 ; |Title = "Check Serial"
00401247 |. 68 60304000 PUSH CRACKME4.00403060 ; |Text = "You got it! Congrats! :)"
0040124C |. 6A 00 PUSH 0 ; |hOwner = NULL
0040124E |. E8 49010000 CALL <JMP.&USER32.MessageBoxA> ; \MessageBoxA
00401253 |. EB 13 JMP SHORT CRACKME4.00401268
00401255 |> 6A 30 PUSH 30 ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL
00401257 |. 68 29304000 PUSH CRACKME4.00403029 ; |Title = "Check Serial"
0040125C |. 68 36304000 PUSH CRACKME4.00403036 ; |Text = "Wrong Serial! Keep trying, you'll get it!"
00401261 |. 6A 00 PUSH 0 ; |hOwner = NULL
00401263 |. E8 34010000 CALL <JMP.&USER32.MessageBoxA> ; \MessageBoxA
00401268 |> 68 E8030000 PUSH 3E8 ; /ControlID = 3E8 (1000.)
0040126D |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |hWnd
00401270 |. E8 03010000 CALL <JMP.&USER32.GetDlgItem> ; \GetDlgItem
00401275 |. 50 PUSH EAX ; /hWnd
00401276 |. E8 3F010000 CALL <JMP.&USER32.SetFocus> ; \SetFocus
Где
подчёркнуто - ставил брекпоинт.
Вот насчёт первой бряки:
Код:
![Выделить весь код](images/misc/selectcode.png)
0013FC2C 001004D4 |hWnd = 001004D4 ('FaNt0m's Crackme #4',class='DLGCLASS')
0013FC30 000003E9 |ControlID = 3E9 (1001.)
0013FC34 00403184 |Buffer = CRACKME4.00403184
0013FC38 00000100 \Count = 100 (256.)
0013FC3C /0013FC68
0013FC40 |7E368724 RETURN to USER32.7E368724
0013FC44 |001004D4
0013FC48 |00000111
0013FC4C |000003EA
0013FC50 |001C0424
0013FC54 |00401123 CRACKME4.00401123
0013FC58 |DCBAABCD
0013FC5C |00000000
0013FC60 |0013FCA4
0013FC64 |00401123 CRACKME4.00401123
0013FC68 ]0013FCD0
0013FC6C |7E368806 RETURN to USER32.7E368806 from USER32.7E3686FC
0013FC70 |00401123 CRACKME4.00401123
0013FC74 |001004D4
0013FC78 |00000111
И насчёт второй
Код:
![Выделить весь код](images/misc/selectcode.png)
0013FC38 001004D4
0013FC3C /0013FC68
0013FC40 |7E368724 RETURN to USER32.7E368724
0013FC44 |001004D4
0013FC48 |00000111
0013FC4C |000003EA
0013FC50 |001C0424
0013FC54 |00401123 CRACKME4.00401123
0013FC58 |DCBAABCD
0013FC5C |00000000
0013FC60 |0013FCA4
0013FC64 |00401123 CRACKME4.00401123
0013FC68 ]0013FCD0
0013FC6C |7E368806 RETURN to USER32.7E368806 from USER32.7E3686FC
0013FC70 |00401123 CRACKME4.00401123
0013FC74 |001004D4
0013FC78 |00000111
0013FC7C |000003EA
0013FC80 |001C0424
0013FC84 |00000111
0013FC88 |0069CD90
0013FC8C |0069CDA4
0013FC90 |00000014
0013FC94 |00000001
0013FC98 |00000000
0013FC9C |00000000
0013FCA0 |00000010
0013FCA4 |00000000
0013FCA8 |7E36B4B0 RETURN to USER32.7E36B4B0 from USER32.7E36874F
0013FCAC |00000001
0013FCB0 |00000000
0013FCB4 |00000000
0013FCB8 |0013FC84
0013FCBC |00000000
0013FCC0 |0013FE88 Pointer to next SEH record
0013FCC4 |7E390477 SE handler
0013FCC8 |7E368820 USER32.7E368820
0013FCCC |00000000
0013FCD0 ]0013FD0C
Чего-то я здесь не пойму. Где кей или какая-то закономерность?