# Virbox Protector  Trial

**Virbox Protector  Trial** 是 **Virbox Protector** 最新的外壳加密工具，该版本的设计比早期版本更加完善，在安全性、稳定性不断提升的基础上，更加能提升开发者的工作效率，界面也给人以赏心悦目的感觉，并在 **Virbox Protector Trial** 版本的基础上新增了许多功能 :muscle:。&#x20;

**Virbox Protector Trial** 版本的菜单和快速启动栏，以人性化、易于理解的优点，展示了如何快速为应用程序加密，保存配置文件等，下面，我们将详细的介绍每一个功能选项 。&#x20;

## :page\_with\_curl: 主界面 <a href="#wy7tp" id="wy7tp"></a>

首次打开 **Virbox Protector  Trial** ，展现在您面前的，就是登录界面。:menorah:&#x20;

![](/files/-MP3P-BjM_a60sZnwr_F)

{% hint style="info" %}
​​ :reminder\_ribbon: **温馨提示：**&#x5982;果此时您还没有试用账号，请点击申请试用按钮进行注册，或者直接访问 <https://aiot.virbox.com/trail.html> 注册试用:menorah:&#x20;
{% endhint %}

成功登录 **Virbox Protector  Trial** 后，展现在您面前的，就是主界面。 :menorah:&#x20;

![主界面](/files/-MP3PwE94FLY8XfzLcHr)

&#x20;**Virbox Protector  Trial** 的主界面由6个部分构成

* :ticket: **标题栏：**&#x63D0;供产品名称和版本号
* :page\_with\_curl: **菜单栏：**&#x63D0;供文件、保护、插件、日志、设置、帮助等菜单选项
* :gear: **工具栏：**&#x63D0;供打开文件、保护选中配置、保护所有配置、保护选中项目、保护所有项目按钮，可以通过此栏目中的按钮，快速执行操作；
* :file\_folder: **文件/目录：**&#x63D0;供被保护的文件展示区；
* :man\_with\_chinese\_cap: **引导页：**&#x6B22;迎页面，导入文件后，引导页会变成文件配置页；
* :station: **状态栏：显示**基本状态信息；

{% hint style="info" %}
:reminder\_ribbon: **温馨提示：**&#x6B63;式版的 **Virbox Protector** 提供两种形式的授权，**账号密码**和**加密锁**，您可以直接将带有合法授权的加密锁插入电脑，也可以登录授权账户使用。
{% endhint %}

## :roller\_coaster: 标题栏 <a href="#id-1qadk" id="id-1qadk"></a>

**Virbox Protector Trial** 窗口最顶部的一栏被称为标题栏，主要用于显示 **Virbox Protector  Trial** 的产品名称和版本号。

![标题栏](/files/-MP3Q_6BpPJK4iFffeRP)

## :men\_wrestling: 菜单栏 <a href="#dgmbw" id="dgmbw"></a>

### 文件

![文件菜单](/files/-MP3QhdcP1I8EgcTMNk2)

:open\_file\_folder: **打开文件：**&#x70B9;击`打开文件`按钮，可以选择将 **APK、SO、Mach-O** 等文件导入，导入后的文件会显示在「文件/目录区」中，同时，可以将「批量项目」保存的文件直接打开。

:page\_facing\_up: **打开目录「仅支持Unity3D目录」：**&#x6253;开文件是导入单一文件，打开目录可以将指定目录下所有文件导入，目前只支持 **Unity3D** 应用。

:projector: **最近项目/批量项目：**&#x60A8;可以快速重新打开最近的单一保护项目，或批量处理的保护项目。最多支持5个最近的项目。

:ocean: **保存批量项目：**&#x5982;单次需要保护多个文件，保存批量项目会记录每个文件的绝对路径，但不会保存单一文件的配置信息，如果您希望保存配置，请使用工具栏中「保存选中配置」和「保存所有配置」菜单，批量项目会存储为xxx.vbpsln文件「xxx为自定义文件名」，需要使用时可通过「打开文件」直接打开。

:credit\_card: **退出：**&#x5173;闭 **Virbox Protector  Trial** 界面，退出整个应用

