Основная задача изоляция программы от операционной системы, как это делает Sandboxie, но мне нужно чтобы программа выполняла код в реальной ОС. Например: Программа запущенная в песочнице показывает MessageBox и сама песочница показывает этот MessageBox в реальной ОС. Возможно ли такое реализовать на C#, может кто знает какие статьи почитать или ссылки на исходники?
В .NET приложения запускаются в рамках так называемых доменов приложений (application domains). Изоляция приложений выполняется именно на этом уровне.
Каждый домен приложения имеет права, которые можно ограничивать. Песочница в терминах .NET означает, что ваше приложение создаёт новый домен с ограниченными правами и запускает потенциально опасный код там.
Можно ограничивать сборки, которые можно подгружать, можно ограничивать папку на диске, доступную для приложения (оно не сможет читать и писать файлы в других папках) и так далее.
Тема на самом деле обширная, потребует изучения большого количества материалов. Начинать можно здесь. Про создание доменов см. метод CreateDomain по ссылке, особенно перегрузку, которая позволяет задавать параметры домена.
Продвижение своими сайтами как стратегия роста и независимости