# User Guide: Windows Virtual Folder

## Overview

**Virbox Protector** integrate several tools for software developer to use in conveniently, besides of the functionality of code protection and hardening and app shielding.

**Windows Virtual Folder** tools is the packing/archiving tools provides to developer to pack/archive a project **with encryption functionality.**

With the **Windows Virtual Folder** tools, developer may pack/archive all type of project file into one windows exe file, includes but not limited the dynamic link library (dll), video file (MP4), text file (txt) or other type of file. and then when software user only require to execute the packed execution file. which is much easier and convenient for both developer and software user.

Except project exe and dll file, all of project file **will be encrypted** when use the **Windows Virtual Folder** packed/archived.

**Note:**

> Developer use Virbox Protector to protect main program (executable file, dll) and then use the **"Windows Virtual Folder"** tool to pack all of file/folder into one exe file.

## Support System

### Packing Project Folder Support

| Type                         | System             | Support or Not |
| ---------------------------- | ------------------ | -------------- |
| PE project folder            | Windows 7 or above | Yes            |
| .NET project folder          | Windows 7 or above | Yes            |
| Other type of project folder | N/A                | No             |

### Feature

1. With **Windows Virtual Folder** tools, it will bring much convenient to developer when developer complete app shielding & code hardening process. Software user only required to execute the packed exe file and then all of function available and active.
2. High **Compatible**: Except project exe and dll file, all of other type of project file **will be encrypted** when use the Windows Virtual Folder packed/archived into one exe file: such as, .ini, .txt, .config, .xml etc.,
3. The execution **performance** of project will not be negative impacted.

**Note:**

> When execute the packed exe file, the exe file will be generate swap folder under temp folder, and all of file under the swap folder are encrypted file, and and all of these file will be cleared when execution closed.

## Packing process

### Add the main program (executable file)

1. Open Virbox Protector GUI tool, Click "`Tools`" in the Main Menu, find `Window Virtual Tool`in the bottom, as shown in the screenshot in below:

<figure><img src="https://1000790546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2FlSehL2foWxzaX8I89H%2Fuploads%2FUpmu9W1Srfi9dnvEg7Gb%2Fopen_virtual_folder.png?alt=media&#x26;token=bb02cdc6-0c7d-4af9-b07c-8e37563d6b7f" alt=""><figcaption></figcaption></figure>

2. Click and open the Windows Virtual Folder tools

<figure><img src="https://1000790546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2FlSehL2foWxzaX8I89H%2Fuploads%2FaI5ONp3PKBp1RWsmkDv8%2Fvirtual_folder.png?alt=media&#x26;token=90da6575-16be-40fa-8fc1-1835948d248f" alt=""><figcaption></figcaption></figure>

2. Functionality and Feature

`2.1 Executable file path`: which means the path of the executable file of project；

`2.2 Output File`: means the packed exe file output path；

`2.3 Virtual Directory`: developer drag the rest of file which to be packed into the empty space of this `Virtual directory`, this folder is the present folder of the executable file running or execution;

Please refer the screenshot below:

<figure><img src="https://1000790546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2FlSehL2foWxzaX8I89H%2Fuploads%2FvFQZu8mKSfD8H9NUbPSw%2Fadd_exe.png?alt=media&#x26;token=2dc31d21-084b-449b-a949-b8e612e669a9" alt=""><figcaption></figcaption></figure>

4. Add the executable file (exe file): drag the executable file into the `Input box`, then output file folder will be the folder to create the pack file on default, which used to save the packed exe file.

   **Note: The type of executable file must be the exe file of PE or .NET type of exe file.**

### Add File/File Folder

Developer will have 3 ways to add file/folder: add file, add folder and add all file (Folder) from project folder, Developer may select one of three ways according to project file:

#### Add file

> **Add file**, is applied for the exe file and other file to be packed are under same folder, developer may put all of file together and pack into one exe file.

1. First, drag the main exe file into the input box of `Executable File Path`
2. Right click `Virtual Directory` to select `Add file` or select file and drag the file directly into the GUI tool;

<figure><img src="https://1000790546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2FlSehL2foWxzaX8I89H%2Fuploads%2F6Endji41KwuwLv55plrt%2Fadd_file.png?alt=media&#x26;token=30eeff61-f3db-4169-929f-c5613ed6184f" alt=""><figcaption></figcaption></figure>

3. Add file, usually be used to add the file only, and the exe file and the rest of relevant file to be called are under same directory, see screenshot below:

<figure><img src="https://1000790546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2FlSehL2foWxzaX8I89H%2Fuploads%2FHYEiu98CwXiWWANBEDV0%2Fadd_files.png?alt=media&#x26;token=6795a5b0-ba92-477a-b7ee-8b0ecc53e26c" alt=""><figcaption></figcaption></figure>