### :shell: 保护 <a href="#rpqmu" id="rpqmu"></a>

「保护」菜单是 **Virbox Protector  Trial** 核心功能菜单。

![保护菜单](/files/-MP3RVRLN28w7mLxIzEg)

:chopsticks: **解析选中项目：**&#x5206;析导入的文件，识别基本信息，成功解析后方可进行保护操作。

:stars: **解析所有项目：**&#x5206;析所有导入的文件，识别基本信息，成功解析后方可进行保护操作。

:wave: **保存选中配置：**&#x5BF9;选中文件设置函数选项、加密选项等信息，保存此信息以便下次直接使用，功能等同于工具栏中「保存选中配置」菜单。

:wave: **保存所有配置：**&#x5BF9;选中的多个文件设置函数选项、加密选项等信息，保存所有文件信息以便下次直接使用，功能等同于工具栏中「保存所有配置」菜单。

:person\_tipping\_hand: **保护选中项目：**&#x5C06;选中文件进行加密保护，功能等同于工具栏中「保护选中项目」菜单。

:man\_with\_chinese\_cap: **保护所有项目：**&#x5C06;文件列表中所有文件进行加密保护，功能等同于工具栏中「保护所有项目」菜单。

### :left\_luggage: 插件 <a href="#d17b2" id="d17b2"></a>

插件特指「**DS Protector**」

![DS Protector](/files/-MP3Rj1XMvMcwX35w-fO)

{% hint style="success" %}
​​ :reminder\_ribbon: **温馨提示：**[**DS Protector**](/home-page/ds-protector.md)作为 **Virbox Protector  Trial** 的插件，是 **Virbox Protector  Trial** 的重要组成部分。
{% endhint %}

**DS Protector**为PC程序提供资源加密服务，可以对程序所需要的资源进行保护，同时支持一些脚本语言例如Python、Lua的保护。

{% content-ref url="/pages/-M9JNRH3EsLcj4Q0DgZH" %}
[DS Protector](/home-page/ds-protector.md)
{% endcontent-ref %}

{% hint style="danger" %}
:reminder\_ribbon:**温馨提示：DS Protector只适用于PC程序的资源加密保护，不适用于移动应用加固。**
{% endhint %}

### :speech\_balloon: 日志 <a href="#yfq4v" id="yfq4v"></a>

![日志菜单](/files/-MP3Sd0BdFQt5bL2x9FL)

**显示实时日志窗口：**&#x5B9E;时日志窗口，会将您的每一步操作，都打印到工具的界面中。

![实时日志](/files/-MP3SjWe7T_poqOZrM0A)

实时日志窗口，提供3种功能：

* **保存到文件：**&#x53EF;以将生成的实时日志，保存为txt；
* **清空：**&#x6E05;空当前日志；
* **过滤：**&#x6309;照一定的规则过滤某些日志；

![复制单条日志](/files/-MP3Sv0b7eo99LzS10Up)

**打开本地日志目录：Virbox Protector  Trial** 会记录开发者的操作日志，保存在本地。

![本地日志目录](/files/-MABf4RTOtdA5H9UHymo)

{% hint style="warning" %}
​​ :reminder\_ribbon: **温馨提示：**&#x57;indows系统版本不同，日志保存路径略有不同
{% endhint %}

### :rosette: 设置 <a href="#mwfx9" id="mwfx9"></a>

「设置」特指语言设置。

![设置菜单](/files/-MP3TCtmLcrSZplGUvoD)

{% hint style="info" %}
​​ :reminder\_ribbon: **温馨提示：Virbox Protector  Trial** 支持简体中文、繁体中文、英文三种语言，如果您需要切换到您需要的语言，请使用此菜单，重启 **Virbox Protector  Trial** 后生效。
{% endhint %}

### :helmet\_with\_cross: 帮助 <a href="#onced" id="onced"></a>

![帮助菜单](/files/-MP3TTKyQKwZOng5IGen)

* **创建转储文件：**&#x5F00;发者在文件加壳时候出问题，可以进行转储成dump，发给我们解决；
* **帮助文档：**&#x5728;线帮助文档；
* **关于：**&#x7248;权所有、联系方式、官网地址等；

