elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 [2] 3 4
11  Programación / Ingeniería Inversa / Re: Ayuda para crackear un programa en: 29 Julio 2010, 01:05 am
Hola N0mada:
Yo antes de buscar la rutina de impresion busque la que hacia que aparezca la palabra [DEMO] delante del nombre de la empresa, y grata fue mi sorpresa cuando al parcharla tambien desapareció la leyenda en la impresión de facturas (sin querer mate dos pajaros de un tiro  ;D). Se ve que la misma rutina maneja ambas cosas.
Para encontrarla busca en las cadenas de texto la palabra [DEMO]. Solo hay dos ocurrencias y estan una debajo de la otra.
Subis un poco en el código hasta la CALL de 00D13ECF. Esa es la que tenes que parchar para que devuelva 1 en AL. De esa forma desaperece tambien la leyenda "Version de demostracion" en la impresion de facturas.
No se si habra alguna otra limitacion, yo solo encontre esas pero como no uso este tipo de programas quizas tenga otras. Es cuestion de probarlo.
Saludos


PD: ah me olvidaba, para que funcionen todos los cambios tenes que hacer un loader
12  Programación / Ingeniería Inversa / Re: Ayuda para crackear un programa en: 27 Julio 2010, 03:14 am
Hola tena, cuando ingresas al programa te aparece la ventana principal con varios botones grandes en el medio. Presionas en cualquiera de ellos y te aparece una nag con un contador de 10 segundos despues de los cuales se habilita la opcion de continuar probando la aplicacion. Dentro de esa nag tambien esta la opcion de registrarse.
El metodo mas facil que encontre para romper cerca de la comprobacion del codigo de registro es el que cite en el post anterior. De esa forma llegue a una CALL en la direccion 00DBDFA6 que venia de un JE en 00DBDDB7. Ahi entras en la CALL que esta encima del salto y la parchas para que devuelva un 1 en AL. De esa forma te acepta cualquier codigo de registro y la proxima vez que ingresas ya no aparece la nag.
Luego hay parchar otra rutina para que no aparezca la palabra [DEMO] delante del nombre de la empresa ni la leyenda "Version de demostracion" al imprimir las facturas.
13  Programación / Ingeniería Inversa / Re: Ayuda para crackear un programa en: 26 Julio 2010, 04:28 am
Proba con el método que comentó LSL en otro post:

Citar
busca los mensajes en memoria con Alt+M, Control+Inicio y Control+B (para buscar), una vez localizado el texto, le pones un "Breakpoint > Memory on access".

Proba buscando el mensaje "el código de desbloqueo no es correcto" que es el error que te tira cuando ingresas la clave. Luego anda fijandote en el stack a donde regresa y si en ese lugar hay algun salto que lo evite. Si el primer RETURN TO del stack no cumple con esa condicion, baja hasta el siguiente y asi que llegues a una parte de codigo con un salto que evite el CALL que lleva al mensaje de error.
Saludos
14  Programación / Ingeniería Inversa / Re: Traducción dup2 a español beta en: 23 Julio 2010, 18:20 pm
Gracias yako por tomarte el trabajo de traducirlo. A mi también me parece que esta muy bueno este programa.
Saludos
15  Programación / Ingeniería Inversa / Re: Novateando con un programa. en: 22 Julio 2010, 12:25 pm
Hola M0str3nc0, yo también soy nuevo en esto pero si me decis cual es el programa quizas pueda darte una mano (dos cabezas piensan mas que una  :D).
Con respecto a la API IsDebuggerPresent, si tenes un plugin que la evita Olly no se va a detener ahí.
Saludos
16  Programación / Ingeniería Inversa / Re: API para mostrar mensaje en Delphi en: 15 Julio 2010, 15:42 pm
Gracias MCKSys, voy a probarlo.
Saludos
17  Programación / Ingeniería Inversa / API para mostrar mensaje en Delphi en: 15 Julio 2010, 05:07 am
Hola, queria saber que API suelen utilizar los programas hechos en Delphi en lugar de MessageBox (o MessageBoxA,MessageBoxExA,MessageBoxW)?
Estoy viendo un programa que me muestra una ventana que dice que la clave que ingreso no es valida con un boton de aceptar (tipico MessageBox) pero no para la ejecucion poniendo un bp en dicha API. Si lo hace con DestroyWindow.

Saludos y gracias
18  Programación / Ingeniería Inversa / Re: Ayuda para crackear software (parking manager) con OLLYDBG en: 11 Julio 2010, 04:47 am
Ahora cuando ingresas dice "Illimitata", en cambio como lo habia hecho yo no. Esto confirma lo que vos decis, que hay otros lugares dentro del programa en los que se utiliza el valor de la dirección 71A0F4.

Saludos
19  Programación / Ingeniería Inversa / Re: Ayuda para crackear software (parking manager) con OLLYDBG en: 10 Julio 2010, 22:52 pm
En la primera referencia en la que mueve un 0 a [71AEC] se puede ver que habla de "Illimitata", la verdad que ni me habia fijado (yo tambien soy nuevo en esto).

Llendo hacia atras desde ese punto tuve que cambiar el salto de la dirección

00706414 JLE ParkingM.007064F9
por
00706414 JMP ParkingM.007064F9

 para llegar al procedimiento que comienza en 00706550 (Illimitata) y luego cambié el "PUSH ParkingM.004308C0" de la linea 007065A2 por "PUSH EAX" para que compare por el mismo valor como vos bien dijiste. Despues de eso el programa mueve un 3 a una dirección de memoria y un 0 a [71A0EC] dejandolo registrado.

¿es asi como lo hiciste LSL?

20  Programación / Ingeniería Inversa / Re: Ayuda para crackear software (parking manager) con OLLYDBG en: 10 Julio 2010, 17:30 pm
Hola elias_aa5, para registrarlo tenes que hacer tal como te dijo LSL. Busca las cadenas de texto y vas a ver lo siguiente:

005FDEEC PUSH ParkingM.00424D90   UNICODE " (NOT REGISTERED)"
005FDF79  PUSH ParkingM.00424DB8   UNICODE " (REGISTERED)"

Si vas a la dirección 005FDEEC y subis un poco en el código vas a ver el siguiente salto:

Código:
005FDE72      .  FF15 5C104000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeOb>;  MSVBVM60.__vbaFreeObjList
005FDE78      .  8B1D 90A17100  MOV EBX,DWORD PTR DS:[71A190]
005FDE7E      .  83C4 44        ADD ESP,44
005FDE81      .  66:833D ECA071>CMP WORD PTR DS:[71A0EC],0
005FDE89      .  0F84 8D000000  JE ParkingM.005FDF1C

Ahi ves como compara el valor almacenado en 71A0EC (que es 0FFFF) con 0 y si son iguales te lleva a REGISTERED de lo contrario va a NOT REGISTERED.
Despues seguis como te dijo LSL, "Find references to Address constant" o pones un Hardware Breakpoint on Write en esa dirección de memoria y ves cuando escribe el valor 0FFFF para cambiarlo por un 0.
Saludos




Páginas: 1 [2] 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines