Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - LSL

#11
Bueno, pues parece que es "facil" teniendo en cuenta que bajo MSDOS los sistemas de protección no eran tan sofisticados como lo pueden ser ahora, y en este caso creo que evitando ó forzando un simple salto se puede evitar pasar por el proceso que muestra el mensaje de modo DEMO, lo que creo es suficente para no necesitar la mochila, ya que tal como comentas una vez verificada la presencia de la mochila, ya la puedes quitar y el programa no vuelve a pedirla.

Con una primera observación, nos fijamos en lo siguiente:

El programa se inicia con el NC.COM, el cual lista todos los modulos ejecutables que encuentra en la carpeta EXE, y todos los ejecutables encontrados en dicha carpeta (aunque no tengan nada que ver con las herramientas en si de esta aplicación), se incluyen en las opciones del menu principal que es el modulo USR.EXE, (de no encontrar al usr.exe el programa inicial se queda parado buscando a este otro insistentemente, porque es el modulo que controla el resto de la aplicación, y es el que inicia los diversos modulos de los que se compone el programa, segun se seleccionen, y que se dividen en varios ejecutables idependientes (pero que no corren si no son llamados desde el usr.exe).



El USR.EXE es el encargado de mostrar ó no el mensaje de "ATENCION, ¡ Entra en modo DEMO !", lo cual se debe producir como consecuencia de comprobar directamente los datos de la mochila ó bien como resultado de verificar el contenido de algun registro sobreescrito con el resultado del proceso de verificación previa.



Por esto vamos a centrar nuestro primer objetivo en dicho modulo para ver que sucede si evitamos dicho mensaje de modo DEMO.

Herramientas a usar:

* IDA "The Interactive Disassembler".

* Editor Hexadecimal.

--------------------------------------------

Manos a la obra:
Herramienta IDA.

Iniciamos el IDAG.exe, pinchamos en "Nuevo" y seleccionamos el USR.EXE,



aceptamos la propuesta de analisis que nos ofrece IDA por tratarse de un programa de MSDOS



esperamos a que el IDA termine de analizar el programa. Cuando el icono del circulo amarillo existente en la barra de herramientas se pone en verde , ya podemos actuar nosotros.

Lo primero que vamos a buscar es nuestro mensaje de "ATENCION ¡ Entra en modo DEMO !", en la ventana de "string" que abrimos pulsando las teclas mayuscula+F12 y para localizarlo rapidamente vamos a buscarlo con el menu Search (Alt+T),  escribimos el texto DEMO, pulsamos OK, y ya lo tenemos localizado.



Seleccionamos la linea donde se encuentra dicho texto, y hacemos un doble click de ratón sobre ella, para que nos lleve a la ventana del desensamblado donde se encuentra dicho texto, y aqui si pasamos el puntero del ratón por encima del comentario de dicha linea, nos muesta información de la linea de codigo en la que se mueve dicho valor a alguna variable ó registro para su posterior tratamiento, y si pulsamos de nuevo doble click sobre dicho comentario, nos va a llevar a dicho lugar del desensamblado.



Aqui ya tenemos donde se cogen los valores del mensaje, y estudiamos el código de dicho lugar para ver si mas arriba encontramos un salto condicional que evite dicho mensaje, lo cual encontramos un poco mas arriba, e incluso varios saltos despues de varias llamadas a otros procesos.




Aqui ya podemos probar varias posibilidades:
La primera, la mas facil, probar a cambiar el valor de los saltos JNZ (75h) por JZ (74h) ó vicerversa, ó forzar siempre el salto cambiandolos por JMP (EBh), para que nunca pase por el mensaje de versión DEMO, con esto quizas tengamos solucionado el problema y el programa a partir de dicho salto toma los valores correctos como si estuviese con la mochila puesta, si es que no vuelve a comprobarlo.

La segunda, jugar con los procedimientos y subrutinas que se ejecutan antes de las comparaciones y saltos, para que el resultado a la salida de dichas funciónes, siempre sea el bueno para que el salto se produzca ó no, en la forma que nos convenga. En este caso para entrar en la función de comparación, por ejemplo en el mas cercano al mensaje, antes de entrar en la función se mueve al registro "ax" el valor 2 (32h), seguro que este valor en la variable "ax" es parte de la función, por lo que pruebo a mover por ejemplo 0 (30h) a ver que pasa, y luego parece que el resultado en principio es satisfactorio, segun la primera prueba realizada por lo pronto ya no sale el mensa de modo DEMO al iniciar los modulos (cuestión de hacer mas pruebas con distintos valores y registros que intervenga en el resultado final).

Pero subamos hasta el principio de dicho procedimiento para ver si encontramos desde donde se llama a este otro, por si podemos evitar el procedimiento completo, ya que un programa registrado o con su mochila quizás no pase nunca por el procedimiento donde se decide el mensaje de versión demo.

En el IDA tenemos el codigo desensamblado muerto, ¿pero como encontramos el valor hexadecimal correspondiente dentro del archivo del ejecutable?, pues muy facil. Cuando estamos en la ventana de desensamblado seleccionamos encima del codigo de salto, y pulsamos en menu View -> Open subviews -> Hex dump, y con esto nos pasamos al lugar correspondiente de la ventana hexadecimal del dumpeado. Aqui identificamos por ejemplo el salto JNZ (75 en hexadecimal),



tomamos nota o seleccionamos y copiamos (Ctrl+Insert) un trozo de valores hexadecimales junto a dicho valor 75h,



y acto seguido abrimos un editor hexadecimal para hacer una busqueda de dichos valores,



con lo que una vez localizados (nos aseguramos que el trozo de codigo seleccionado no lo volvamos a encontrar en otros lugares del código, para evitar equivocarnos de sitio al parchear)



y ya solo es cambiar por ejemplo el 75 por 74 ó por EB segun nos convenga, guardamos los cambios y a probar el nuevo ejecutable (antes debemos guardar una copia del original, por si el resultado no es satisfactorio y tenemos que seguir probando en otros valores).



Saludos.

Y cualquier duda por aqui seguiremos.
#12
como el programa está descatalogado, subelo el instalable a algun upload como http://www.mediafire.com, ó  http://www.myupload.dk/ (que son gratuitos), y nos pasas el enlace, a ver que se puede hacer, sin compromiso.
#13
Ingeniería Inversa / Re: Ayuda por favor
27 Octubre 2010, 01:56 AM
... pero, y si creas un nuevo instalador en el que se incluya el installshield original  y aparte los archivos por ti modificados, para que una vez descomprimido tu instalador (normalmente en la carpeta Temp, primero se ejecute el installshield original, y cuando este termine se instalen los archivos modificados en la dirección que se les programe, con esto lo puedes hacer de forma oculta o incluso con un menu de opciones a elegir.
#14
Ingeniería Inversa / Re: ayuda con un exe
24 Octubre 2010, 11:06 AM

cuando controla el dispositvo, donde queda registrado, si es en un archivo, mira si en el desensamblado encuentras el nombre de ese archivo y te sirve de referencia a cuando hace uso de el.

Si el problema es que no quieres que quede registrada la actividad en un archivo donde lo guarda, puede resultar quizas mas facil, hace un archivo bat, que guarde una copia del archivo ó archivos de registro original, ejecutar el programa, y al finalizar ó cerrarlo, el mismo bat, reemplazar el archivo con la copia anterior guardada (por ejemplo).

#15
@xavi246, que archivos o programas utilizas para la emulación ?

¿esa herramienta no tienen ninguna opción de "Automatic Start"?,

si no encuentras la forma, puedes hacer un archivo bat, que 1º lo cargue y 2º inicie el programa en cuestión, ó bien meter el ejecutable del emulador en la carpeta "Inicio" del usuario con el que arrancas en el PC (Menú Inicio -> Todos los programas -> Inicio), asi cada vez que se inicie el ordenador se ejecutara automáticamente.

#16
Ingeniería Inversa / Re: Las mochilas
24 Octubre 2010, 10:27 AM
Hola Somotres,
debajo de nuestros nick hay varios iconos, el de la derecha que es un glogo con las letras IM, pinchando en el puedes enviar un MP (Mensaje Privado) a ese usuario en particular.

Y para subir archivos a un server, te recomiento que te crees una cuenta gratuita por ejemplo en el upload mediafire.com, y desde esa mismo upload puedes subir archivos y programas a tu cuenta, luego de subirlo te da un enlace para descargar, ese enlace es el que le comunicas al foro ó a alguien en particular para que se lo puedan descargar.
Lo bueno de tener una cuenta en el upload mediafire (como en otros), es que puedes subir tanto archivos como imagenes, pudiendo gestionar tus archivos, ordenarlo y/o eliminarlos cuando tu desees.

Para mostrar una imagen en un post, en modo previsualizar pinchas en el icono insertar imagen y pegas el enlace Direct Link/Hotlink que te da el mediafire.

saludos.

#17
Ingeniería Inversa / Re: Las mochilas
22 Octubre 2010, 09:30 AM
Cita de: Somostres en 20 Octubre 2010, 13:23 PM
Hola,

Gracias por tu respuesta. No sé qué tipo de mochila, sé que se averigua con un programa pero, hay riesgo de estropear la mochila.

Si tú crees que puedes crakear la mochila para que el programa funcione sin ella, dime y hablamos.

Saludos

no tengas miedo a estropear la mochila, los programas y herramientas solo hacen leer de ellas, no escribir en ellas. (igual que hace el programa protegido con dicha mochila).
#18
Cita de: MCKSys Argentina en 18 Octubre 2010, 19:45 PM
Hola!

Por lo que veo en las imagenes, los 2 HASH que aparecen son el MD5 del mail y del UserName.

Si cambias el nomre/mail y luego cambias el hash resultante por el MD5 del que acabas de modificar... el EXE te detecta los cambios??

saludos!

además de sabiduria
¡¡¡que ojo de lince tienes!!!
;-)

P.d. para quien necesite una calculadora free de HASP (multi-idioma) http://www.paehl.de/cms/dpasha

#19
para saber que tipo de dongle es, mira en la documentación del programa, que seguramente te hacen referencia a ella, tambien puedes mirar en los drivers instalados en el PC que nombre tiene, tambien en el paquete de instalación suelen venir el instalador de los drivers de la dongle, por el nombre del instalador puedes deducir que dongle es.

Si fuese una Sentinel, busca "Sentinel Emulator 2007 By  (^^,).rar" que tiene el edgespro11.exe para hacer un Dump de la llave.

Suerte.
#20
A veces lo detecta por el nombre del ejecutable corriendo, otras veces por el titulo de la ventana, otras veces por una variable establecida en memoria, etc.
Lo que si te va a llevar al lugar exacto, es seguir la pista del mensaje de aviso de que ya existe una primera sesión en ejecución, y si subes en el codigo desde el lugar que se toma el valor de dicho mensaje, seguramente vas a encontrar un salto que lo evita y permite que el ejecutable siga corriendo.

Luego ya es comprobar si funciona todo bien, con dos instancias del programa abiertas, pues si se modifican archivos en tiempo de ejecución puede haber conflictos por bloqueos de archivos, etc... (quizás tengas que hacer 2 instalaciones en carpetas distintas, etc.. etc.. etc..)