## :hammer\_pick: 工具栏 <a href="#krhh1" id="krhh1"></a>

工具栏为开发者提供多种快捷按钮，便于开发者可以快速实现各种任务。

{% hint style="info" %}
&#x20;:man\_scientist:**小技巧**：右键在工具栏空白处单击，可以「隐藏」工具栏，隐藏后需在菜单栏右键单击显示。
{% endhint %}

![隐藏前效果](/files/-MP3Ty7XOMRAYD_rs1oA)

![隐藏后效果](/files/-MP3U2_K7DZ6hQ6wJTn4)

| 按钮                                                              | 名称     | 功能                            |
| --------------------------------------------------------------- | ------ | ----------------------------- |
| <img src="/files/-MATxq7hZtRbC-yfElPx" alt="" data-size="line"> | 打开文件   | 导入需要保护的文件                     |
| <img src="/files/-MATyJ4A2bGAPw9bEIy7" alt="" data-size="line"> | 保存选中配置 | 对选中文件进行各种配置，保存此信息以便下次直接使用     |
| <img src="/files/-MATyj-Kk-KWBEnpDCfd" alt="" data-size="line"> | 保存所有配置 | 对选中的多个文件进行配置，保存所有文件信息以便下次直接使用 |
| <img src="/files/-MATynVeJ_MEB_sxqV4E" alt="" data-size="line"> | 保护选中项目 | 将选中文件进行加密保护                   |
| <img src="/files/-MATysj8-A9yrpSD2JUX" alt="" data-size="line"> | 保护所有项目 | 将文件列表中所有文件进行加密保护              |

## :open\_file\_folder: 文件/目录 <a href="#id-1c42q" id="id-1c42q"></a>

文件/目录区用于展示被保护文件的信息列表，即将被保护的文件，都会呈现在这个区域内。

{% hint style="info" %}
:man\_scientist:**小技巧**： **Virbox Protector  Trial** 提供4种文件导入方式
{% endhint %}

* 找到目标文件，直接拖拽至`「文件/目录」`列表；
* 点击菜单栏中的`「文件」`，在下拉菜单中选择`「打开文件」`；
* 单击工具栏中`「打开文件」`按钮；
* 直接使用`Ctrl+O`快捷键；

导入文件后，单击某个文件，该文件会被激活，背景呈蓝色 :blue\_book: ，右侧引导页会显示程序的具体信息。

![文件导入](/files/-MDYx01ZJLHh1rQopuOG)

![右键单击导入文件](/files/-MDYx4awSmSjUOE4n658)

**解析：**&#x5206;析被保护的文件，识别基本信息，成功解析后方可进行保护操作

**保存配置：**&#x53F3;侧引导页中有多个配置选项卡，可对选中文件设置函数选项、加密选项等信息，保存此信息以便下次直接使用，功能等同于工具栏中「保存选中配置」按钮

**保护：**&#x5C06;选中文件进行加密保护，功能等同于工具栏中「保护选中项目」按钮

**打开文件所在目录：**&#x6253;开被保护文件所在的目录

**设置保护后输出目录：**&#x6587;件被保护后，会生成一个保护后的存储目录，默认保存在被保护文件的同一目录，开发者可根据自己的偏好指定目录

**将此文件的加密选项附庸于其他选中的文件：**&#x5982;果被保护的文件相似，可以采用同样的加密选项，在配置好某个被保护文件后，可以选择多个类似文件，将加密选项复用到其他被保护文件上，无需每个被保护文件单独配置

**关闭：**&#x5173;闭此菜单

## :guitar: 引导页 <a href="#hm309" id="hm309"></a>

&#x20;**Virbox Protector Trial** 启动时，引导页为欢迎页面

![引导页](/files/-MDYxJu9RUbtZ91BIp3j)

导入被保护文件后，引导页被激活，提供3个选项卡，分别是**基本信息**、**函数选项**和**加密选项**。

![导入文件后的引导页](/files/-MDYxStxWV60_Nw-kybC)

### :information\_source: 基本信息 <a href="#id-4fexl" id="id-4fexl"></a>

