MoleBox Virtualization Solution 4.6000

Описание

MoleBox Virtualization Solution — ранее коммерческое предложение для виртуализации приложений от российских разработчиков. Основная задача инструмента заключалась в обеспечении безопасности ресурсов обрабатываемых приложений, не касаясь при этом их исходного кода. Рекомендовалась в первую очередь разработчикам разного вида программного обеспечения (игры, прикладные программы и т.д.), при этом акцент делался на защиту данных и медиафайлов от стороннего просмотра и/или модификации. Изначально цели создания портативных программ авторы перед собой не ставили, хотя в последних версиях акцент делался именно на этом.

История MoleBox Virtualization Solution

Разработка приложения началась в 2002 году, а в январе 2003 года первая публичная версия уже была доступна пользователям. Основной разработчик и, предположительно, автор программы Алексей Судачен, родившийся в 1976 году в Якутске. Авторское право на приложение принадлежит двум компаниям Teggo Software Ltd (2002-2010 года) и DesaNova Ltda (с 2011 года), которые зарегистрированы в Чили, а их собственником является Ольга Марчевская.

За время своего существования инструмент подвергался значительным улучшениям и доработкам. Изначально ограничение на использование пробной версии было лишь всплывающее окно с информацией о MoleBox при старте обработанной программы, весь функционал был доступен до приобретения лицензии. Позже к пробной версии добавились ограничения на пятнадцатидневный период и невозможность распространения обработанных приложений. В 2004 году происходит разделение на разные редакции, появляется MoleBox Pro и Standard. Редакция Pro позволяла использовать несколько пакетов данных, внедрять динамические библиотеки в исполняемый файл, обеспечить их сохранность от стороннего использования и предоставлять дополнения (обновления, аддоны, патчи) к упакованным программам. В 2009 году появилась редакция MoleBox Ultra, позволяющая виртуализировать .NET приложения.

Продукт MoleBox Virtualization Solution был представлен пользователям в 2010 году, который разрабатывался параллельно с веткой продуктов 9х. Последняя предоставлялась абсолютно бесплатно всем пользователям, имеющим приобретённую лицензию на ранние продукты.

В 2014 году была прекращена коммерческая поддержка MoleBox Virtualization Solution, с последней предоставленной пользователям версией 4.5462, выпущенной 8 декабря 2013 года.

Спустя три года, в 2017-м, Алексей Судачен на своей странице проекта github.com поделился со всеми желающими исходным кодом средства. Теперь каждый желающий может воспользоваться всеми возможностями проекта MoleBox, который длится уже 15 лет, без каких либо ограничений, а заинтересованные разработчики могут его доработать и улучшить. Сегодня проект доступен под лицензией GPL.

Технология MoleBox Virtualization Solution.

Переносимость достигается путём заключения приложения в виртуальную рабочую среду, которая содержит в себе всё необходимое для его работы. Moleboxed (термин авторов, указывающий на ресурсы упакованные средством MoleBox) приложение работает как обычное стандартное, при этом вместе с ним могут быть упакованы его зависимости, такие как динамические библиотеки, среды ActiveX, .NET и другие (VB, FoxPro, Java и т.д.). В результате обработки необходимых компонентов приложения, всё упаковывается в один автономный исполняемый EXE файл. Он может быть запущен на любом компьютере под управлением OS Windows.

Характеристики MoleBox Virtualization Solution

  • Режим создания переносимых приложений: Ручная настройка, при этом можно использовать как графический интерфейс (GUI) так и командную строку.
  • Наличие зависимостей: Microsoft Visual C++ 2010 x86 Redistributable, а именно динамические библиотеки msvcp100.dll и msvcr100.dll
  • Права администратора: Не требуются.
  • Поддерживаемые приложения: 32х битные и .NET 2.х+
  • Поддерживаемые ОС: Windows 2000/XP/Vista/7/8/10

Характеристики созданных приложений

  • Работа на других ПК без установки: Да.
  • Наличие песочницы: Нет.
  • Переносимость настроек реестра: Нет.
  • Переносимость настроек файловой системы: Нет.
  • Распаковка файлов приложения перед работой: Распаковка происходит в память, физический диск остается чист.
  • Наличие зависимостей: Нет
  • Права администратора: Не требуются.
  • Поддерживаемые ОС: Windows 2000/XP/Vista/7/8/10

