Ayuda (Creando Crack)

Iniciado por Axtrax, 21 Abril 2011, 20:31 PM

0 Miembros y 1 Visitante están viendo este tema.

Axtrax

Soy nuevo en esto de crear cracks,pero me interesa y e estado leyendo y estudiando un poco...

El programa a cracker es el WAV MP3 Converter...

para este programa la version que tengo no e encontrado ningun serial ni crack asi que decidi crackearlo yo mismo...

el problema es el siguiente yo e podido crackearlo y que funcione pero al cerrar el programa y abrirlo debo crackearlo nuevamente.

Como yo quiero aprender a crackearlo y que quede crackeado definitivamente para poder subri a webs etc mis cracks necesitaria su ayuda...

http://www.wav-mp3.com/

Pagina del wav mp3 converter.

lo que e hecho en ollydbg fue basicamente esto:

Click derecho: search for => All referenced text strings
Buscar el error cuando intentas registrarlo y luego
Buscar JE SHORT
JE SHORT => click derecho => Binary =>Fill WIll NOPs
Click derecho
Copy to executable => All modifications
Copy all
cerrar => yes => Guardar crack

El problema es que no se hacer que capte el programa que ya esta creackeado.
osea que cuando lo cierre se vuelva a abrir crackeado si puedieran ayudarme y subir fotos o explicaciones les agradeceria mucho :)

ya de por si estoy contento de poder haber creackeado el programa xD!

Atte: Axtrax

tena

Ponenos el codigo donde lo parcheas,

Si tenes algo como esto....
   
call direccion
cmp variable,0
je NoRegistrado

¿que mejor que parchear la variable poniendola en 1?

Si parcheas el salto Nopeandolo como hiciste, no te garantiza que quede completamente crackeado el soft, y me parece que es eso lo que te esta pasando.

slds

Axtrax

Perdon por no saber donde esta eso que dices :S si no te molestaria podrias bajarte el programa y mostrarme por medio de fotos donde es? si no es mucha molestias claro...

apuromafo CLS

#3
aver acompañandote a crear el valor 1, espero analizes , no solo parches, pues es una historia parchar y es otra historia resolver todo

Esto esta Escrito con Fines Educacionales
Saludos Apuromafo

te ayudare como si fuera mi objetivo:
aver veamos la imagen de prueba para que lo veas:


comenzemos:

1) descargado ollydbg +el programa objetivo
al abrir vemos
Entrypoint:0043DBAB >/$ 55             PUSH EBP
y su estructura pareciera Visual C++ 6.0
2) buscando las string las mas interesantes es:"registration code"

tendriamos entonces:
0040AEBF   . 85C9           TEST ECX,ECX
0040AEC1   . 75 0E          JNZ SHORT victima.0040AED1
0040AEC3   . 6A 30          PUSH 30
0040AEC5   . 68 04474600    PUSH victima.00464704                   ;  ASCII "vict imaConverter"
0040AECA   . 68 E0454600    PUSH victima.004645E0                   ;  ASCII "Please enter registration name."
0040AECF   . EB 3B          JMP SHORT victima.0040AF0C
0040AED1   > 8B1B           MOV EBX,DWORD PTR DS:[EBX]
0040AED3   . 8D4E 64        LEA ECX,DWORD PTR DS:[ESI+64]
0040AED6   . 51             PUSH ECX
0040AED7   . 53             PUSH EBX
0040AED8   . E8 33F20100    CALL victima.0042A110
0040AEDD   . 83C4 08        ADD ESP,8
0040AEE0   . 85C0           TEST EAX,EAX
0040AEE2   . 74 1C          JE SHORT victima.0040AF00
0040AEE4   . 6A 40          PUSH 40
0040AEE6   . 68 04474600    PUSH victima.00464704                   ;  ASCII "vict imaConverter"
0040AEEB   . 68 00464600    PUSH victima.00464600                   ;  ASCII "Register successfully. Thank you for your support."
0040AEF0   . 8BCE           MOV ECX,ESI
0040AEF2   . E8 E6730400    CALL victima.004522DD
0040AEF7   . 8BCE           MOV ECX,ESI
0040AEF9   . E8 70930400    CALL victima.0045426E
0040AEFE   . EB 13          JMP SHORT victima.0040AF13
0040AF00   > 6A 10          PUSH 10
0040AF02   . 68 04474600    PUSH victima.00464704                   ;  ASCII "x Converter"
0040AF07   . 68 34464600    PUSH victima.00464634                   ;  ASCII "Invalid registration code. Please COPY the whole registration code and then PASTE to "Registration Code" input box.

If you have any questions with your registration code, please contact <x@x.com>."
0040AF0C   > 8BCE           MOV ECX,ESI
0040AF0E   . E8 CA730400    CALL victima.004522DD
0040AF13   > C74424 14 FFFF>MOV DWORD PTR SS:[ESP+14],-1
0040AF1B   . E8 AB2F0500    CALL victima.0045DECB
0040AF20   . 8B48 04        MOV ECX,DWORD PTR DS:[EAX+4]
0040AF23   . E8 67880400    CALL victima.0045378F
0040AF28   . 8B4C24 0C      MOV ECX,DWORD PTR SS:[ESP+C]



