Вероятно, читатели знакомы с программами Buster Sandbox Analyzer и Sandboxie. Суть их — запуск подозрительного файла в песочнице с отслеживанием изменений, вносимых в систему (при этом с реальную систему ничего не вносится). Кто совсем ничего не слышал — можете покинуть эту тему, Вам будет неинтересно. Или сходите сюда и просветитесь: bsa.isoftware.nl
О настройке системы было много сказано и на Хабре, в журнале «Хакер», и на ряде форумов. Основная проблема была в начальной настройке — как установить, что изменить, что прописать.
Поэтому я напрягся немного, попутно напряг ещё нескольких добрых людей — и сделал портабельную версию этого комплекса. Постоянно обновляемая ссылка на него находится здесь: tools.safezone.cc/gjf/Sandboxie-portable.zip
Честно признаться, разбирать как пользоваться Buster Sandbox Analyzer, что и как определять вредоносным в этой ветке я не буду. Обсуждаться будет исключительно портабельная сборка. По ней — всё просто.
1. Запускать систему надо с помощью файла start.cmd. Запускать от имени Администратора.
2. Исходно система настроена на русский язык. Если нужно, чтобы выбирался другой язык — пропишите номер кодовой страницы в файле Language.txt, что в папке Templates. Либо вообще удалите этот файл — будет использован язык установленной системы.
3. По окончании работы запустите stop.cmd. Все настройки сохранятся в соответствующих файлах в папке Templates, а система будет выгружена. Если необходимо вернуть настройки по умолчанию — запустите файл Templates.exe в одноимённой папке, он распакует исходные файлы.
ВНИМАНИЕ: Драйвер Sandboxie не позволяет быть полностью выгруженным до перезагрузки. Поэтому если Вы запустили stop.cmd, а потом решили опять начать работу — перед повторным запуском start.cmd придётся перезагрузить систему.
Несколько слов о BSA.ini.template и sandboxie.ini.template в папке Templates.
По сути своей это — файлы настроек BSA и Sandboxie, которые подсовываются в систему во время работы, а затем обратно записываются в Templates по окончании.
Параметры, которые там меняются — это документированные параметры каждой из программ. Но есть добавленные нюансы, о которых я и расскажу.
BSA.ini.template
В файле можно прописать в любом месте следующие шаблоны:
$(Language) — кодовая страница языка
$(InstallDrive) — диск, с которого запущена портабельная система
$(InstallPath) — папка, из которой запущена портабельная система
Sandboxie.ini.template
$(InstallDrive) — диск, с которого запущена портабельная система
$(InstallPath) — папка, из которой запущена портабельная система
В файле Sandboxie.ini.template эти шаблоны работают только для параметров FileRootPath и InjectDll.
По сути, в ходе выполнения start.cmd шаблоны преобразуются в соответствующие значения, а после выполнения stop.cmd — обратно преобразуются в шаблоны и возвращаются в папку Templates.
По умолчанию, Sandboxie настроена на четыре песочницы:
BSA — для анализа с помощью Buster Sandbox Analyzer
Secure — для безопасного выполнения приложений (браузеров и т.д.)
Undelete — для выполнения приложений с сохранением всех создаваемых файлов (даже если исполняемый модель будет пытаться их удалить) — ВНИМАНИЕ: ряд инсталляторов в этой песочнице работать не будут
Unpack — для распаковки инсталляторов (мнимая инсталляция в песочнице)
Тем не менее Вы вольны создавать сколько угодно новых песочниц, их настройки сохранятся по окончании работы в файлах из Templates.
Комплекс сделан на основании shareware-лицензии Sandboxie, вполне работоспособен с ограничениями, наложенным автором. Ограничения могут быть сняты пытливыми умами, но в таком случае Вы нарушаете условия лицензионного пользования и действуете противозаконно! (я обязан был Вас предупредить).
Безусловно, найдутся те, кто скажет, что командные скрипты — это ламерство, всё можно было оформить более симпатично и т.д. К сожалению или к счастью на момент написания этого поста мне были неизвестны какие-либо более удобные варианты портабелизации Sandboxie с обработкой текстовых файлов параметров в Unicode и ASCII. Потому сделал, как мог, прошу не судить строго, а кто может лучше — пусть попробует, я буду только рад.