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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  Enlazar dos ejecutables.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Enlazar dos ejecutables.  (Leído 18,070 veces)
Usuario887


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Enlazar dos ejecutables.
« en: 31 Octubre 2021, 13:28 pm »

Hola,

Hay muchos sitios en Internet, especialmente en los foros de la MSDN y Stack Overflow, en donce se dice que esto "No es posible".

Esto es parcialmente cierto, porque yo lo hice, con dos Hello World haciendo merge a las secciones de codigo y datos y modificando las referencias a funciones y datos. Ahora, se que es muy poco practico hacer esto con un PE grande, estarias meses calculando referencias... Pero recuerdo que hace años en la biblioteca de underc0de habia un programa binder que lograba hacer esto. Recuerdo que lo hice con dos EXEs complejos y efectivamente se abrieron dos programas al ejecutar el programa resultante. Para ser honesto, no tengo idea de como este programa logro empaquetarlos a los dos de esa manera...

Ya no tengo el programa.

Vengo a preguntar si alguien tiene idea de como lo hizo.

Gracias.
En línea

**Aincrad**


Desconectado Desconectado

Mensajes: 683



Ver Perfil WWW
Re: Enlazar dos ejecutables.
« Respuesta #1 en: 31 Octubre 2021, 14:01 pm »

Que yo sepa, basicamente, funciona como un Packer. empaqueta los dos .exe, y los ejecuta a ambos. los extraeria en el disco y ejecutaria, o usar algun tipo de RunPE.


« Última modificación: 31 Octubre 2021, 14:03 pm por **Aincrad** » En línea



Usuario887


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Enlazar dos ejecutables.
« Respuesta #2 en: 31 Octubre 2021, 14:17 pm »

Como Iexpress.

Sin embargo, al pasarle argumentos al ejecutable no se puede decidir a que ejecutable de los dos empaquetados es el que los recibe ¿Verdad?



Bueno, creo que eso se puede arreglar modificando el codigo fuente.

Gracias.
« Última modificación: 31 Octubre 2021, 14:19 pm por marax » En línea

**Aincrad**


Desconectado Desconectado

Mensajes: 683



Ver Perfil WWW
Re: Enlazar dos ejecutables.
« Respuesta #3 en: 31 Octubre 2021, 14:54 pm »

Como Iexpress.

Sin embargo, al pasarle argumentos al ejecutable no se puede decidir a que ejecutable de los dos empaquetados es el que los recibe ¿Verdad?



Bueno, creo que eso se puede arreglar modificando el codigo fuente.

Gracias.

Yeah, Puedes modificar la source , para que soporte argumentos.
En línea



Usuario887


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Enlazar dos ejecutables.
« Respuesta #4 en: 31 Octubre 2021, 17:05 pm »

La verdad es que le eche un vistazo y como no se C# no tengo idea de como hacerlo a priori pero me imagino que echandole un vistazo a alguna referencia sobre la sintaxis me las arreglare...

Parece una combinacion entre C++ y Java
En línea

Usuario887


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Enlazar dos ejecutables.
« Respuesta #5 en: 31 Octubre 2021, 17:19 pm »

¿Tienes idea de alguno similar que este escrito en C...?



Encontre uno en https://github.com/93aef0ce4dd141ece6f5/File-Binder

Gracias por tu ayuda.
« Última modificación: 31 Octubre 2021, 17:28 pm por marax » En línea

Danielㅤ


Desconectado Desconectado

Mensajes: 1.853


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: Enlazar dos ejecutables.
« Respuesta #6 en: 31 Octubre 2021, 20:30 pm »

Hola buenas tardes marax, mirá yo como programador lo que haría en cuanto a lo que estás necesitando es lo siguiente:

1. Crear un script en Python que cumpla la función de guardar en dos variables el contenido binario de los dos ejecutables:

Código
  1. exe1 = open("programa1.exe", "rb").read()
  2. exe2 = open("programa2.exe", "rb").read()
  3.  

2. Luego se va a convertir las variables exe1 y exe2 a codificación base64:

Código
  1. exeBase64_1 = base64.b64encode(bytes(exe1, 'utf-8'))
  2. exeBase64_2 = base64.b64encode(bytes(exe2, 'utf-8'))
  3.  

luego esa codificación se va a volcar/guardar en dos archivos de texto:

exeB64_1.txt
exeB64_2.txt

3. Ahora teniendo los dos ejecutables codificados en base64 y guardados en dos archivos de texto, se debe crear un código en Python, luego pasar ese código a ejecutable y el mismo será el exe único, es decir el que el usuario ejecutará para que éste ejecute los otros dos ejecutables.

4. En este exe principal lo que se haría obviamente cuando sea un código antes de pasarlo a exe, es guardar en dos variables los contenidos codificados en base64 de los dos exe:

Código
  1. exeBase64_1 = open("exeB64_1.txt", "r").read()
  2. exeBase64_2 = open("exeB64_2.txt", "r").read()
  3.  

5. El proceso que tendría que hacer el ejecutable principal cuando sea ejecutado sería el siguiente:

A) Crear en el directorio de archivos temporales del sistema los dos ejecutables, simplemente habría que crear por ejemplo programa1.exe y programa2.exe y el contenido de éstos programas sería el valor de las variables exeBase64_1 y exeBase64_2 pero decodificadas a binario, sería el proceso inverso del que se realizó al comienzo.

B) Como ya están creados los dos ejecutable solamente hay que hacer que el exe principal los ejecute luego de crearlos, aquí varias formas:

Código
  1. os.system()
  2. os.popen()
  3. subprocess.Popen()

Eso es todo!


Saludos
En línea

Usuario887


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Enlazar dos ejecutables.
« Respuesta #7 en: 1 Noviembre 2021, 17:52 pm »

Buenas noches Daniel

Gracias por tomarte el tiempo para tu respuesta.

Es una buena idea el cifrado  ;D

Sin embargo no queria tener que depender de un interprete... Mi intencion en realidad era unir las secciones de los ejecutables a nivel de encabezado y contenido PE. Igual ya me di cuenta de que esto no es tan practico.

Igual me sigo imaginando la forma  :xD :xD

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Enlazar 2 ejecutables
Programación Visual Basic
fernandopl 1 1,874 Último mensaje 24 Noviembre 2005, 16:03 pm
por NYlOn
enlazar dos aplicaciones por internet via msn
Programación Visual Basic
netwitch 0 1,169 Último mensaje 8 Mayo 2006, 19:01 pm
por netwitch
Enlazar IP con dyndns
Dudas Generales
diego2188 2 3,124 Último mensaje 12 Septiembre 2012, 01:30 am
por diego2188
Enlazar Nodos?
Programación C/C++
BrendiisFox 8 4,365 Último mensaje 13 Septiembre 2015, 12:55 pm
por ivancea96
Problema C++ al enlazar
Programación C/C++
alanjo 7 3,566 Último mensaje 25 Marzo 2016, 03:52 am
por alanjo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines