Создание песочницы на c#

209
06 февраля 2020, 22:20

Основная задача изоляция программы от операционной системы, как это делает Sandboxie, но мне нужно чтобы программа выполняла код в реальной ОС. Например: Программа запущенная в песочнице показывает MessageBox и сама песочница показывает этот MessageBox в реальной ОС. Возможно ли такое реализовать на C#, может кто знает какие статьи почитать или ссылки на исходники?

Answer 1

В .NET приложения запускаются в рамках так называемых доменов приложений (application domains). Изоляция приложений выполняется именно на этом уровне.

Каждый домен приложения имеет права, которые можно ограничивать. Песочница в терминах .NET означает, что ваше приложение создаёт новый домен с ограниченными правами и запускает потенциально опасный код там.

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

Тема на самом деле обширная, потребует изучения большого количества материалов. Начинать можно здесь. Про создание доменов см. метод CreateDomain по ссылке, особенно перегрузку, которая позволяет задавать параметры домена.

READ ALSO
Добавление значения в DataGridViewComboBox из формы

Добавление значения в DataGridViewComboBox из формы

На форме2 (c# winforms vs2010 net40) есть DataGridView1, в котором есть DatagridviewCombobox

206
transform.RotateAround

transform.RotateAround

Как мне сделать, чтоб вместо zero было относительно родителя?

242
Параметризированный запрос SQL-Server

Параметризированный запрос SQL-Server

Не работает параметризированный запрос к БД SQL-ServerДля текущего узла TreeView я вывожу данные из связанной таблицы

248
Кодировка польских литер

Кодировка польских литер

Есть проблема - магазин Prestashop 17

287