使用 Virbox Protector 加壳工具

从 Virbox 开发者工具盒打开加壳工具,将待加密软件拖入到加壳工具中

注:使用加壳工具的前提是点击“下载” SDK,并安装

本示例主要以 C 语言开发的俄罗斯方块为例:

配置加壳工具

插上白色的控制锁,执行下面的操作。

  • [ ] 执行PIN验证:将修改后的PIN码在这里进行验证,再执行加密的操作。
  • [ ] 许可形式:勾选相应的许可形式,硬件锁区分本地许可和网络许可,此处勾选的许可形式需要与发布给用户的许可类型一致。
  • [ ] 许可ID:许可 ID 需要自定义,是 1-42 亿数字范围。许可 ID 是加密过程中需要使用的一个重要概念,是加密后软件和授权唯一的标识,也可以代表软件开发商的一个产品或者一个模块,许可 ID 在下一步的发布许可中会直接用到。
  • [ ] API 密码:进入 Virbox LM 开发者平台,页面顶部点击“查看”,将 API 密码输入至此。

  • [ ] 锁芯片号: 如果输入锁序列号,则加壳后的程序只有此锁可用。(选填)

被保护函数列表:

点击 “+” 按钮:对加壳前的软件进行预分析,建议对比较重要的函数选择碎片代码的保护方式,开发者需要在软件性能与安全之间平衡,如果对调用次数过多的函数选择碎片化保护,可能会影响软件的运行速率,调用次数过多的函数建议使用不保护的方式(仅支持 exe 文件)。

由于 PE 程序在行数列表中不会生成函数名称,只显示函数地址,建议测试者可以上网搜索相关语言生成 map 文件方法,将生成的map 文件放到待加密文件的同一文件夹中,然后再将待加密的程序拖入到加壳工具中,即可在函数列表看见函数名称。

加密选项:

  • [ ] 输出文件:可以修改程序保护后生成文件的路径和名称。【特别提醒: 1 、如果只有文件名称,那么路径为源程序的路径; 2 、如果输出文件名和源文件同名,生成的程序会将源程序覆盖,非常不建议。】

  • [ ] 名称混淆:名称混淆,对源程序中的函数名称进行混淆,静态反编译工具显示的函数名为乱码。【特别提醒:名称混淆目前只能支持 DotNet 程序,并且不支持 IIS 类型程序的混淆。】

  • [ ] 导入表保护:这个选项能够对 PE 文件中的导入表进行了加密处理,隐藏了 API 列表。基于安全强度的考虑,我们建议用户使用这个选项。【特别提醒:导入表保护目前只适用于PE文件。】

  • [ ] 压缩:对加壳后的后的程序进行压缩处理,减小体积,同时可以防止静态反编译。【特别提醒: 1 、由于压缩模块需要一个固定大小的空间,如果被加壳的程序非常小压缩的效果并不明显还有可能出现体积更大的情况,对于体积较大的程序效果明显。 2 、不支持 DotNet动态库的压缩。 3 、不支持 arx 类型程序的压缩。】

  • [ ] 资源保护:加密资源段,对被保护程序的资源区段进行加密,运行的时候需要用户使用相应许可进行解密方可使用程序。

    【特别说明:资源保护目前只能支持本地程序。】

  • [ ] 后台检测时间间隔(秒):设置心跳时间,检测当前session是否可用。

  • [ ] ds插件:DS Protector是数据保护工具,可以对程序的数据资源文件进行加密保护。

消息选项:

设置许可失效时提示的形式、设置提示标题、软件剩余时间、剩余次数以及其他提示消息

立即加壳

设置好相应的选项后,点击加壳按钮,对软件进行加壳保护

加密后的文件

加密前的软件(以一个 C 开发的俄罗斯方块 PE_Tetris.exe 为例)

加密后的软件

  1. 加壳前的软件原文件 xxx.exe,将此文件剪切备份至其他文件夹。
  2. 加壳后的配置文件 xxx.exe.ssp,此配置文件主要记录 API 密码和一些配置信息,可删除。
  3. 加壳后的软件 xxx.ssp.exe,建议将加壳后的软件名称修改为原文件名称。

至此使用加壳工具加密的过程已经完成,下一步根据不同用户的不同需求,发布不同的许可内容到用户锁中,详见精锐5写锁流程

results matching ""

    No results matching ""