Eliminar Palabra DEMO en Programa

Iniciado por guruangel, 6 Diciembre 2007, 23:29 PM

0 Miembros y 2 Visitantes están viendo este tema.

Shaddy

Bien vale.. el tuyo lo veo, pero te digo que no hay manera de que me lo modifique... lo estoy mirando exactamente y mira, te digo que todo el rato comprueba en el arbol de raiz si esta el "aprod.dat", si está la línea esta:

00408477      0F95C0                setne al

será verdadera, es decir, hay un "aprod.dat" y por lo tanto lo muestra, una vez lo hay cuando le das a ejecutar cambios, ejecuta con una línea de comando ésto:

"csaint.exe C:\Documents and Settings\Usuario\Escritorio DEMOSTRACION_NO_FALLA_0414-4348711"

es decir, se confirma (creo) que utiliza el csaint.exe para realizar los cambios, pero ¿porque pone la cadena? si ni siquiera le indica que aprod.dat, como va a ejecutar eso ¬¬.. mira para comprobarlo dime si en esta línea:

004775BB  |.  E8 20ECF8FF           call <jmp.&kernel32.WinExec>                   ; \WinExec

te sale esa cadena al ejecutar, es decir, pones un bp con f2 en esa linea y cuando pare me pasteas la pila (la ventana de abajo a la derecha), algo así:

Citar
0012F5E4   009A7934  |CmdLine = "csaint.exe C:\Archivos de programa\Digital Byte\Saint Administrativo Cambio DEMOSTRACION_NO_FALLA_0414-4348711"
0012F5E8   00000002  \ShowState = SW_SHOWMINIMIZED

Salu2..




"Si buscas resultados diferentes, no hagas siempre lo mismo" (Albert Einstein)

http://abssha.reversingcode.com
http://www.reversingcode.com

guruangel

Oye ShadowDark, contigo si que da gusto aprender... jejeje... :xD

Te explico la situación, segui al pie de la letra tus instrucciones y pues... efectivamente si pasa lo que me dijiste.... Te paso el fragmento que aparece... Aqui te copio un pedazo hacia arriba y otro pedazo de abajo por si te sirve de algo... Al menos ya comprendo que es lo que hace el programa...

DATO: El programa no es necesario que le diga que esta el archivo aprod.dat en X lugar... no hay otro archivo a modificar... puedes tener 1 archivos binarios en la misma carpeta pero el va a busca siempre el mismo... aprod.dat.

Si logras ver el codigo fuente que te pase... pues quizas te sirva de ayuda... aun no encuentro con que programa compilarlo... pero creo que es turbo pascal 7 donde esta realizado. Gracias por la ayuda... Y espero por mas instrucciones... tan facil de manejar como las que me vienes dando...


Codigo:

0012F594   00A6480A
0012F598   004043B6  Cambio.004043B6
0012F59C   00A6479C  ASCII "csaint.exe C:\Archivos de programa\Digital Byte\Saint Administrativo Cambio DEMOSTRACION_NO_FALLA_0414-4348711"
0012F5A0   004043CB  Cambio.004043CB
0012F5A4   00000004
0012F5A8   0012F770
0012F5AC   0042DADC  Cambio.0042DADC
0012F5B0   00A6496C
0012F5B4   004775B2  Cambio.004775B2
0012F5B8   00477608  ASCII "DEMOSTRACION_NO_FALLA_0414-4348711"
0012F5BC   0047765C  Cambio.0047765C
0012F5C0   00A62358  ASCII "C:\Archivos de programa\Digital Byte\Saint Administrativo Cambio"
0012F5C4   00A6479C  |CmdLine = "csaint.exe C:\Archivos de programa\Digital Byte\Saint Administrativo Cambio DEMOSTRACION_NO_FALLA_0414-4348711"
0012F5C8   00000002  \ShowState = SW_SHOWMINIMIZED
0012F5CC   0012F924  Pointer to next SEH record
0012F5D0   004775F1  SE handler
0012F5D4   0012F5EC
0012F5D8   00A68950
0012F5DC   00A6479C  ASCII "csaint.exe C:\Archivos de programa\Digital Byte\Saint Administrativo Cambio DEMOSTRACION_NO_FALLA_0414-4348711"
0012F5E0   00477608  ASCII "DEMOSTRACION_NO_FALLA_0414-4348711"
0012F5E4   00A62358  ASCII "C:\Archivos de programa\Digital Byte\Saint Administrativo Cambio"
0012F5E8   00A6260C  ASCII "C:\Archivos de programa\Digital Byte\Saint Administrativo Cambio"
0012F5EC  /0012F734
0012F5F0  |0043F976  RETURN to Cambio.0043F976

