MoleBox Virtualization Solution was once a commercial tool for application virtualization created by Russian developers. The main task was to ensure security of application resources without touching its source code. Primarily, it was recommended to various software developers (games, applications, etc.) with accentuation to protecting data and media files from third-party viewing and/or modification. Initially, tool authors were not being targeted to portable app creator software, but later it was accented.
MoleBox Virtualization Solution History
Application development began in 2002. In January, 2003, first public version was already available to users. Main developer and author of a program is Alexei Sudachan, born on 1976, Yakutsk. Application copyright belongs to two companies Teggo Software Ltd (2002-2010) and DesaNova Ltda (since 2011), which are located in Chile, and their owner is Olga Marchevskaya.
During development of the portable app maker, it was perfected and improved. Initially, limitation of a trial version was only a pop-up window with information about MoleBox which user seen at the packed program start, all functional was available. Later, restrictions were added: a 15-day trial period and inability to distribute processed applications. In 2004, different releases appeared: MoleBox Pro and Standard. Pro release allows to use several data packages, implements dynamic libraries at executable file and to provide additions (updates, add-ons, patches) to packaged programs. In 2009, version of MoleBox Ultra appeared, which allows to virtualize .NET applications.
MoleBox Virtualization Solution was introduced to users in 2010. A 9x product release was also available, which was provided absolutely free to all users who have purchased a license for early products.
In 2014, commercial support for MoleBox Virtualization Solution was discontinued, the latest version for users is 4.5462, it was released on December 8, 2013.
Three years later, in 2017, Aleksei Sudachen on github.com project page share source code for all users. Now everyone can freely use all possibilities of a MoleBox project, which has lasted for 15 years, without any limitations, and other developers can make a much better tool. Today project is available under GPL license and you can create a portable app for free.
MoleBox Virtualization Solution Tehnology
Portability is achieved by application packing at the virtual environment that contains everything what it needs for work. Moleboxed (developers term, which means resources packaged by MoleBox) application works as a normal/standard. All dependencies, such as dynamic libraries, ActiveX environments, .NET and others (VB, FoxPro, Java, etc.) can also be packed. As a result of processing application necessary components, everything is packed into one stand-alone executable (*.exe) file. It can be used on any computer running Windows OS.
MoleBox Virtualization Solution Features
- Mode of portable application creation: Manual configuration, you can use graphical interface (GUI) or command line.
- Dependency: Microsoft Visual C ++ 2010 x86 Redistributable, namely dynamic libraries msvcp100.dll and msvcr100.dll
- Administrator rights: Not required.
- Supported applications: 32-bit and .NET 2.x+
- Supported OS: Windows 2000/XP/Vista/7/8/10
Created Applications Features
- Work on other PCs without installation: Yes.
- Sandbox availability: No.
- Portability of registry settings: No.
- Portability of file system settings: No.
- Unpacking application files before running: Unpacking is executed in memory, the physical disk remains clean.
- Dependency: No.
- Administrator rights: Not required.
- Supported OS: Windows 2000/XP/Vista/7/8/10
MoleBox Virtualization Solution first comment
Despite more than 15 years of tool development, I was not able to create a fully portable application. Temporary program files are remained in system, and this applies to both registry and file system too. I was testing exclusively through a graphical interface. For example, the 7-Zip program lost ability to pack and unpack files (program controls just stopped being active). 7-Zip settings, despite activation Full registry virtualization function, also saved in physical registry. The FileZilla program was connected to server and transfer files without problems, but its settings are still stored in the system, even when I was adding them to a virtual container when packing.
During testing I had a situation: adding to project the program files completely, i.e. all folders with everything necessary, packed app could not determine paths to the resource files. Basically, localizations and some additional files needed by the application were not detected. When adding by parts, directories and files by itself to the root of the project, this problem disappeared. For an example, it looks like this:
– the resources are not visible.
– the problem are disappeared.
Conclusions: Based on tests, tool copes with the file packaging at one executable. But this is not enough to create really portable programs that store settings in their own directory and don’t leave traces in the system. Apparently authors continue to focus on security of resources, but not at apps isolation from main OS and transfer their settings on other systems. A huge plus is of course free and open source, which enables third-party developers to refine and improve it. But now Molebox Virtualization Solution as portable app creator for dummies will seem difficult and will not give due result.
P.S. Our work with this tool is far from over, we will continue testing. If you have examples of successful results or know the nuances of effective work with it, please write the comments.
How to make a portable application with MoleBox Virtualization Solution
At the time of tutorial writing uses an open-source version of MoleBox Virtualization Solution 4.6000. The application’s binary files are distributed in an archive file (. zip). In Windows operating system, such files are unpacked even without a specialized program, for example WinRar or 7-Zip.After unpacking, we’ll see following set of files:
Note: In some cases, you need to add the dynamic libraries msvcp100.dll and msvcr100.dll, you can find them on our website in the Downloads tab.
To run, we need an executable file Molebox.exe and then we’ll see the main program window.
MoleBox Virtualization Solution Mine Window
It contains of three sections. It’s a project management elements, FSROOT (virtual file system root folder) section and a list of application files with their paths in real system.
Note: MoleBox VS does not contain a step-by-step wizard for creating portable applications. All operations with files are carried out manually.
To add directories and files that project must contain, you need to use Add Folder … control, it is located in the Edit pop-up menu or click . If your application consists only files, or you want to add required one in turn, in the same menu you can select Add Files … or click .
Among project management elements you can also:
– subdirectory creation.
– delete a directory. Property is duplicated in Edit – Del Folder … menu.
– rename or move the directory.
– delete file. Property is duplicated in Edit – Del Files … menu.
– rename or move files.
Note: All actions that you perform with above elements do not affect files on a physical system.
In addition to managing project files, you can also:
– save project to an MXB file (MoleBox Config Script). This file would need if you did not manage to create a portable application at a time, you can open it easily and continue. Property is duplicated in File – Save or Save As … menu.
– open a previously created project using MXB file. Property is duplicated in the File – Open menu.
– virtual application configuration. Property is duplicated in Tool – Configure … menu.
– packaging/creating a virtual application. Property is duplicated in Tool – Pack … menu.
MoleBox Virtualization Solution Application Settings
After you add all necessary files to the project, you must configure it. To do this, select Tool – Configure … or click appropriate control.
Merge source executable & package into one exe file – activates if you want to merge files into one executable. When you create patches, add-ons, etc. for portable applications, for example a *.dat file, function can be disabled.
Source – specify executable (exe) file in which you want to pack everything your program need.
Mount – the file mask which your portable application can connect as additional modules.
with password – set a password for connecting additional modules.
Relink – this is a new application function and I don’t have information about it.*
Enable Anti-Crack features – adds protection to the output file from such hacking methods as: anti-debug, anti-dump, anti-trace, etc.
Inherit virtual environment – this is a new application function and I don’t have information about it.*
Enable logging – activates packed application logging.
Do not touch IAT – leaves the IAT (presumably Import Address Table) of application unchanged.
Do not encrypt extra – no additional encryption of output file. The function is automatically deactivated when you turn off Relink.
Use virtual regestry – this function is needed for applications that need to register OCX or ActiveX components.
Do not touch RSC – leaves RSRC sections unchanged.
Full registry virtualization – no comments.
Cmdline – command-line options required to application run.
Activator – allows you to specify a dynamic link library (DLL), needed for application activate.
Regmask – file mask into which registry entries should be imported. Default is * .reg
Autoregister OCX/ActiveX – parameter is required for auto-registration of an OCX or ActiveX components. Activated when you are using
Use virtual registry option. You can choose from three options: REGISTER WHEN PACK, REGISTER ON START and DO NOT REGISTER.
Target – path where the virtual/portable application will be saved.
Protect package with password – no comments.
If file is named as embedded exists on disk – specifies how virtualized application fix file name conflict. Conflict takes place if a physical and virtual file has same names and paths. USE EMBEDDED COPY parameter gives preference to a virtual file, USE EXTERNAL COPY – physical and ACCESS ERROR – it displays an error: “Access denied”.
Build virtual regestry – activated when the Merge source and package is integrated into one exe file is disabled and is automatically activated when Use virtual regestry parameter is enabled.
Hide all files – is used to hide packed files when searching and Open file dialog.
* – If you have information about these functions indicate it in the comments please and guide will be corrected.
Packaging application after its configuration.
After you have added all necessary files to your project and configured it, you can pack it. To do this, click or select Tool – Pack … menu. You will see a log of creating a portable application and finished result in specified place.
If there is an error, the log will show you information. If all good, you can test your created portable app.