ahora comenzamos a depurar y coloco un bp en 0040AEBC  , tenemos entonces en eax, el largo del serial
al llegar al call

en esta rutina compara el largo con 40hexadecimal

0042A118  |. 56             PUSH ESI                                 ; /String
0042A119  |. FF15 B0324600  CALL DWORD PTR DS:[<&KERNEL32.lstrlenA>] ; \lstrlenA
0042A11F  |. 83F8 40        CMP EAX,40


en este caso coloco como serial:
Citarprobando1234567890probando1234567890probando1234567890probando12
y luego de preparar el buffer, del largo de cada string comienza a hacer la rutina real del algoritmo
->aca comienza

0042A190  /$ 81EC B4000000  SUB ESP,0B4
0042A196  |. 8B8424 B800000>MOV EAX,DWORD PTR SS:[ESP+B8]
0042A19D  |. 53             PUSH EBX
0042A19E  |. 55             PUSH EBP
0042A19F  |. 56             PUSH ESI
0042A1A0  |. 8B70 04        MOV ESI,DWORD PTR DS:[EAX+4]
0042A1A3  |. 8B50 1C        MOV EDX,DWORD PTR DS:[EAX+1C]
0042A1A6  |. 8BCE           MOV ECX,ESI
0042A1A8  |. 895424 14      MOV DWORD PTR SS:[ESP+14],EDX
0042A1AC  |. 33CA           XOR ECX,EDX
0042A1AE  |. 57             PUSH EDI
0042A1AF  |. 8B78 18        MOV EDI,DWORD PTR DS:[EAX+18]
0042A1B2  |. 81E1 B73AAE7B  AND ECX,7BAE3AB7
0042A1B8  |. 8BD1           MOV EDX,ECX
0042A1BA  |. 8B68 10        MOV EBP,DWORD PTR DS:[EAX+10]
0042A1BD  |. 33D6           XOR EDX,ESI
0042A1BF  |. 8B70 0C        MOV ESI,DWORD PTR DS:[EAX+C]
0042A1C2  |. 895424 2C      MOV DWORD PTR SS:[ESP+2C],EDX
0042A1C6  |. 8BD6           MOV EDX,ESI
0042A1C8  |. 33D7           XOR EDX,EDI
0042A1CA  |. 897C24 1C      MOV DWORD PTR SS:[ESP+1C],EDI
0042A1CE  |. 81E2 402C4648  AND EDX,48462C40
0042A1D4  |. 8BDA           MOV EBX,EDX
0042A1D6  |. 33DE           XOR EBX,ESI
0042A1D8  |. 8B70 08        MOV ESI,DWORD PTR DS:[EAX+8]
0042A1DB  |. 897424 10      MOV DWORD PTR SS:[ESP+10],ESI
0042A1DF  |. 33F5           XOR ESI,EBP
0042A1E1  |. 81E6 7F5FFA63  AND ESI,63FA5F7F
0042A1E7  |. 81F3 1C956E15  XOR EBX,156E951C
0042A1ED  |. 8BFE           MOV EDI,ESI
0042A1EF  |. 33FD           XOR EDI,EBP
0042A1F1  |. 8B68 14        MOV EBP,DWORD PTR DS:[EAX+14]
0042A1F4  |. 8B00           MOV EAX,DWORD PTR DS:[EAX]
0042A1F6  |. 897C24 28      MOV DWORD PTR SS:[ESP+28],EDI
0042A1FA  |. 8BF8           MOV EDI,EAX
0042A1FC  |. 896C24 20      MOV DWORD PTR SS:[ESP+20],EBP
0042A200  |. 33FD           XOR EDI,EBP
0042A202  |. 894424 14      MOV DWORD PTR SS:[ESP+14],EAX
0042A206  |. 8B4424 20      MOV EAX,DWORD PTR SS:[ESP+20]
0042A20A  |. 81E7 B39AA317  AND EDI,17A39AB3
0042A210  |. 8BEF           MOV EBP,EDI
0042A212  |. 33E8           XOR EBP,EAX
0042A214  |. 8B4424 18      MOV EAX,DWORD PTR SS:[ESP+18]
0042A218  |. 33C8           XOR ECX,EAX
0042A21A  |. 8B4424 10      MOV EAX,DWORD PTR SS:[ESP+10]
0042A21E  |. 33F0           XOR ESI,EAX
0042A220  |. 8B4424 1C      MOV EAX,DWORD PTR SS:[ESP+1C]
0042A224  |. 89B424 BC00000>MOV DWORD PTR SS:[ESP+BC],ESI
0042A22B  |. 8B7424 14      MOV ESI,DWORD PTR SS:[ESP+14]
0042A22F  |. 33D0           XOR EDX,EAX
0042A231  |. 8BC3           MOV EAX,EBX
0042A233  |. 334424 2C      XOR EAX,DWORD PTR SS:[ESP+2C]
0042A237  |. 33FE           XOR EDI,ESI
0042A239  |. 8B7424 28      MOV ESI,DWORD PTR SS:[ESP+28]
0042A23D  |. 81F5 AEC64592  XOR EBP,9245C6AE
0042A243  |. 81F6 80C58A65  XOR ESI,658AC580
0042A249  |. 3D 40655C3A    CMP EAX,3A5C6540
0042A24E  |. 75 6E          JNZ SHORT victima.0042A2BE
0042A250  |. 33FE           XOR EDI,ESI
0042A252  |. 81FF CF238165  CMP EDI,658123CF
0042A258  |. 75 64          JNZ SHORT victima.0042A2BE
0042A25A  |. 33D3           XOR EDX,EBX
0042A25C  |. 81FA E5624815  CMP EDX,154862E5
0042A262  |. 75 5A          JNZ SHORT victima.0042A2BE
0042A264  |. B8 F1F0F0F0    MOV EAX,F0F0F0F1
0042A269  |. F7E5           MUL EBP
0042A26B  |. C1EA 04        SHR EDX,4
0042A26E  |. B8 4FECC44E    MOV EAX,4EC4EC4F
0042A273  |. 8BFA           MOV EDI,EDX
0042A275  |. F7E5           MUL EBP
0042A277  |. 0FAFFE         IMUL EDI,ESI
0042A27A  |. C1EA 02        SHR EDX,2
0042A27D  |. 0FAFD3         IMUL EDX,EBX
0042A280  |. 03FA           ADD EDI,EDX
0042A282  |. 8BD6           MOV EDX,ESI
0042A284  |. 0FAFD3         IMUL EDX,EBX
0042A287  |. 03FA           ADD EDI,EDX
0042A289  |. F7D7           NOT EDI
0042A28B  |. 3BF9           CMP EDI,ECX
0042A28D  |. 75 2F          JNZ SHORT victima.0042A2BE
0042A28F  |. 8BCD           MOV ECX,EBP
0042A291  |. B8 ABAAAAAA    MOV EAX,AAAAAAAB
0042A296  |. 0FAFCB         IMUL ECX,EBX
0042A299  |. F7E1           MUL ECX
0042A29B  |. 8B8424 BC00000>MOV EAX,DWORD PTR SS:[ESP+BC]
0042A2A2  |. D1EA           SHR EDX,1
0042A2A4  |. 2BEA           SUB EBP,EDX
0042A2A6  |. 03EE           ADD EBP,ESI
0042A2A8  |. F7D5           NOT EBP
0042A2AA  |. 3BE8           CMP EBP,EAX
0042A2AC  |. 75 10          JNZ SHORT victima.0042A2BE
0042A2AE  |. 5F             POP EDI
0042A2AF  |. 5E             POP ESI
0042A2B0  |. 5D             POP EBP
0042A2B1  |. B8 01000000    MOV EAX,1
0042A2B6  |. 5B             POP EBX
0042A2B7  |. 81C4 B4000000  ADD ESP,0B4
0042A2BD  |. C3             RETN
0042A2BE     5F             POP EDI
0042A2BF     5E             POP ESI
0042A2C0  |. 5D             POP EBP
0042A2C1  |. 33C0           XOR EAX,EAX
0042A2C3  |. 5B             POP EBX
0042A2C4  |. 81C4 B4000000  ADD ESP,0B4
0042A2CA  \. C3             RETN



