Golang выполнить дочерний процесс из двоичных данных в памяти - PullRequest
1 голос
/ 04 мая 2020

Я знаю, что можно встраивать исполняемые файлы в Golang исполняемые файлы и запускать их, или запускать Golang код из строки, используя такие проекты, как Yaegi , но так ли это Можно ли запустить двоичный файл, хранящийся в виде переменной , без записи его в файл , как дочерний процесс? Бинарный файл уже находится в памяти как переменная, поэтому можно ли его как-то просто выполнить?

Если я не ошибаюсь, есть разница между исполняемой памятью и памятью данных, так что, помешает ли это сделать?

Причина моего вопроса в том, что я пишу открытый RAT / пипетку полезной нагрузки как проект для изучения Golang и хотел бы сделать его как можно более модульным, включая обновления без файлов и двоичные (также без файлов) полезные нагрузки.

РЕДАКТИРОВАТЬ: Любое решение приветствуется, но предпочтительны кросс-платформенные решения.

РЕДАКТИРОВАТЬ 2: Согласно это ТАК ответ, это невозможно / очень сложно в C ++. По-видимому, главная причина этого - динамическое связывание библиотек. Поскольку Golang статически связан, будет ли это проще?

1 Ответ

1 голос
/ 04 мая 2020

Нет, нет портативного способа сделать это.

...