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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Generar un .exe, desde un programa en RAM con IDA?. Composición de segmentos.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Generar un .exe, desde un programa en RAM con IDA?. Composición de segmentos.  (Leído 636 veces)
ludocop

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Generar un .exe, desde un programa en RAM con IDA?. Composición de segmentos.
« en: 18 Febrero 2019, 11:24 am »

Hola, estoy tratando de parchear un programa, el cual sólo tiene implementadas las funciones básicas, pero cuando detecta el archivo de licencia .lic, aparecen el resto de funcionalidades del programa.

Por lo que he podido ver con IDA, el archivo .lic contiene el resto del código maquina (cifrado), que hace que el programa funcione con todas las funcionalidades.

Lo que pretendo, (si alguien me puede informar cómo hacerlo), es:
Que mientras estoy depurando con IDA y una vez que ha cargado el fichero de licencia .lic(el cual amplia el codigo maquina), capturar el segmento de codigo, pila, etc, desde la RAM y componer un fichero exe, que ya contenga la parte del código del fichero de licencia.

Ya que hasta ahora, consigo parchear el programa, pero no contiene las funciones avanzadas contenidas en la licencia.

Espero haberme expresado bien.

Gracias.
En línea

Geovane

Desconectado Desconectado

Mensajes: 208



Ver Perfil
Re: Generar un .exe, desde un programa en RAM con IDA?. Composición de segmentos.
« Respuesta #1 en: 18 Febrero 2019, 12:49 pm »

¡Hola

Interesante tiene, sobre guardar memoria para el archivo tiene esta secuencia de comandos que se puede ejecutar "Script"

Código
  1. auto file, fname, i, address, size, x;
  2. address = 0x0159ADB0;
  3. size = 0xEA90;
  4. fname = "C:\\dump_mem.bin";
  5. file = fopen(fname, "wb");
  6. for (i=0; i<size; i++, address++)
  7. {
  8. x = DbgByte(address);
  9. fputc(x, file);
  10. }
  11. fclose(file);

Entonces el archivo .lic contiene códigos de máquina, cuando se carga se asigna en una región de memoria.
 Usted puede acompañar e identificar dónde se aplica, también donde será asignado cuando descifrado, generalmente mismo local.
puede tomar el archivo y agregar con otra sección del binario, con el editor de PE.
Así se van a convertir los códigos para assembly, para que usted estudie.

Esto es lo básico, para hablar más sólo si tiene el binario, si tienes más preguntas hazlo.

saludos
En línea

Para servicios, envíe un mensaje privado, sólo para servicios en curso hasta fecha de 10/06/2019
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines