real newbie
June 20th, 2006, 03:25
Hello frieds!
I've found registration piece of code (I think ) and ask you "Where I'm have to dig further?"
It is from Olly:
----------------------------------------------------------------------------
004664D0 /. 55 PUSH EBP
004664D1 |. 8BEC MOV EBP,ESP
004664D3 |. 6A 00 PUSH 0
004664D5 |. 6A 00 PUSH 0
004664D7 |. 53 PUSH EBX
004664D8 |. 8BD8 MOV EBX,EAX
004664DA |. 33C0 XOR EAX,EAX
004664DC |. 55 PUSH EBP
004664DD |. 68 B9654600 PUSH someprog.004665B9
004664E2 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
004664E5 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
004664E8 |. 8D4D FC LEA ECX,[LOCAL.1]
004664EB |. BA D0654600 MOV EDX,someprog.004665D0 ; ASCII "Please enter the registration key"
004664F0 |. B8 FC654600 MOV EAX,someprog.004665FC ; ASCII "Registration"
004664F5 |. E8 8E93FEFF CALL someprog.0044F888
004664FA |. 84C0 TEST AL,AL
004664FC |. 0F84 9C000000 JE someprog.0046659E ; ** no any MessageBox ???
00466502 |. 8D55 F8 LEA EDX,[LOCAL.2] ; ** in EDX 0
00466505 |. 8B45 FC MOV EAX,[LOCAL.1] ; ** in EAX addr of user KEY in memdump
00466508 |. E8 2B1CFAFF CALL someprog.00408138 ; ** ????
0046650D |. 8B55 F8 MOV EDX,[LOCAL.2] ; ** in EDX add of user KEY in memdump
00466510 |. 8D45 FC LEA EAX,[LOCAL.1] ; ** in EAX user KEY from stack
00466513 |. E8 E8D6F9FF CALL someprog.00403C00 ; ** ????
00466518 |. 8B45 FC MOV EAX,[LOCAL.1] ; ** in EAX addr of user KEY in memdump
0046651B |. E8 C4010000 CALL someprog.004666E4 ; ** ????
00466520 |. A2 544A4900 MOV BYTE PTR DS:[494A54],AL
00466525 |. 803D 544A4900>CMP BYTE PTR DS:[494A54],0 ; ** in AL cannot be 0
0046652C 74 5B JE SHORT someprog.00466589 ; ** "NOT valid serial key" MessageBox
0046652E |. B8 584A4900 MOV EAX,someprog.00494A58
00466533 |. 8B55 FC MOV EDX,[LOCAL.1]
00466536 |. E8 81D6F9FF CALL someprog.00403BBC
0046653B |. BA 14664600 MOV EDX,someprog.00466614 ; ASCII "Continue"
00466540 |. 8B83 D0020000 MOV EAX,DWORD PTR DS:[EBX+2D0]
00466546 |. E8 3567FCFF CALL someprog.0042CC80
0046654B |. B2 01 MOV DL,1
0046654D |. 8B83 D0020000 MOV EAX,DWORD PTR DS:[EBX+2D0]
00466553 |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
00466555 |. FF51 5C CALL DWORD PTR DS:[ECX+5C]
00466558 |. 33D2 XOR EDX,EDX
0046655A |. 8B83 D8020000 MOV EAX,DWORD PTR DS:[EBX+2D8]
00466560 |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
00466562 |. FF51 5C CALL DWORD PTR DS:[ECX+5C]
00466565 |. 33D2 XOR EDX,EDX
00466567 |. 8B83 D4020000 MOV EAX,DWORD PTR DS:[EBX+2D4]
0046656D |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
0046656F |. FF51 5C CALL DWORD PTR DS:[ECX+5C]
00466572 |. 6A 00 PUSH 0 ; /Arg1 = 00000000
00466574 |. 66:8B0D 20664>MOV CX,WORD PTR DS:[466620] ; |
0046657B |. B2 02 MOV DL,2 ; |
0046657D |. B8 2C664600 MOV EAX,someprog.0046662C ; |ASCII "Application is successfully registered."
00466582 |. E8 E591FEFF CALL someprog.0044F76C ; \someprog.0044F76C
00466587 |. EB 15 JMP SHORT someprog.0046659E
00466589 |> 6A 00 PUSH 0 ; /Arg1 = 00000000
0046658B |. 66:8B0D 20664>MOV CX,WORD PTR DS:[466620] ; |
00466592 |. 33D2 XOR EDX,EDX ; |
00466594 |. B8 5C664600 MOV EAX,someprog.0046665C ; |ASCII "The registration key is not valid. Application is not registered."
00466599 |. E8 CE91FEFF CALL someprog.0044F76C ; \someprog.0044F76C
0046659E |> 33C0 XOR EAX,EAX
004665A0 |. 5A POP EDX
004665A1 |. 59 POP ECX
004665A2 |. 59 POP ECX
004665A3 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
004665A6 |. 68 C0654600 PUSH someprog.004665C0
004665AB |> 8D45 F8 LEA EAX,[LOCAL.2]
004665AE |. BA 02000000 MOV EDX,2
004665B3 |. E8 D4D5F9FF CALL someprog.00403B8C
004665B8 \. C3 RETN
-----------------------------------------------------
Any helping words will be appreciated.
I've found registration piece of code (I think ) and ask you "Where I'm have to dig further?"

