en busca del breakpoint adecuado...

Iniciado por Badcode, 20 Octubre 2003, 17:08 PM

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

Badcode

Bueno para empezar, no soy de los que buscan las respuestas,  sin haber antes intentado llegar a ellas, yo  solo quisiera haceros una  preguntae para que mas o menos me haga una idea, resulta que tengo un programa llamado "mp3 cd converter", este programa presenta la dificultad de que no te lleva al mensaje ese que anuncia que hay que registrarlo, es que ese mensaje buscandolo ni aparece, entonces me pregunto, que tecnica se podia mirar para seguir intentandolo?

bueno una vez el programa pide el registro, hay uans funciones como estas.

00469A30  |. FF15 6C114700  CALL DWORD PTR DS:

aqui esta llamando al serial?

00469A36  |. F645 D0 01     TEST BYTE PTR SS:[EBP-30],1

esto de test lo comprueba?

00469A3A     74 11     JE SHORT MP3CDCon.00469A4D

aqui es su condicional?

Bueno igual estoy diciendo paridas, pero es lo poco que creo saber aparte que poco a poco miro mas de emsamblador


Dyablo Poeta

holas! badcode, a ver busca y prueba metiendo un breakpoint en la api GetWindowTextA o si no en GetDItemtextA , a ver si rompe en algunas d ellas , si es asi ya solo t resta tracear... suerte  :P

byebye

bueno ese call puede que sea o no, entra en el y mira quer hace, o modifica el salto a ver que pasa.

Badcode

Citara ver busca y prueba metiendo un breakpoint en la api GetWindowTextA o si no en GetDItemtextA

dyablo poeta no aparecen esas apis, es curioso..., le dado a ctrl+n y no aparecen


Citarbueno ese call puede que sea o no, entra en el y mira quer hace, o modifica el salto a ver que pasa.

una vez se ejecuta esa call pide el registro,el programa solo avanza si pasas de registrarte, he modificado el "je short" por "jne short" a estas instrucciones le siguen estas otras,

00469A3C     0FB745 D4      MOVZX EAX,WORD PTR SS:[EBP-2C]
00469A40     EB 0E          JMP SHORT MP3CDCon.00469A50
00469A42  |> 803E 20        /CMP BYTE PTR DS:[ESI],20
00469A45  |.^76 D8          |JBE SHORT MP3CDCon.00469A1F
00469A47  |. 46             |INC ESI
00469A48  |. 8975 8C        |MOV DWORD PTR SS:[EBP-74],ESI
00469A4B  |.^EB F5          \JMP SHORT MP3CDCon.00469A42
00469A4D  |> 6A 0A          PUSH 0A
00469A4F  |. 58             POP EAX
00469A50  |> 50             PUSH EAX
00469A51  |. 56             PUSH ESI
00469A52  |. 53             PUSH EBX
00469A53  |. 53             PUSH EBX                                 ; /pModule
00469A54  |. FF15 68114700  CALL DWORD PTR DS:[<&KERNEL32.GetModuleH>; \GetModuleHandleA
00469A5A  |. 50             PUSH EAX
00469A5B  |. E8 94000000    CALL MP3CDCon.00469AF4
00469A60  |. 8945 98        MOV DWORD PTR SS:[EBP-68],EAX
00469A63  |. 50             PUSH EAX                                 ; /status
00469A64  |. FF15 BC184700  CALL DWORD PTR DS:[<&MSVCRT.exit>]       ; \exit
00469A6A  |. 8B45 EC        MOV EAX,DWORD PTR SS:[EBP-14]
00469A6D  |. 8B08           MOV ECX,DWORD PTR DS:[EAX]
00469A6F  |. 8B09           MOV ECX,DWORD PTR DS:[ECX]
00469A71  |. 894D 88        MOV DWORD PTR SS:[EBP-78],ECX
00469A74  |. 50             PUSH EAX
00469A75  |. 51             PUSH ECX
00469A76  |. E8 2D000000    CALL <JMP.&MSVCRT._XcptFilter>
00469A7B  |. 59             POP ECX
00469A7C  |. 59             POP ECX
00469A7D  \. C3             RETN


gracias.

Badcode

solo dandole al trace se queda aqui

00469A08  |> 46             /INC ESI
00469A09  |. 8975 8C        |MOV DWORD PTR SS:[EBP-74],ESI
00469A0C  |. 8A06           |MOV AL,BYTE PTR DS:[ESI]
00469A0E  |. 3AC3           |CMP AL,BL
00469A10  |. 74 04          |JE SHORT MP3CDCon.00469A16
00469A12  |. 3C 22          |CMP AL,22
00469A14  |.^75 F2          \JNZ SHORT MP3CDCon.00469A08


byebye

bien eso es un bucle,pero que mueve de esi a al? ¿y que contiene al y bl? eso lo tienes que ver tu aunque pongas codigo solo se puede suponer.

Dyablo Poeta

ey badcode no quiero kitarte la emocion pero estoy viendo el mp3 cd converte intenta ponerle un breakpoint en la api  MSVCRT._mbscmp luego intenta registrarte y tendra lo anhelado j3j3j3...


Badcode

Bueno Dyablo poeta le puse un keygen al asunto para ver si luego podia ver cambios, no vi nada jejeje, ahora lo malo sera que para probar lo me has dicho tendria que pedirme el registro y no lo pide, se a registrado, estoy bsucando un programa para monitorizar los registros, ahora le pase el regcleaner y haber si me deja instalarlo de nuevo y asi poder ponerle breakpoint aqui  no ?

00469B28  |. FF15 F4184700  CALL DWORD PTR DS:[<&MSVCRT._setmbcp>]   ; \_setmbcp

por cierto si es aqui que funcion tiene msvcrt?


Citarbien eso es un bucle,pero que mueve de esi a al? ¿y que contiene al y bl? eso lo tienes que ver tu aunque pongas codigo solo se puede suponer.

podia ser el serial......



byebye

Citarpor cierto si es aqui que funcion tiene msvcrt?

es la libreria donde se encuentra la funcion.

Citarpodia ser el serial......

si antes de usar el keygen hicieses lo que dijo dyablo poeta....... tendrias tu serial en los morros.

puedes poner un bpx en CreateFile o en RegOpenKey para ver si lee de algun archivo o del registro que efectivamente estas registrado.por lo general si es de un archivo con borrarlo te volvera a pedir que lo registres y si es del registro con borrarle los valores lo mismo.

Badcode

Citarpuedes poner un bpx en CreateFile o en RegOpenKey para ver si lee de algun archivo o del registro que efectivamente estas registrado

no entiendo eso que dicie, eso se hace con el olly o es un comando de windows?

Citarsi antes de usar el keygen hicieses lo que dijo dyablo poeta....... tendrias tu serial en los morros.

quiere decir que la instruccion que me dio donde debia de poner breakpoint  me daba el serial?.

pues he desinstalado y he pasado limpiadores del registro y vuelvo a instalar y me sale ya registrado, aparte decir que el programa es lo de menos, lo he cogido a boleo para practica.

saludos.