Shaddy

Pues haz una prueba, ves al a linea que tiene lo de DEMOnoseque y la seleccionas, le das a Follow in dump - select constant o algo así xD, el caso es que te mostrará el texto en la ventana de abajo a la derecha, seleccionas lo de demostracion, el texto entero y le das al espacio (o escribes directamente xD) y le metes TODO 0s, así que cuando genere la rute que la genere sin el DEMOSTRACION, a ver si no te las chafa, es posible que al mandarle ese parámetro sustituya lo que hay por esa cadena, y si dejas la cadena a 0 no chafe nada (asegurate de quitar el espacio final).

Salu2..
"Si buscas resultados diferentes, no hagas siempre lo mismo" (Albert Einstein)

http://abssha.reversingcode.com
http://www.reversingcode.com

guruangel

Ok... siguiendo tus consejos hice lo que me indicaste y pues aunque no se que signifique "me chafe" imagino que sera si no me da error... jejeje... Aqui en Venezuela no se conoce ese termino... y me aparecio lo siguiente:

00477578  |.  8D45 F4               lea eax,[local.3]
0047757B      0000                  add ds:[eax],al
0047757D      0000                  add ds:[eax],al
0047757F      00E8                  add al,ch
00477581  |?  DF                    ???                                            ;  Unknown command
00477582  |?  CA F8FF               retf 0FFF8                                     ;  Far return


Y pues al intentar seguir el error que me marca en el 00477581 me congela el programa y no hace mas nada... y me da error en el Olly que dice:

Dont know how to bypass command at address00477584, try to change EIP or pass excepcion to program...

Ahora probando me fui al editor hexadecimal... busque donde aparecia la palabra "demostracion" y la sustitui con Zeros 00 y pues guarde y volvi a probar y pues ahora funciona el programa bien... Pero no modifica nada en el archivo binario... ni lo que tiene que modificar y mucho menos donde tiene que poner la palabra "Demostracion"

Que otra opcion tengo... ?? Seguiremos probando con otra alternativa...

Shaddy

a ver, lo que tienes que hacer, es cuando estas en esa linea (cuando metes el breakpoint), donde se ve la RUTA de comandos, editarla para que no ponga el DEMO, sin más).

Salu2..
"Si buscas resultados diferentes, no hagas siempre lo mismo" (Albert Einstein)

http://abssha.reversingcode.com
http://www.reversingcode.com

hackers690

guruangel eres una rata jajajajaja yo te dejo el programa mas barato 100 mil bs. para q te ganes tu dinerito ya tengo el del contable...

guruangel

Mandame un Demo para probarlo... jajajaja...

Mi pana no soy ninguna rata... Tengo el codigo fuente del programa... solo lo hago para aprender... quiero saber como se salta la proteccion de este tipo de archivos... Ademas que este no es tu programa... el tuyo esta realizado en DOS y pues no es Windows como este... jejejeje... El dueño de este me ofrecio todos en 100 mil... y tu uno solo por 100 mil... Pero tranquilo que solo me interesa aprender... Ademas... Tu mismo crackeaste el tuyo... No te quejes... jejejeje