Первый комментарий к MoleBox Virtualization Solution

Несмотря на более чем пятнадцатилетнюю разработку средства, мне не удалось создать полностью portable программы. Временные файлы программ оставались в системе. При этом это касается как реестра так и файловой системы. Тестирование проводил исключительно через графический интерфейс. К примеру программа 7-Zip теряла возможность упаковывать и распаковывать файлы (элементы управления программы просто переставали быть активными), а свои настройки, несмотря на активизацию функции Full registry virtualization (полная виртуализация реестра) все также сохраняла в физический реестр. Тестируемая FileZilla без проблем подключилась к серверу и передала файлы, т.е. с основной задачей справилась. А вот её настройки всё так же сохранялись в системе, даже при добавлении их в виртуальный контейнер при упаковке.

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

— проблемы с распознаванием отсутствуют.

Выводы: Исходя из проведенных тестирований, средство справляется с упаковкой файлов в один исполняемый ЕХЕ. При этом этого не достаточно для создания действительно портативных программ, которые хранят свои настройки у себя в директории и не оставляют следы в системе. Видимо авторы так и продолжают делать упор на безопасность ресурсов, а не на отвязке от основной ОС. Огромным плюсом, конечно же, является бесплатность и открытый исходный код, что дает возможность сторонним разработчикам доработать его и улучшить. Но пока данное средство для чайников покажется сложным и должного результата не даст.

P.S. Наша работа с данным средством далеко не закончена, будем продолжать тестирование. Если у вас есть примеры удачных результатов или знаете нюансы эффективной работы с ним, пишите в комментариях.

Руководство

Создание портативных программ с помощью MoleBox Virtualization Solution

На момент написания руководства MoleBox Virtualization Solution (далее по тексту MoleBox VS) используется версия с открытым исходным кодом 4.6000. Бинарные файлы приложения распространяются в файле-архиве (.zip). В операционной системе Windows такие файлы распаковываются даже не имея специализированной программы, к примеру WinRar или 7-Zip.

После распаковки мы увидим примерно следующий набор файлов:

Примечание: В некоторых случаях необходимо добавить динамические библиотеки msvcp100.dll и msvcr100.dll, найдёте их на нашем сайте во вкладке Ссылки.

Для запуска нам необходим исполняемый файл Molebox.exe, после чего увидим главное окно программы.

Знакомство с главным окном MoleBox Virtualization Solution

MoleBox Virtualization Solution

Окно состоит из трёх разделов, это: элементы управления проектом, раздел VFSROOT (virtual file system root folder), что в переводе на русский означает корневая директория виртуальной файловой системы, и перечень файлов приложения с указанием их путей в реальной системе.

Примечание: Т.к. в MoleBox VS отсутствует пошаговый мастер создания переносимых приложений, все операции с файлами осуществляются вручную.

Для добавления директорий и находящихся в них файлов в проект необходимо воспользоваться элементом управления Add Folder …, находится оно в выпадающем меню Edit или нажимаем Molebox Add Folder. Если ваше приложение состоит исключительно из файлов, или Вы хотите добавлять необходимое поочередно, в этом же меню можно выбрать Add Files … или нажать Molebox Add Files. Среди элементов управления файлами проекта Вам также доступно:

Molebox New Subfolder — создание поддиректории.
Molebox Delete Folder — удаление директории. Свойство дублируется в меню EditDel Folder …
Molebox Rename ore Move Folder — переименование или перемещение директории.
Molebox Delete Files — удаление файлов. Свойство дублируется в меню EditDel Files …
Molebox Rename ore Move Files — переименование или перемещение файлов.

Примечание: Все действия которые Вы производите благодаря вышеуказанным элементам не касаются файлов физической системы.

Кроме управления файлами проекта Вам также доступно:

Molebox Save Package Config to MXF file — сохранение проекта в файл MXB (MoleBox Config Script). Данный файл необходим для многоразового подхода к проекту, и если Вы не успели создать портативное приложение за один раз, можете легко открыть его и продолжить. Свойство дублируется в меню FileSave или Save As …
Molebox Load Package Config from MXF file — открытие созданного ранее проекта через файл MXB. Свойство дублируется в меню FileOpen.
Molebox Configure Package — настройка виртуального приложения. Свойство дублируется в меню ToolConfigure…
Molebox Pack Package — упаковка (создание) виртуального приложения. Свойство дублируется в меню ToolPack…