It is from Olly:
----------------------------------------------------------------------------
004664D0 /. 55 PUSH EBP
004664D1 |. 8BEC MOV EBP,ESP
004664D3 |. 6A 00 PUSH 0
004664D5 |. 6A 00 PUSH 0
004664D7 |. 53 PUSH EBX
004664D8 |. 8BD8 MOV EBX,EAX
004664DA |. 33C0 XOR EAX,EAX
004664DC |. 55 PUSH EBP
004664DD |. 68 B9654600 PUSH someprog.004665B9
004664E2 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
004664E5 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
004664E8 |. 8D4D FC LEA ECX,[LOCAL.1]
004664EB |. BA D0654600 MOV EDX,someprog.004665D0 ; ASCII "Please enter the registration key"
004664F0 |. B8 FC654600 MOV EAX,someprog.004665FC ; ASCII "Registration"
004664F5 |. E8 8E93FEFF CALL someprog.0044F888
004664FA |. 84C0 TEST AL,AL
004664FC |. 0F84 9C000000 JE someprog.0046659E ; ** no any MessageBox ???
00466502 |. 8D55 F8 LEA EDX,[LOCAL.2] ; ** in EDX 0
00466505 |. 8B45 FC MOV EAX,[LOCAL.1] ; ** in EAX addr of user KEY in memdump
00466508 |. E8 2B1CFAFF CALL someprog.00408138 ; ** ????
0046650D |. 8B55 F8 MOV EDX,[LOCAL.2] ; ** in EDX add of user KEY in memdump
00466510 |. 8D45 FC LEA EAX,[LOCAL.1] ; ** in EAX user KEY from stack
00466513 |. E8 E8D6F9FF CALL someprog.00403C00 ; ** ????
00466518 |. 8B45 FC MOV EAX,[LOCAL.1] ; ** in EAX addr of user KEY in memdump
0046651B |. E8 C4010000 CALL someprog.004666E4 ; ** ????
00466520 |. A2 544A4900 MOV BYTE PTR DS:[494A54],AL
00466525 |. 803D 544A4900>CMP BYTE PTR DS:[494A54],0 ; ** in AL cannot be 0
0046652C 74 5B JE SHORT someprog.00466589 ; ** "NOT valid serial key" MessageBox
0046652E |. B8 584A4900 MOV EAX,someprog.00494A58
00466533 |. 8B55 FC MOV EDX,[LOCAL.1]
00466536 |. E8 81D6F9FF CALL someprog.00403BBC
0046653B |. BA 14664600 MOV EDX,someprog.00466614 ; ASCII "Continue"
00466540 |. 8B83 D0020000 MOV EAX,DWORD PTR DS:[EBX+2D0]
00466546 |. E8 3567FCFF CALL someprog.0042CC80
0046654B |. B2 01 MOV DL,1
0046654D |. 8B83 D0020000 MOV EAX,DWORD PTR DS:[EBX+2D0]
00466553 |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
00466555 |. FF51 5C CALL DWORD PTR DS:[ECX+5C]
00466558 |. 33D2 XOR EDX,EDX
0046655A |. 8B83 D8020000 MOV EAX,DWORD PTR DS:[EBX+2D8]
00466560 |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
00466562 |. FF51 5C CALL DWORD PTR DS:[ECX+5C]
00466565 |. 33D2 XOR EDX,EDX
00466567 |. 8B83 D4020000 MOV EAX,DWORD PTR DS:[EBX+2D4]
0046656D |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
0046656F |. FF51 5C CALL DWORD PTR DS:[ECX+5C]
00466572 |. 6A 00 PUSH 0 ; /Arg1 = 00000000
00466574 |. 66:8B0D 20664>MOV CX,WORD PTR DS:[466620] ; |
0046657B |. B2 02 MOV DL,2 ; |
0046657D |. B8 2C664600 MOV EAX,someprog.0046662C ; |ASCII "Application is successfully registered."
00466582 |. E8 E591FEFF CALL someprog.0044F76C ; \someprog.0044F76C
00466587 |. EB 15 JMP SHORT someprog.0046659E
00466589 |> 6A 00 PUSH 0 ; /Arg1 = 00000000
0046658B |. 66:8B0D 20664>MOV CX,WORD PTR DS:[466620] ; |
00466592 |. 33D2 XOR EDX,EDX ; |
00466594 |. B8 5C664600 MOV EAX,someprog.0046665C ; |ASCII "The registration key is not valid. Application is not registered."
00466599 |. E8 CE91FEFF CALL someprog.0044F76C ; \someprog.0044F76C
0046659E |> 33C0 XOR EAX,EAX
004665A0 |. 5A POP EDX
004665A1 |. 59 POP ECX
004665A2 |. 59 POP ECX
004665A3 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
004665A6 |. 68 C0654600 PUSH someprog.004665C0
004665AB |> 8D45 F8 LEA EAX,[LOCAL.2]
004665AE |. BA 02000000 MOV EDX,2
004665B3 |. E8 D4D5F9FF CALL someprog.00403B8C
004665B8 \. C3 RETN
-----------------------------------------------------
Any helping words will be appreciated.