Shaddy

bueno menos charla y mas comentar xD, como va la cosa?

Salu2..
"Si buscas resultados diferentes, no hagas siempre lo mismo" (Albert Einstein)

http://abssha.reversingcode.com
http://www.reversingcode.com

guruangel

Ok... Hace rato no probe porque no tenia suficiente tiempo y pues respondi al chico que me ofrecio el programa completo... jejeje... un cracker vendiendo un programa crackeado... a precio de original... Bueno... te explico...

Pongo a funcionar el programa en el olly... le doy F9 y se detiene en el bp que ya habia creado... justo en ese momento me voy abajo a la izquierda donde esta la pila donde aparece el siguiente codigo:

0012F5C0   00A6AF6C  ASCII "C:\Archivos de programa\Digital Byte2\Saint Administrativo Cambio"

0012F5C4   00A66110  |CmdLine = "csaint.exe C:\Archivos de programa\Digital Byte2\Saint Administrativo Cambio DEMOSTRACION_NO_FALLA_0414-4348711"

0012F5C8   00000002  \ShowState = SW_SHOWMINIMIZED

Hice unos cambios para probar... jejeje.. En la primera linea es el directorio donde esta el archivo APROD.DAT a modificar... Luego en la segunda linea esta el comando que me dices que modifique... ok... alli selecciono y me voy al FOLLOW IN DUMP y pues marco todo el codigo y lo modifico por Zeros (0's) le doy ACEPTAR y pues el programa termina... pero lo que no comprendo es que no me modifica nada...

No se si es que no me modifica nada en el archivo binario porque lo estoy trabajando en el Olly o porque de verdad no modifica nada porque elimine esa linea...

¿Existe una manera de guardar esos cambios en el ejecutable y hacerlo luego por el mismo programa a ver si me cambia algo? Porque no se donde aparece el offset de esa parte para modificarla en el hexadecimal y guardar los cambios...

Entiendo como trabaja el programa pero igual me confunde ese pedacito... espero por mas instrucciones a ver que pasa...

guruangel

Ok shadowdark.... Adelantos...

Desintale el programa... lo volvi a instalar... pero igualmente no me modificaba el archivo binario...  asi que agarre el archivo binario y cree en C: una carpeta llamada SAINT y dentro de esa carpeta cree otra mas llamada DATA y meti alli el archivo binario APROD.DAT y pues ahora si lo modifica normalmente con el "DEMOSTRACION"...

Abro el Olly... abro el programa y pues le pongo el bp con F2... sigo adelante y pues ahora elimino todo lo que dice DEMOSTRACION continuo y cuando reviso... Ahora si me lo modifico... pero ejecuta la rutina... efectua la division que debe efectuar pero entonces me deja la descripcion en blanco en vez de dejar el nombre que estaba en esa descripcion.

Sigo probando... y cualquier nombre o letra que coloque en donde va DEMOSTRACION pues el me la modifica y me la pone... pero si elimino todo pues elimina la descripcion del producto que estaba antes y lo cambia por espacio en blanco... Imagino que lo que hace con las demas cosas que modifica es leer los datos... copiarlo a la memoria... efectuar la division que debe efectuar y volver a escribirlos en el mismo lugar... en cambio en la descripcion no copia la informacion a la memoria sino que simplemente agrega la linea de demostracion sin importar lo que haya antes alli... y pues la descripcion que estaba me la sustituye con DEMOSTRACION...

Mi duda ahora es... ¿¿es posible saltar esta instruccion a algun otro punto donde efectue la division que debe efectuar pero que no modifique la descripcion ni con la palabra DEMOSTRACION ni con el espacio en blanco en caso de eliminar esa palabra?? O sera que el otro archivo realizado en DOS al que le manda las instrucciones a modificar tiene algo que ver con este proceso... Me parece interesante la aplicacion... jejejeje... Gracias por seguir ayudandome...