Me gustaría tener un pequeño programa de "cargador de aplicaciones" que reciba otros archivos de aplicaciones binarias a través de TCP desde un servidor externo y los ejecute.¿Ejecuta un proceso desde la memoria dentro de otro proceso?
Podría hacerlo guardando el archivo transmitido en el disco duro y utilizando la llamada al sistema() para ejecutarlo. Sin embargo, me pregunto si sería posible lanzar la nueva aplicación desde la memoria sin tocar el disco duro.
El estado de la aplicación del cargador no es importante después de cargar una nueva aplicación. Prefiero quedarme con C, pero las soluciones de C++ también son bienvenidas. También me gustaría apegarme a las funciones estándar de Linux C y no usar ninguna biblioteca externa, si es posible.
Sí, es posible pero es algo complicado. Tienes que emular el sistema operativo y asignar el binario a la memoria, etc. –
Podrías escribirlo en un archivo en un ramdisk – TJD
También tiendo a pensar que * cualquier * nivel de seguridad del sistema operativo en una CPU moderadamente reciente va a hacer su Lo mejor es asegurarse de que esto no pueda suceder. Ciertamente es factible, pero sería un verdadero dolor utilizarlo en las distribuciones del mundo real (espero) – BRFennPocock