C# запустить массив байтов без сброса во временный файл - PullRequest
1 голос
/ 09 мая 2020

Я здесь, чтобы спросить, может ли кто-нибудь мне помочь. Я делал следующее:

  1. Копирование байтов из файла
  2. Шифрование и преобразование байтов в строку с помощью base64
  3. Записывать строку в программу с двоичным кодом Writer
  4. Программа подберет строку и сохранит ее в переменной
  5. Теперь программа преобразует ее обратно в массив байтов и расшифрует
  6. Теперь я попробовал чтобы программа запускала байты с помощью assembly.load (где все идет не так)

System.BadImageFormatException: не удалось загрузить файл или сборку

Если вам нужны другие подробности, спросите.

ПРИМЕЧАНИЕ: я хочу иметь возможность делать это с любой программой (любой архитектурой, родной или нет), я не хочу записывать байты в файл и запустите новый файл, я хочу, чтобы все выполнялось в памяти, а не на устройстве хранения после выполнения.

Заранее всем спасибо.

Пример запуска байтового массива:

Assembly exeAssembly = Assembly.Load(decryptedBuffer);

object[] parameters = new object[1];
exeAssembly.EntryPoint.Invoke(null, parameters);

[РЕШЕНИЕ] I использовал RunPE для самостоятельного ввода байтов в заглушку. Работает нормально, спасибо всем кто помогал!

...