Tema destacado: Suscripción al boletín mensual de elhacker.net
Autor
|
Tema: Eliminar Palabra DEMO en Programa (Leído 15,555 veces)
|
guruangel
Desconectado
Mensajes: 18
|
Hola chicos:
Recien me inicio en estos lados y pues he empezado con un programa bastante sencillo que se encarga de modificar un archivo binario externo... Es decir... el programa abre un archivo .DAT lee las variable y modifica cierta parte con una formula matematica y luego guarda el archivo de nuevo... la unica pega es que en el "demo" coloca la palabra "DEMOSTRACION" en un campo de ese archivo binario que modifica...
La tarea que he querido hacer es desemsamblar el programa y eliminar la orden donde coloca la palabra "DEMOSTRACION" para que haga lo demas y me deje ese campo sin modificar... Lo he desemsanblado con W332dasm v9 y pues he encontrado las palabra Demostracion una vez, mas el nombre del archivo que modifica dos veces...
El nombre del archivo .DAT que modifica un poco mas abajo de la palabra demostracion y luego mucho mas arriba el archivo .DAT de nuvo con muchas mas instrucciones...
El problema es que he modificado algunos bytes y pues me deja de colocar la palabra "demostracion" pero el problema es que lo sustituye por espacio en blanco y en otros caso por puntos... pero el problema es que en donde va a poner la palabra "demostracion" ya hay texto y pues no me interesa que modifique ese texto... solo me interesa que haga lo demas sin colocar demostracion y asi no modificar el texto que ya esta...
cosas importante que logre ver...
"Palabra Demostracion" mov edx, 00477608 call 00404064
"archivo binario que modifica" mox eax, 00477634 call 0040846c tests al, al je 004775c0 push 00000002
y luego mucho mas arriba aparece de nuevo el archivo binario que se modifica con las siguientes instrucciones:
mov eax, 0047752c call 0040846c test al, al je 004774f5 mov dl, 01 mov eax, dword ptr [ebx+0000032c] mov ecx, dword ptr [eax] call [ecx+64] jmp 00477502
Mi pregunta es:
Me podrias explicar un poco que hace la rutina aqui?? veo que hace unos llamados y unos salto... ademas de algunos movimientos... pero hay algunas cosas que no entiendo como "mov dl, 01" que hace especificamente esto..
Les recuerdo que me recien comienzo y todos los manuales que consigo son con oddy o con softice y ninguno que me explique que tengo que modificar ni como en w32dasm...
Me agradaria que me explicara que hace el programa y a donde debo de ir a modificar... o que debo de buscar para modificarlo... segun tengo entendido tendria que buscar un salto y modificarlo... pero cual salto?? y modificarlo con cual digito?? utilizo el Hex workshop para modificar el archivo hex...
Muchas gracias de antemano por quienes me puedan ayudar a explicar... se que es demasiado facil el programa para ustedes pero hay muchas cosas que no comprendo... y pues quiero que me ayuden para seguir asi progresivamente avanzando... muchas gracias...
Si alguien quiere revisar el programa o modificarlo y luego decirme como se hace para entender la rutina y saber que teniamos que modificar... pues me avisan y se los paso a traves de un servidor publico o si me dejan su correo se lo paso y asi me ayudan analizando mejor el codigo... Mil Gracias
|
|
|
|
|
En línea
|
|
|
|
|
Karman
|
mov dl, 01 copia al registro dl "01", habría que ver el código para darte una explicación mas completa... te convendría subirlo a algún server gratuito y si alguien tiene tiempo que lo vea y te de una mano...
S2
|
|
|
|
|
En línea
|
|
|
|
guruangel
Desconectado
Mensajes: 18
|
Aqui esta el archivo a modificar... Por si alguien se atreve a ayudarme con el codigo... Si lo modifica puede explicarme luego que modifico para poder yo aprender... http://www.zshare.net/download/5432772e353fff/Gracias de Antemano al valiente...
|
|
|
|
|
En línea
|
|
|
|
|
karmany
|
Hola guruangel, bienvenido.
He echado un vistazo a tu archivo ejecutable y da error al intentar leer una zona de memoria en una dirección que no pertenece al ejecutable. He analizado la Import Table y no logro ver cual es el fallo. ¿Has arreglado correctamente la IAT? ¿Es el ejecutable original? yo diría que no.
Mira, las librerías que importa son todas de system32 y además el programa está compilado con Delphi, así que no debería tener ninguna dependencia más (en principio, solamente para cargarlo y llegar al OEP). Yo particularmente creo que el dumpeado que has hecho no es correcto. Para no cometer errores sube solamente el instalador y así no habrá problemas...
Un saludo. karmany
PD. Para localizar los eventos en Delphi puedes utilizar Dede, EA2, MiniDe y muchos programas más, que te dirán mucha información. Una última cosa... en vez de analizarlo con WinDasm utiliza el OllyDBG que tiene muchísimas más opciones y es mucho más sencillo dar con la solución a tu problema.
|
|
|
|
|
En línea
|
 - "Tu sitio para aprender, enseñar y compartir"