基本信息，是被保护程序基本数据的呈现，主要包含文件（夹）位置、文件创始时间、文件修改时间、文件最后访问时间、文件类型等信息。

![基本信息](/files/-MDYxcXR6ihCajr4iBP2)

### :construction\_site: 函数选项 <a href="#ofeow" id="ofeow"></a>

&#x20;**Virbox Protector Trial** 提供**代码混淆**、**代码虚拟化**、**代码加密**3种不同的加密方式。

{% hint style="info" %}
​:reminder\_ribbon:**温馨提示：** **Virbox Protector Trial** 提供函数级保护，可以针对具体的函数进行保护，「函数选项」中列出了被保护程序的加密详情
{% endhint %}

![函数选项](/files/-MDYxpdhdspPaumOTjaw)

**函数总个数：**&#x7ECF;过 **Virbox Protector Trial** 解析被保护的文件，可以识别出的函数总的数量

**已保护数量：**&#x901A;过 **Virbox Protector Trial** 保护过的函数数量

**混淆个数：**&#x901A;过代码混淆保护过的函数数量

**虚拟化数：**&#x901A;过代码虚拟化保护过的函数数量

**加密个数：**&#x901A;过代码加密保护过的函数数量

**函数区：** **Virbox Protector Trial** 保护过的函数列表，在此区域内点击保护类型，可对保护类型进行调整

**添加函数：对更多的函数进行加密保护**

{% hint style="info" %}
​:man\_scientist:**小技巧**：示例中的被保护程序同一目录中包含.map文件，在文件导入的过程中， **Virbox Protector Trial** 会自动加载该.map文件，.map文件可清晰的识别出受保护文件的函数名称，这会极大的帮助开发者根据具体的函数进行加密配置
{% endhint %}

{% hint style="danger" %}
​:reminder\_ribbon:**温馨提示：**&#x4E0D;含.map文件无法识别函数名称，只能识别到函数地址，所以强烈建议开发者生成.map文件
{% endhint %}

![不含.map文件效果，无法识别函数名称](/files/-MDYyyBpeNn2Ilklej0A)

![包含.map文件效果，可清晰识别函数名称](/files/-MDYybSEMsAHgCnb_0VR)

