Buenas, quiero leer un ejecutable, almacenar su código en un stream o array de bytes y ejecutarlo en memoria sin tener que utilizar el .exe original.
Podría así almacenar el código en una BBDD y poder destruir el original.
He conseguido hacerlo pero para ello debo crear un .exe y ese es el que ejecuta, la única posibilidad es hacerlo en un directorio temporal para que después se borre.
He conseguido otro código, el siguiente (bin es un array de bytes) pero solo ejecuta aplicaciones .NET y no otras aplicaciones (como el notepad.exe por ejemplo o un .exe de cualquier otro tipo de lenguaje).
Assembly a = Assembly.Load(bin);
MethodInfo method = a.EntryPoint;
if (method != null)
{
object o = a.CreateInstance(method.Name);
method.Invoke(o, null);
}
¿Tenéis alguna idea de como hacerlo teniendo en bin almacenado todos los bytes en un array?