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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  Ejecución desde un byte array
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejecución desde un byte array  (Leído 2,957 veces)
xoftfox

Desconectado Desconectado

Mensajes: 21



Ver Perfil
Ejecución desde un byte array
« en: 17 Enero 2014, 02:59 am »

Saludos a todos.

Tengo una duda de si es posible ejecutar un arreglo de bytes, sin que sea necesario copiar el arreglo a un archivo en disco (ejecutable.exe).

La unica manera que he encontrado ha sido esta:
donde lo que se hace es llevar el arreglo de bytes a un ejecutable que se guarda en disco y desde ahi se ejecuta.

Código:
File.WriteAllBytes("yourApplication.exe", bytes);

y luego con el
Código:
Process.Start()
lo ejecuta.

Se puede hacer sin llevarlo a disco ????
En línea

xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
Re: Ejecución desde un byte array
« Respuesta #1 en: 18 Enero 2014, 16:41 pm »

Código
  1. char byte [] = "\x60\x32";

Imaginate de que esos dos opcodes fueran validos, quieres ejecutarlos directamente sin tener que copiarlos fuera no?

Es eso lo que pretendes?

Un saludo.
En línea

noele1995

Desconectado Desconectado

Mensajes: 137



Ver Perfil
Re: Ejecución desde un byte array
« Respuesta #2 en: 18 Enero 2014, 18:09 pm »

Creo que lo que quiere es tener el archivo.exe en memoria sin que llegue a tocar el disco. Busca por Runpe si no me equivoco.
En línea

Yoel Alejandro

Desconectado Desconectado

Mensajes: 254



Ver Perfil WWW
Re: Ejecución desde un byte array
« Respuesta #3 en: 9 Febrero 2014, 21:40 pm »

Imagino que quieres crear un archivo ejecutable "al vuelo", es decir, que se ejecute pero sin volcar su contenido en disco.

¿Estás pensando en crear un código malicioso que se ejecute en un huésped sin dejar luego rastro alguno en él? Ah, jeje?

Bueno, no se tu intención ni me hago responsable por ello  ;), me limito a responder la pregunta.

Lo que se me ocurre en este caso es un script que dirija la salida del compilador a un fichero temporal, lo ejecute y luego lo borre. Si estás en Windows, un sencillo script de batch para ello podría ser

Código
  1. gcc -o tmp_2667ttte55e.exe fuente.c
  2. tmp_2667ttte55e.exe
  3. del tmp_2667ttte55e.exe

Lo que "tmp_2667ttte55e" es por poner un nombre extraño para pasar desapercibido (o al menos intentarlo). Ahora, lo del volcado (dump) del fichero en disco es competencia del Sistema Operativo, quizá y como es tan rápido ni siquiera lo pase de la memoria primaria (RAM) al disco.

No se cómo impedir el volcado, en Linux se puede montar un sistema de ficheros externo, y poner async en las opciones de montaje. En Windows ni idea, y con lo precario que es ese S.O. ni siquiera se si se puede.

Para finalizar, el mismo script pero en bash (Linux) sería

Código
  1. gcc -o tmp_2667ttte55e fuente.c
  2. ./tmp_2667ttte55e
  3. rm tmp_2667ttte55e

donde no hace falta ".exe" final (viva UNIX  :laugh:).

Espero te de al menos una idea.
En línea

Saludos, Yoel.
P.D..-   Para mayores dudas, puedes enviarme un mensaje personal (M.P.)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
->Duda Con Array Of Byte
Programación Visual Basic
NsTeam 1 2,173 Último mensaje 8 Julio 2009, 04:34 am
por LeandroA
es posible concatenar un array byte? « 1 2 »
Programación C/C++
Belial & Grimoire 14 9,246 Último mensaje 15 Febrero 2014, 18:58 pm
por x64core
Una mano con este codigo. (array de byte dinamico)
.NET (C#, VB.NET, ASP)
70N1 4 2,892 Último mensaje 23 Septiembre 2014, 13:37 pm
por Eleкtro
MOVIDO: Una mano con este codigo. (array de byte dinamico)
Programación C/C++
Eternal Idol 0 2,016 Último mensaje 12 Septiembre 2014, 14:11 pm
por Eternal Idol
Escuchar música desde que ejecute la consola y dentro de un array tipo Byte.
.NET (C#, VB.NET, ASP)
Meta 1 1,845 Último mensaje 26 Febrero 2019, 00:30 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines