Подтвердить что ты не робот

Хотите узнать о песочнице

Я хочу узнать больше о песочнице. Не только об этом. Я хочу узнать, что я смогу написать песочницу simple.

Удивительно, но никакой информации нет. Даже статья в Википедии не хороша.

Может ли кто-нибудь предложить мне хороший материал. Я знаю, что это концепция очень продвинутого уровня. Итак, каковы предпосылки для обучения и овладения им.

4b9b3361

Ответ 1

читайте об API-подключении, например песочница перехватывает ядро ​​Windows, чтобы отфильтровать все вызовы api в файловой системе и перенаправляет их на песочницу, вы можете использовать API-интерфейсы и фильтровать их, передавать только действительные параметры, возвращать ошибки для недействительных вызовов

для подключения API вы найдете много материалов в сети, попробуйте codeproject.com

Ответ 4

Простая песочница будет просто средой, в которой вы позволяете "что-то" выполнять, но ограничиваете, что она может сделать.

Как правило, это "что-то" - это уже существующий язык, такой как Java, или JavaScript, или С#, или собственный код. Java имеет "песочницу" apis для апплетов и т.д., А .NET имеет разные уровни доверия, JavaScript имеет границы, наложенные на нее интерпретаторами (браузерами).

Итак, немного странно "писать" вашу собственную песочницу, если у вас также нет языка, который вы хотите использовать в песочнице.

Есть ли у вас такой язык? Что конкретно вы хотите узнать?

Ответ 5

Это очень зависит от того, что вы хотите использовать в песочнице. Если это полномасштабная система с несколькими доступными интерфейсами/языками, вы действительно не хотите изобретать колесо, но запустите виртуальную машину в VirtualBox, QEmu или другая альтернатива

В любом случае, песочница IS, по крайней мере на каком-то уровне виртуализация системы, в которой вы "должны быть", работает...

Если вам нужны приложения для песочниц для одного (интерпретируемого) языка, изменение звука интерпретатора звучит как разумный подход.

Ответ 6

Ответ, скорее всего, будет специфичным для языка. К сожалению, большинство языков не имеют встроенных возможностей песочницы. Но функциональные языки, как правило, достаточно мощные, что можно строить с нуля, не расширяя язык.

В Tcl основным механизмом является создание подчиненных интерпретаторов:

interp create -safe sandbox
interp eval sandbox $set_up_code
set result [interp eval sandbox $unsafe_code]

Ответ 7

Я написал обзор способов песочницы в Linux на днях, что связано с большим количеством ссылок на различные методы. Подобные методы применимы и в других операционных системах. Я надеюсь, что это будет полезно - я не смог найти много документально подтвержденного.