Песочница для программы с использованием перехватчиков WinAPI - PullRequest
2 голосов
/ 03 января 2011

Я хотел бы изолировать собственный код и использовать перехват WinAPI и системных функций, чтобы заблокировать или разрешить этой программе выполнять некоторые операции, такие как чтение / запись файлов, изменение реестра Windows, с использованием подключения к Интернету.Это хороший и безопасный способ сделать это?Насколько сложно было бы этой программе обойти такой уровень безопасности?

Ответы [ 3 ]

3 голосов
/ 03 января 2011

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

Подходы:

  1. использовать разрешения Windows для ограничения доступ вашего приложения к ресурсы
  2. взять взять VMWare или Parallels или другая платформа виртуализации и запустите там свою программу
  3. взять SDK для песочницы (например, BoxedApp) и "заверните" свой применение.
1 голос
/ 03 января 2011

+ 1 Гансу, однако, если вы действительно в этом, то я могу порекомендовать Easyhook . Я лично успешно использовал его в Win XP, Vista и 7. Я не знаю, насколько это обходится, но существуют и другие альтернативы - ловушки madSHI, и, если вы хотите пойти официальным путем, попробуйте Detours от Microsoft.

1 голос
/ 03 января 2011

Антивирусные приложения пытаются решить практически ту же проблему без особого успеха.
1. Вы никогда не узнаете, как можно использовать даже самые распространенные операции.
2. Есть системные вызовы, поэтому программе вообще не нужно использовать winapi.

...