Título: Problema con registro en Delphi -->MCKSys Argentina Publicado por: yako-_- en 13 Mayo 2010, 04:40 am Hola que tal, me pasa una cosa rara cuando salto una proteccion de un programa escrita en Delphi y me registro al cerrar y volver a abrir el programa, me dice que no estoy registrado pero le vuelvo a dar a registrar y se me registra perfectamente hasta que vuelvo a cerrar abrir alguien me puede iluminar. Seguro que pa los fenomenos es facil pero a mi me esta volviendo loco
solo me pasa con programas escritos en Delphi aki estan mis dos ejemplos con su original adjunto muchas gracias de antemano http://www.megaupload.com/?d=BKTF5J67 pesa 3MB PD: MCKSys Argentina, no es por menospreciar nadie en absoluto pero lei muchas de tus respuestas y se nota que controlas y te gusta ayudar. a ver si me puedes echar una mano, y si no es mucho molestar tambien en mis otros dos post. Gracias de antemano Título: Re: Problema con registro en Delphi -->MCKSys Argentina Publicado por: PeterPunk77 en 13 Mayo 2010, 17:01 pm Eso pasa porque realmente no está registrado. Y al arrancarlo de nuevo busca el código en el registro de Windows, vuelve a comprobar y ve que no está registrado.
De todas formas, éste parece muy fácil. Lo que es el registro es inviable sacarlo: Una clave de 36 caracteres de la que calcula el MD5 y luego la compara con muchísimas que están en el propio programa a partir de 0x4D6DAC. Pero si estudias el código que has parcheado para que te muestre que estás registrado verás que se pone a 1 una bandera que es apuntada desde 0x54A5DC. Así que con buscar todas las referencias a esa dirección: Código: References in Art:.text to 0054A5DC 1º fuerzas salto 2º nopeas 3º nopeas 4º nada 5º y 6º nopea 0050FF02 |. /74 33 JE SHORT 0050FF37 0050FF29 |. /74 0C JE SHORT 0050FF37 7º nopeas 8º nopeas Aunque supongo que con parchear sólo los dos saltos que indico en el 5º y 6º punto debería llegar, ya que parece que es cuando comprueba el código en el registro. Saludos. Título: Re: Problema con registro en Delphi -->MCKSys Argentina Publicado por: tena en 13 Mayo 2010, 18:35 pm El archivo al que está intentando acceder está temporalmente desactivado. :(
Título: Re: Problema con registro en Delphi -->MCKSys Argentina Publicado por: yako-_- en 13 Mayo 2010, 19:39 pm PeterPunk77 eres una maquina te tengo leido por otro foros y me quedo sorprendido.Aunque aparentemente parece facil explicado por ti yo soy nuevo en esto y aun no me entero mucho muchas gracias por la respuesta. Me lo podias explicar de una manera mas simple para uno que no entiende mucho? :) uso ollydb muchas gracias de antemano.
mis dudas: ¿De cual de los dos programas me habalas? ¿como sabes esto(donde lo miras)? Lo que es el registro es inviable sacarlo: Una clave de 36 caracteres de la que calcula el MD5 y luego la compara con muchísimas que están en el propio programa a partir de 0x4D6DAC. y esto tampoco lo entiendo: Pero si estudias el código que has parcheado para que te muestre que estás registrado verás que se pone a 1 una bandera que es apuntada desde 0x54A5DC. Así que con buscar todas las referencias a esa dirección: PD: se que no te gusta hacer tutoriales ;) El archivo al que está intentando acceder está temporalmente desactivado. :( ya esta a mi me va lo acabo de provarTítulo: Re: Problema con registro en Delphi -->MCKSys Argentina Publicado por: MCKSys Argentina en 13 Mayo 2010, 21:40 pm Je,je,je,je... Bueno, parece que ya no me necesitas... ;)
@PeterPunk77: Buen trabajo amigo (aunque, la verdad, no esperaba menos de ti ;D) Saludos! Título: Re: Problema con registro en Delphi -->MCKSys Argentina Publicado por: PeterPunk77 en 13 Mayo 2010, 22:02 pm ¿De cual de los dos programas me habalas? ??? Esta vez soy yo el que no te entiende a ti. Hablo del ejecutable art.exe que es el único que he abierto.La verdad es que ni siquiera he tocado el tuyo, pero como leí que decías que cuando le dabas a registrar el programa se te "registraba bien", supuse que habías parcheado esta zona: Código: 0050CAE9 |> \C645 FF 00 MOV BYTE PTR [EBP-1],> ¿De cual de los dos programas me habalas? ¿como sabes esto(donde lo miras)? Lo que es el registro es inviable sacarlo: Una clave de 36 caracteres de la que calcula el MD5 y luego la compara con muchísimas que están en el propio programa a partir de 0x4D6DAC. [/quote]Sólo hay que profundizar en el código antes expuesto: Código: 0050CB0F |. E8 0875EFFF CALL 0040401C Luego entramos aquí: Código: 0050CB2B |. E8 D0320000 CALL 0050FE00 Código: (...) y esto tampoco lo entiendo: Eso aún está más claro: el programa nada más indicar que estás bien registrado pone esa bandera a 1:Pero si estudias el código que has parcheado para que te muestre que estás registrado verás que se pone a 1 una bandera que es apuntada desde 0x54A5DC. Así que con buscar todas las referencias a esa dirección: Código: 0050CB88 |. B8 C4CC5000 MOV EAX,0050CCC4 ; |ASCII "Thank you for registering !" Código: 0050CACC |. A1 DCA55400 MOV EAX,[54A5DC] PD: se que no te gusta hacer tutoriales ;) Ja ja ja. Es cierto que soy un "poco" vago.Aunque para excusarme un poco también he de decir que tampoco dispongo de mucho tiempo. De todas formas todo depende de a quien vaya dirigido. Si creo que no va a ser de utilidad porque nadie lo va a leer, ya ni se me pasa por la cabeza hacerlo. Pero también es cierto que tengo creado tutoriales "exclusivos" para algunas personas que se mostraban interesadas en privados. Saludos. Je,je,je,je... Bueno, parece que ya no me necesitas... ;) Muchas gracias, aunque era lo suficientemente sencillo para que tú o Tena os aburriéseis.@PeterPunk77: Buen trabajo amigo (aunque, la verdad, no esperaba menos de ti ;D) Saludos! Saludos nuevamente (que MCKSys contestó mientras posteaba). Título: Re: Problema con registro en Delphi -->MCKSys Argentina Publicado por: yako-_- en 14 Mayo 2010, 02:33 am muchas gracias por la extensa explicación PeterPunk77 a y gracias también por hacerme caso a MCKSys Argentina. :)
Pero aun estoy muy verde, estuve repasando el código y la explicación, pero no logro comprender como llegaste a la conclusión de buscar todas las referencias de 0x54A5DC. Acabo de sacarle un serial a un programa que es muy similar a este, solo que te crea un archivo propio con el registro en la carpeta del programa en vez de en regedit, y seguí el mismo procedimiento con el Art.exe ya que la protección es muy similar (lo unico que no hace es la comparación MD5 y ese bucle casi infinito XD) pero no llego a esa conclusión que tu as llegado. También e de decir que soy nuevo en esto, y quizás das por echo que se mas de lo que realmente se XD. De todas muchas gracias, y seguiré leyendo mas tutes de Ricardo Narvaja. A en la dirección que compara nuestro md5 con todos los validos da códigos a tropel pero no funcionan. (Por que) Solo 2 preguntas: ¿me podrias mandar los tutes que as echo para leerlos? y ¿como buscas las referencias a una dirección? yo me pongo encima le doy ctrl+R pero no me sale lo que a ti a ti te sale esto: Código: References in Art:.text to 0054A5DC Y a mi con control+R encima de la dirección solo me sale 1 dirección que la misma de la que estoy encima (perdonadme por mi ignorancia). Saludos Alguien me puede pasar las Cracker Notes que en todos los lados que la encuentro esta offline. Título: Re: Problema con registro en Delphi -->MCKSys Argentina Publicado por: tena en 14 Mayo 2010, 05:46 am Código: 0050CACC |. A1 DCA55400 MOV EAX,[54A5DC] Pues si te fijas, el salto ese depende de lo que contenga esa variable, si hay un 1 esta registrado, si hay un cero entonces lola :P Bueno yo le acabo de hechar un vistazo, y aunque ponga en 1 esa variable, luego al reiniciar, lo sobreescribira aqui... Código: 0050FECE C600 00 MOV BYTE PTR DS:[EAX],0 ; lo setea a cero Asi que modificando ahi, para que meta un 1, lo unico que hacia era elimanar del menu Help a buy online y register... Por lo que no estaba totalmente registrado.. Si te fijas en el codigo... Código: 0050CB2B |>CALL <_Art.FUNCION DE REGISTRO> Veras que si AL vale 1, estas registrado y el JE no salta, si AL es Cero, el salto se produce y te dice que no estas registrado. Si entras al Call que retorna Al en 1 o 0, veras al final del codigo que retorna AL... 0050FEA9 . 8>MOV AL,BYTE PTR SS:[EBP-5] ; si o no registrado 0050FEAC . 8>MOV ESP,EBP 0050FEAE . 5>POP EBP 0050FEAF . C>RETN y si te fijas un poquito arriba cuando [ebp-5] toma el valor 1, encotras esto.. 0050FE72 |. E>|CALL _Art.0049B544 ; \_Art.0049B544 0050FE77 |. 4>|DEC EAX 0050FE78 7>JNZ SHORT _Art.0050FE80 0050FE7A |. C>|MOV BYTE PTR SS:[EBP-5],1 ; Registrado por lo tanto si nopeas ese JNZ quedara registrado, ya que metera siempre un 1 en la variable. En fin, las dos soluciones son validas, el objetivo se cumple :) .... La idea es esa Call getValidarRegistro() cmp registrado,1 je salto_a_registrado Tenes que entrar a la funcion y lograr que la variable registrado salga con el valor 1 o segun convenga. slds Título: Re: Problema con registro en Delphi -->MCKSys Argentina Publicado por: yako-_- en 14 Mayo 2010, 12:14 pm Hola tena!! gracias por tu respuesta por esa parte del codigo estuve yo trasteando, pero no habia llegado a la conclusion si sabia que hay dos saltos que te llevan a la zona mala uno si no pones numeros y la otra lo que no me habia fijado es en
0050FE72 |. E>|CALL _Art.0049B544 ; \_Art.0049B544 0050FE77 |. 4>|DEC EAX 0050FE78 7>JNZ SHORT _Art.0050FE80 0050FE7A |. C>|MOV BYTE PTR SS:[EBP-5],1 ; Registrado me quedo muy claro!! te explicas bien, Lo que pasa que yo aun empiezo y no se por ejemplo que """0050FE7A |. C>|MOV BYTE PTR SS:[EBP-5],1""" me indica que estoy registrado ya que no conozco esa instruccion ni lo que hace. Ahora lo se. Pero antes nunca deduciria que poniendo esa instrucciona 1 me registraria ni que al tiene que valer 1. es algo similar a lo que PeterPunk77 me dice que la bandera se pone a uno y ahora lo entiendo pero claro no me fije en eso pues no sabia para que valia esa funcion. Boy a seguir estudiando los tutes del foro y R.N para poder llegar yo solo a esas conclusiones esa es mi meta!! ;D Saludos y gracias PD: con que comando se muestran el olly "References in Art:.text to xxxxx" ya se que con Ctl+R no.(perdona mi ignorancia, es que no lo encuentro) Título: Re: Problema con registro en Delphi -->MCKSys Argentina Publicado por: PeterPunk77 en 14 Mayo 2010, 13:02 pm Solo 2 preguntas: ¿me podrias mandar los tutes que as echo para leerlos? Para la primera pregunta. Lo cierto es que esos tutoriales "individualizados" (¿esto existe o me lo acabo de inventar?) los escribo contestando mensajes privados así que no los tengo. Tendría que revisar los foros por los que los he hecho a ver si guardan copia y conservo alguno a ver si hay suerte.También tengo alguno en inglés en crackmes.de http://www.crackmes.de/users/peterpunk y recuerdo haber hecho uno en PDF sobre esto: http://foro.elhacker.net/ingenieria_inversa/me_kedan_10_dias_o_no_se_si_devolverlo-t246629.0.html;msg1191695#msg1191695 Si lo encuentro te lo paso por privado. y ¿como buscas las referencias a una dirección? yo me pongo encima le doy ctrl+R pero no me sale lo que a ti Botón derecho en la línea de la que quieras ver las referencias y allí:a ti te sale esto: Código: References in Art:.text to 0054A5DC Y a mi con control+R encima de la dirección solo me sale 1 dirección que la misma de la que estoy encima (perdonadme por mi ignorancia). Find References -> Address Constant Lo cierto es que dependiendo de la línea sobre la que hagas click con el botón derecho te pueden salir diversas opciones. Por ejemplo (código de un programa aleatorio) Código: 0045F3B0 /. 832D 64544600 01 SUB DWORD PTR [465464],1 -Selected Command CTRL+R <- te busca las referencias a 0x45F3B0 en este caso a mi me devuelve Código: References in Keygneme:.text to 0045F3B0 Esta me muestra mogollón de líneas (todas en las que se pone algo a 1) -Address constant <- referencias a 0x465464 Me devuelve Código: References in Keygneme:.text to 00465464 Si la línea sobre la que pinchas es un salto o una llamada te aparecerían aparte del "Selected Command CTRL+R" (que aparece siempre), "Jump Destination" o "Call Destination" dependiendo del caso. Saludos. Título: Re: Problema con registro en Delphi -->MCKSys Argentina Publicado por: yako-_- en 14 Mayo 2010, 16:05 pm hola PeterPunk77!! y otra vez gracias por ahora no tengo mas dudas, puesto que para llegar a la conclusión que llegasteis tu y tena tengo que aprender mas sobre las funciones. (Voy a destripar ese .exe >:()
Saludos Y otra vez gracias a PeterPunk77 a tena y a MCKSys Argentina por interesarse por el asunto Título: Re: Problema con registro en Delphi -->MCKSys Argentina Publicado por: LSL en 15 Mayo 2010, 04:13 am y recuerdo haber hecho uno en PDF sobre esto: http://foro.elhacker.net/ingenieria_inversa/me_kedan_10_dias_o_no_se_si_devolverlo-t246629.0.html;msg1191695#msg1191695 Si lo encuentro te lo paso por privado. Hola PeterPunk77, si lo encuentras me gustaria leerlo, me acuerdo que por falta de tiempo y de conocimientos :-() no terminé aquel tema de mochila y drivers de impresión, y me quedé con las ganas de ver el final del partido en el que ganastes por 1 a 0 ;D |