Нет, так делать нельзя. Не существует системного вызова, который говорит: «Возьми этот кусок моей памяти и используй только эту его часть как образ нового процесса».
Вы можете загрузить код в память и перейти к нему в рамках текущего процесса, но это уродливо, потому что вам приходится обрабатывать все перемещения.
Что касается специфической части Java:
Вы можете встроить интерпретатор Java в исполняемый файл C ++ . Вы можете написать свой собственный загрузчик классов для Java (через интерфейс C ++ к JVM), который будет загружать классы из вашего зашифрованного файла Jar. Таким образом, вы можете избежать записи незашифрованного файла Jar на диск. Это, конечно, будет видно в памяти любому, у кого есть отладчик ...