Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: ludocop en 18 Febrero 2019, 11:24 am



Título: Generar un .exe, desde un programa en RAM con IDA?. Composición de segmentos.
Publicado por: ludocop 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.


Título: Re: Generar un .exe, desde un programa en RAM con IDA?. Composición de segmentos.
Publicado por: Geovane 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