{% content-ref url="/pages/-M9JUtMPRXgm6Ylh1rg\_" %}
[Broken mention](broken://pages/-M9JUtMPRXgm6Ylh1rg_)
{% endcontent-ref %}

{% hint style="danger" %}
​​:reminder\_ribbon: **温馨提示：**&#x8FC7;多的的保护策略会降低软件运行的性能，软件开发者要注意平衡函数保护数量和性能之间的关系
{% endhint %}

通过`「添加函数」`按钮，增加更多函数保护

![添加函数](/files/-MABlMn1xP5x5rGxycRh)

此界面会罗列出解析出程序中的函数「托管代码程序和非托管代码程序有细微的差别」

**托管代码程序：**&#x51FD;数名称为「命名空间+类名称+函数名称」

**非托管代码程序：**&#x51FD;数名称为「函数的VA的值」

**全局搜索函数：**&#x5728;搜索框中输入关键字，程序会列出所有名称中包含关键字的函数块，支持模糊查询。

![搜索函数](/files/-MDYzTj7xcL2LOMS1G6F)

**性能分析：**&#x70B9;击`「性能分析」`按钮，运行需要保护的程序，执行正常的业务操作，然后关闭程序后

![性能分析](/files/-MDYzaRDLLvvb-m824wW)

程序中各个函数模块调用的次数即可显示在列表中，如果当前分析的程序位为ll程序，需要选择启动模块。

![性能分析结果](/files/-MABm2CIXNiPx1eMPc25)

**信息展示：**&#x53EF;保护函数列表信息展示，显示了函数的总个数、已添加函数个数、混淆函数个数、碎片代码函数个数

{% hint style="info" %}
​:reminder\_ribbon:**温馨提示：** **Virbox Protector Trial** 提供代码混淆、代码虚拟化、代码加密3种不同的加密方式，开发者可根据函数特性和保护级别进行灵活设定
{% endhint %}

**代码混淆：**&#x4EA6;称花指令，是将计算机程序的代码，转换成一种功能上等价，但是难于阅读和理解的形式

**代码虚拟化：**&#x5C06;原始指令转换为自定义的虚拟机指令，交由配套虚拟机系统模拟执行

**代码加密：**&#x4F7F;用 SMC技术，将原始的函数加密，在函数被执行时才将函数解密并执行

{% hint style="info" %}
:man\_scientist:**小技巧**：除对单一的函数进行加密保护外， **Virbox Protector Trial** 提供两种形式的批量操作方案
{% endhint %}

:airplane: **方案一：**&#x5BF9;于连续的函数，以某函数为起始，左键单击该函数，按住Shift健，选择结束函数，左键单击，即可批量选择，批量选择后，右键单击选择区域，即可对备选函数执行批量操作

![批量保护方案1](/files/-MABmJc-ELz-ub6Crvyy)

:airplane: 方案二：对于不连续的函数，左键单击某函数，按住Ctrl健，连续左键单击目标函数，批量选择后，右键单击选择区域，即可对备选函数执行批量操作

![批量保护方案2](/files/-MABmQOfUF5gqPZhC_wL)

### :currency\_exchange: 加密信息 <a href="#gjjd5" id="gjjd5"></a>

![加密信息](/files/-MDYzx_-nAm8p1UbrsvR)

**输出文件「夹」：**&#x88AB;保护后的文件的存储目录，可以修改为开发者的指定文件名称和存储目&#x5F55;**；**

**设置选项：**&#x5305;括导入表保护、压缩、资源保护、等功能，主要是对文件的整体保护，建议采用默认设置，不要修改

**插件**：特指反调试插件，支持Windows、Linux、Linux ARM、Android SO和Android Unity3D

**Windows**平台的反调试插件，主要防止保护后的程序被反编译工具(如gdb、IDA等)进行反调试

* **检测硬件断点：**&#x68C0;测程序中是否设置硬件断点，若检测到则程序直接终止运行
* **检测内存断点：**&#x68C0;测程序中是否设置内存断点，若检测到程序中设置内存访问断点和内存写入断点时，则程序直接终止运行
* **内存检查：**&#x68C0;测到内存是否被修改（比如被调试器附加修改），若程序内存被修改则程序将终止运行

**Linux**、**Linux ARM**、**Android平台**的反调试插件包括检测调试器功能，主要防止保护后的程序被反编译工具(如gdb、IDA等)进行调试。

![Linux平台下反调试插件](/files/-MDiJ0F_XLum4YMUKrrm)

{% hint style="danger" %}
​:reminder\_ribbon:**温馨提示：**&#x4EE3;码加密和内存检测为互斥关系，DS Protector和内存检测为互斥关系
{% endhint %}

所有配置完成后，即可执行保护，若保护过程中失败，提示「部分被保护的函数设置了不支持的保护方式，请前往函数选择界面更改保护方式」，需要调整函数的加密方式。

![由于函数保护方式问题导致的保护失败](/files/-MDnYcTCAcmkDNJblJ3i)

![进入函数选项-添加函数界面](/files/-MDnYtnPYTOXiN1sq81p)

**DS：**&#x44;S Protector 为程序提供资源加密服务，可以对程序所需要的资源进行保护，同时支持Java和一些脚本语言例如Python、Lua的保护。开发者可根据实际需求决定是否要启用DS Protector，通过Virbox Protector工具打开DS Protector，DS Protector主界面的配置文件会自动填写。

详细了解DS Protector请阅读：

{% content-ref url="/pages/-M9JNRH3EsLcj4Q0DgZH" %}
[DS Protector](/home-page/ds-protector.md)
{% endcontent-ref %}

## :statue\_of\_liberty: 状态栏 <a href="#xbrjh" id="xbrjh"></a>

状态栏从左到右分别显示了被保护程序的路径、程序的类型以及程序的硬件版本

![状态栏](/files/-MABmzF3t9ZTS2kc0m8f)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aiot.virbox.com/home-page/virbox-protector.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