#### Add Folder

> **Add folder**, is applied for the exe file and other project file are located in different folder, and pack all of file in to one exe file.

1. First to drag the main exe file into the input box of `Executable file path`
2. Right click `Virtual Directory` to select to `Add Folder` or select the folder and drag the selected folder into the GUI tool directly;

<figure><img src="https://1000790546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2FlSehL2foWxzaX8I89H%2Fuploads%2FiG5UcNjHT93ZNHV7LG55%2Fadd_folder.png?alt=media&#x26;token=3f976e90-f302-495e-9d74-b0c6dd8edccf" alt=""><figcaption></figcaption></figure>

3. The path of the folder (location) must be under the same of directory as the exe file located, which is equivalent to the exe calling the file in the folder. see the screenshot as below:

<figure><img src="https://1000790546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2FlSehL2foWxzaX8I89H%2Fuploads%2FxPdqwsyHw793lx1Jy9J6%2Fadd_files_folders.png?alt=media&#x26;token=485c154d-6ab2-41b5-88e4-bb8318b07e6d" alt=""><figcaption></figcaption></figure>

#### Add all of file(folder) of project

> **Add all file(folder)** , is applied for the project contains multiple file and multiple folder, to pack the complex project.

1. First of all, to drag the main exe file into the input box of `Executable file path`, and here the `Virtual Directory` represent the upper level directory of exe file;
2. Right click `Virtual Directory` to select to `Add all files (Folder) in the folder` and select the upper level of the folder of main exe file located to " **Add all of file(folder)**".

<figure><img src="https://1000790546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2FlSehL2foWxzaX8I89H%2Fuploads%2FumwbM1WS94A4dQ2BlIND%2Fadd_file_folder.png?alt=media&#x26;token=56770113-5fd7-458f-bd95-040522ff79dc" alt=""><figcaption></figcaption></figure>

3. Add all of files and folders which under the selected folder, but except the selected folder itself;

#### Sample

Let's take a example with the project: Tester to go through whole process:&#x20;

**This project includes the main program exe, dll, and config folder, here we take this project as example to show the whole process to add and pack with one encrypted exe file. the whole packing process will be proceed as shown as below:**

1. Drag the main exe: `load_subprocess.exe` into the input box of `Executable file path`;
2. Right click and select `Add all files(folder）` in the folder and select the folder: `pack_demo` which in the upper level directory of the main exe and add;
3. Click the `Virtual Folder` to list all of files, folders under the `Tester` Folder.
4. Click `Pack` Option, then you can generate the packed file (exe file) which under the folder of `pack_demo\pack`;
5. Execute the packed exe file: double click exe file, all functionality will be executed as normal.

<figure><img src="https://1000790546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2FlSehL2foWxzaX8I89H%2Fuploads%2FAWrdD64e76wotWnTDaCi%2Fadd_files_all.png?alt=media&#x26;token=00093f21-dfde-41f6-8e89-a5072c923b83" alt=""><figcaption></figcaption></figure>

### Pack/Archive

1. When developer complete the setting to: Add main program (executable file) and Add file/Folder to the project;
2. Click the Button `Pack` which located at right corner in below (see attached screenshot), to pack/archive your project file.

<figure><img src="https://1000790546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2FlSehL2foWxzaX8I89H%2Fuploads%2Fm16aooLpZovZlyQ04oat%2Fpack.png?alt=media&#x26;token=8ee259ab-a8fe-4bdd-864d-ddb43b099fa9" alt=""><figcaption></figcaption></figure>

3. When packing successful, you can find a exe file generated under the output path, all of file contained in this exe file has been encrypted.

<figure><img src="https://1000790546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2FlSehL2foWxzaX8I89H%2Fuploads%2FWT2gUfmycxQ88KtoxFum%2Foutput.png?alt=media&#x26;token=0e5d0e34-f70b-4c03-b90e-586d729b2672" alt=""><figcaption></figcaption></figure>

3. Double click this exe file, all functionality running smoothly.

## FAQ

1. Can we use `virbox protector` to protect the exe file or dll file of project file first, then use the `Windows Virtual Folder` tool to pack and encrypt the whole project?

   Answer: Yes, support
2. Can we use `Windows Virtual Folder` tool to pack and encrypt the whole project file into one executable file and then use `Virbox Protector` to protect this packed exe file?

   Answer: No, it doesn't support to use `Windows Virtual Folder` in this way, when you use Virbox Protector to protect the packed exe file, then it will popup message and shown:

`The exe file has been protected`