como te daras cuenta, si no es valido llega a

0042A2C1  |. 33C0           XOR EAX,EAX
0042A2C3  |. 5B             POP EBX
0042A2C4  |. 81C4 B4000000  ADD ESP,0B4
0042A2CA  \. C3             RETN

y si es valido llega aqui
0042A2B1  |. B8 01000000    MOV EAX,1
0042A2B6  |. 5B             POP EBX
0042A2B7  |. 81C4 B4000000  ADD ESP,0B4
0042A2BD  |. C3             RETN


por lo tanto con 1 cambio y colocando un serial tipo como te comentaba
puedes tener
Citar0042A2BE     5F             POP EDI
0042A2BF     5E             POP ESI

cambiar a  

0042A2BE    ^EB EE          JMP SHORT 0042A2AE
o  bien  Patches, item 0
CitarAddress=0042A2BE
Size=  2.
Old=POP EDI
New=JMP SHORT 0042A2AE

Click derecho
Copy to executable => All modifications
Copy all
cerrar => yes


y el guardado correra full en teoria con un valor asi:

[HKEY_USERS\valor\Software\WAV MP3 Converter 4]
"SN"=hex:XX,XX /omitidos"
"RegUsername"="Apuromafo"


o bien como bien te comentaba, si das con el serial correcto, que seria de largo 40, aplicando los xor y cuanto algoritmo , quizas alguien de con el , si tuviera mas tiempo

saludos Apuromafo



Axtrax

Resultado exelente :P sos un groso xD gracias por ayudarme a los 2