|
|
|
guruangel
Desconectado
Mensajes: 18
|
Gracias por responder chicos... Les comento que he subido el instalador de nuevo y ademas algunas otras instrucciones para que se le haga mas facil ayudarme... Ya he probado con el OllyDBG y el OllyPersonal y pues ambos me siguen pareciendo extraños... Estoy dandole con el curso de Ricardo pero a veces me medio pierdo entre los saltos y la estructura del programa... Quizas este programa no es tan facil o es muy diferente al tener que eliminar un NAG o buscar un serial... Aqui les dejo el programa original.... con su instalador y ademas el archivo binario que modifica solo para que le echen un vistazo... y tambien les dejo un supuesto CODIGO FUENTE que encontre que es del mismo programa... Pueden analizar la estructura de como esta diseñado el programa. Aunque no estoy seguro que sea del mismo ejecutable que les estoy pasando... pero hace lo mismo... Si alguien pudiera compilarlo y pasarme el ejecutable estare muy agradecido igualmente... Eso tambien me ayudaria a aprender a programar... jejejeje Muchas gracias de antemano nuevamente y pues seguire con los manuales de Ricardo a ver si doy con el problema... Lo que si puedo asegurarle que me dijo el PEiD es que esta diseñado en Delphi y no esta protegido... Aqui el enlace de descarga... Disculpen que sea de 5 megas... http://www.zshare.net/download/5445445f048502/Gracias futuros colegas.. 
|
|
|
|
|
En línea
|
|
|
|
|
Shaddy
|
Pues no logro ver los cambios que me dices, he cogido el .dat que tu subiste y el otro, y lo he "modificado" segun dice el programa, hice una comparacion binaria y queda igual, así que no se que es lo que modifica, tampoco tiene cadenas que digan "DEMO" y el programa si que vi zonas interesantes pero si no puedo ver que es lo que quieres hacer exactamente no sirve de nada.
Salu2..
|
|
|
|
|
En línea
|
|
|
|
socketz
Desconectado
Mensajes: 52
Be tinto my friend
|
El programa que has colgado es el completo porque a mi no me pone nada de que es una versión Demo :S menuda ***** de programa por cierto
|
|
|
|
|
En línea
|
|
|
|
guruangel
Desconectado
Mensajes: 18
|
Hola Chicos: Primero que nada... No estoy loco... jejeje... Estoy seguro que el archivo es DEMO... lo que pasa es que no hace lo que comunmente hacen los demas demo... no marca "DEMO" por ningun lado... dejenme explicarle como funciona el programa para los que me quieran ayudar... Aqui esta el mismo ultimo enlace que subi: http://www.zshare.net/download/5445445f048502/Alli encontraran tres carpetas... En uno instalan el programa... en la otra carpeta esta el archivo DAT a modificar... y una ultima con un codico fuente que es supuestamente de una aplicacion como la de este demo segun supongo... pero que aun no he conseguido compilar porque me da una serie de errores... Al instalarlo se van a la carpeta de programa y encontraran dos archivos... uno que esta realizado en Delphi 7 y otro secundario que es realizado en un compilador bajo DOS... ok... abren el programa y seleccionan de la lista el archivo binario que esta incluido en la carpeta de descarga... y luego que le dan "Realizar Cambios" me aparece una ventana donde dice "Cambios realizados satisfactoriamente" y luego cerramos el programa... Segun entiendo el programa diseñado en delphi (que es el que se supone hay que crackear) tiene una serie de modificaciones que hace al archivo binario... unas multiplicaciones y divisiones que hace a algunas variables de ese archivo... pero ademas de todo eso... tambien selecciona una descripcion que aparece en ese archivo binario y las cambia por la palabra "Demostracion" y lo guarda conjuntamente con las modificaciones que hace a las demas variables... Solo necesito que el haga las modificaciones a las variables pero que cuando tenga que modificar la variable "descripcion" no la modifique con la palabra "demostracion" sino que la deje funcionando tal cual como esta con la descripcion que tiene... Prueben y veran que si abren el archivo binario con el bloc de notas despues que lo hayan modificado se incluye la palabra "Demostracion" en el archivo binario... Lo que no se es si el programa que hay que crackear es el archivo Delphi o es el otro archivo realizado en DOS que no he encontrado que ningun desensamblador me lo reconozca y menos se con que esta diseñado... Gracias de antemano de nuevo y pues no creo que sea tan dificil de verificar... Ayudenmeeeee pleaseeee
|
|
|
|
|
En línea
|
|
|
|
|
Shaddy
|
Pues te digo que hice tal y como tu has dicho, y no me MODIFICA ABSOLUTAMENTE NADA, tal como tu lo pusiste ahí, yo lo he hecho, y el .DAT me lo deja igual, es más, le pase el ultra compare (de ultraedit) y no detecto ni un solo cambio.
Necesito más información.
Salu2..
|
|
|
|
|
En línea
|
|
|
|
guruangel
Desconectado
Mensajes: 18
|
Ok Amigo ShadowDark: No se como explicarme mas... Pero le agrego los archivos modificados aqui... en esta direccion: http://www.zshare.net/download/5548986c07aa4b/Solo puedo explicarte que en este ultimo paquete te he puesto una carpeta con el archivo binario original (Este es mas pequeño que el anterior... es otro) y en otra carpeta el archivo binario modificado... puedes abrirlo con notepad y veras que aparece la palabra "demostracion" Ademas te agrego captura de pantalla de antes de la modificacion en la misma carpeta... y despues de la modificacion para que veas a lo que me refiero con la modificacion... Ademas, agrego el archivo que me genera w32dasm donde me aparecen los comentarios del archivo a modificar... ademas de la palabra "demostracion"... Espero te sirva esta informacion para que me puedas ayudar....
|
|
|
|
|
En línea
|
|
|
|
|
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 alserá 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> ; \WinExecte 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í: 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..
|
|
|
|
|
En línea
|
|
|
|
guruangel
Desconectado
Mensajes: 18
|
Oye ShadowDark, contigo si que da gusto aprender... jejeje...  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
|
|
|
|
|
En línea
|
|
|
|
|
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..
|
|
|
|
|
En línea
|
|
|
|
guruangel
Desconectado
Mensajes: 18
|
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...
|
|
|
|
|
En línea
|
|
|
|
|
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..
|
|
|
|
|
En línea
|
|
|
|
|
| Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda con la version DEMO de un programa
Ingeniería Inversa
|
Charles Mayer
|
9
|
1,700
|
12 Diciembre 2010, 01:28
por yako-_-
|
|
|
como liberar un programa demo
Ingeniería Inversa
|
kohkin
|
2
|
1,715
|
26 Mayo 2011, 14:39
por MCKSys Argentina
|
|
|
Quitar la palabra DEMO de un programa
Software
|
XArthur
|
4
|
1,467
|
27 Agosto 2011, 05:38
por Di~OsK
|
|
|
[Solucionado][Duda] eliminar doble palabra incluyendo la primera en un texto...
Scripting
|
.:UND3R:.
|
8
|
1,163
|
3 Enero 2012, 06:12
por .:UND3R:.
|
|
|
Eliminar restriccion de uso de operaciones en soft demo
Ingeniería Inversa
|
augustus_ar
|
8
|
1,266
|
24 Enero 2012, 19:02
por MCKSys Argentina
|
|