Настройка виртуального приложения в MoleBox Virtualization Solution

После добавления всех необходимых файлов в проект, его необходимо настроить. Для этого выбираем ToolConfigure… или нажимаем соответствующий элемент управления.

MoleBox Processing Configuration

Merge source executable & package into one exe file — активируется в случае, если вы хотите объединить файлы в один исполняющий. Дословно переводится как: «Слить исходный файл и упаковать его в один файл exe». При создании патчей, дополнений и т.д. к вашим переносимым приложениям, к примеру с помощью dat файла, функция может быть отключена.

Source — в этом поле указывается исполняемый (exe) файл в который вы хотите заключить все необходимые для его работы ресурсы.

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

with password — установка пароля для подключения дополнительных модулей.

Relink — дословно переводится как: «Перелинковать». В данном приложении функция новая и информации по ней нет.*

Enable Anti-Crack features — добавляет защиту к выходящему файлу от таких методов взлома как: anti-debug, anti-dump, anti-trace и т.д.

Inherit virtual environment — дословно переводится как: «Наследовать виртуальную среду». В данном приложении функция новая и информации по ней нет.*

Enable logging — активирует ведение лога работы упакованного приложения.

Do not touch IAT — оставляет IAT (предположительно Import Address Table, что в переводе означает: «таблица адресов импорта») приложения без изменений.

Do not encrypt extra — отсутствие дополнительного шифрования выходящего файла. Функция автоматически деактивируется при отключении Relink.

Use virtual regestry — использовать виртуальный реестр. Функция необходима приложениям, которым нужна регистрация OCX или ActiveX компонентов.

Do not touch RSC — оставляет RSRC разделы, хранящиеся как правило в файлах RSC, без изменений.

Full registry virtualization — полная виртуализация реестра.

Cmdline — параметры командной строки, необходимые для запуска приложения.

Activator — позволяет указать динамическую библиотеку (DLL), необходимую для активации приложения.

Regmask — указывается маска файла в который должны быть импортированы записи реестра при запуске. По умолчанию *.reg

Autoregister OCX/ActiveX — параметр необходим для авторегистрации компонентов OCX или ActiveX. Активируется при использовании параметра Use virtual regestry. На выбор предоставляется три варианта: REGISTER WHEN PACK (регистрация во время упаковки/создания), REGISTER ON START (регистрация во время запуска виртуального приложения) и DO NOT REGISTER (не регистрировать).

Target — указывается путь где будет сохранено виртуальное/переносимое приложение.

Protect package wiht password — защитить созданное приложение паролем.

If file named like embedded exists on disk — параметр определяет как виртуализированное приложение решает конфликт наименования файлов. Конфликт может возникнуть если есть физический и виртуальный файлы с одинаковыми наименованиями и путями. Параметр USE EMBEDDED COPY дает предпочтение виртуальному файлу, USE EXTERNAL COPY — физическому соответственно. ACCESS ERROR — при конфликте отображает ошибку: «Access denied».

Build virtual regestry — создать виртуальный реестр. Активизируется при отключении параметра Merge source executable & package into one exe file и автоматически активен при задействовании параметра Use virtual regestry.

Hide all files — применяется для сокрытия упакованных файлов при поиске и диалоге Открыть файл.

* — Если у кого-то есть информация по данным функциям, по возможности укажите её в комментариях и руководство будет исправлено.

Упаковка приложения после его настройки.

После того как Вы добавили все необходимые файлы в ваш проект и настроили его, указав необходимые Вам параметры, можете приступать к сборке. Для этого нажмите Molebox Pack Package или выберите меню ToolPack … Перед вами появится лог создания переносимого приложения и готовый результат в указанном Вами месте.

На этом собственно и всё. Если что-то при создании будет не так, приложение Вам отобразит информацию в логе (на английском языке), в чем же заключается проблема. Если всё хорошо, можете тестировать Вашу portable версию программы.

Ссылки

ОБСУДИТЬ НА ФОРУМЕ

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Нет комментариев.

Добавить комментарий

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: