Как base64 в виде текста и при запуске сохранить как файл
Ну так раз в системе есть csc и powershell - значит там есть .net runtime.
А раз он есть - значит не нужен никакой промежуточный шаг с компиляцией. Можно сразу dll-ку грузить .
irm "https://github.com/Drovosek01/ReplaceHexPatcher/raw/refs/heads/main/core/v2/ReplaceHexBytesAll.ps1" -OutFile $env:TEMP\t.ps1; & $env:TEMP\t.ps1 -filePath "C:\Program Files\Adobe\Adobe Photoshop 2025\Photoshop.exe" -patterns "B9000000/11111111", "0F 31 89 C2 44 29 C0 41 89 D0 44 39 C8 41 89 C1/11", "EF C4 66 41 0F 6F 22 66/778899" -showMoreInfo -makeBackup -showFoundOffsetsInHex; ri $env:TEMP\t.ps1
У тебя нет гарантии, что на целевой машине будет именно та версия csc, которая тебе нужна для компиляции.
И никто не может гарантировать, что его не удалят в очередной новой версии или в какой-нибудь говносборке.
Вот .NET Runtime какой-то древней версии действительно есть
И всё равно: зачем добавлять лишний шаг с компиляцией на целевой машине?
Drovosek01, чтобы скомпилировать C# на целевой машине - на ней должен быть компилятор.
а нужно ли на лету генерировать этот код?
Далее через CFF Explorer в таблицу импорта своего exe файла, в который хотите запаковать dll библиотеку, добавляете Frida.dll выбирая в качестве импортируемой функции добавленную пустышку ExportStub.
./insert_dylib /path/to/dylib /path/to/target/binary