跳到主要内容

授权码-虚幻引擎加密流程

加密流程概述

本流程适用于UE4、UE5开发的exe程序加密及资源(PAK文件)加密。

  1. 将程序里的exe程序拖入加壳工具
  2. 选择开发锁及填写api密码
  3. 设置许可选项
  4. 设置加密选项
  5. 设置函数选择
  6. 设置消息选项
  7. 执行保护项目
  8. 打开DSProtector加密PAK
  9. 替换加密后文件

3.1打开加壳工具

启动 Virbox 开发者工具盒 -> 点击 "加壳工具" ->点击 "启动加壳工具".

worddava93b89c286dfea4d7a03a7abdb761586.png

先运行UE程序,在任务管理器里找到进程,打开文件所在位置,就是待加密的UE程序的exe文件。

image-20220629182440619

直接拖入文件或者选择打开文件的形式,将exe程序导入Virbox Protector中

image-20221118120925079

3.2选择开发锁及填写API密码

这里我们需要登录开发者账号(需要联网)

img

填写API密码

worddav88cd46b95cd8ffe1720ef317b6259b2b.png

从VirboxLM获取API密码

登录 Virbox LM 平台 在【概览】页面,点击【查看开发者信息】,将API密码复制到加壳工具对应位置。

image-20230403152915180

3.3许可选项配置

许可类型

勾选软锁-本地许可

许可设置

  • 许可ID:此处填写的许可ID要与发授权码时创建产品时的ID一致。
  • 锁芯片号:不设置
  • 后台检测间隔(秒):表示每隔多少秒对运行程序进行检测是否存在对应许可,如果没有那么就会提示错误,或者退出。如果后台检测时间设为0s,那么后台就不会进行检测许可的操作
  • 检测锁插拔消息:软锁不勾选此设置。表示程序运行过程中拔掉用户锁时,直接进行许可查找,若找不到对应许可,则弹框提示信息。

许可运行时库

  • 可调试:仅可在开发过程勾选,对外发布时不能勾选。如果勾选此选项,使用可调试版(开发版)许可运行时库,禁用许可反调试功能,仅可在开发过程勾选,对外发布时请勿勾选
  • 外置:默认不勾选,会将Runtime库和程序打包一起,若勾选会根据程序的系统及架构在同目录下生成Runtim库:slm_runtime.dll,运行加密后程序时,需要将slm_runtime.dll与程序放在同一个目录下。注意:勾选外置会降低安全性,请根据实际情况选择
  • 兼容Electron:若您的程序为 Electron 开发,请勾选,其他程序请勿勾选

image-20221118120859518

3.4函数选项

在函数选项,点击【添加函数】,鼠标左键选择需要保护的函数,鼠标右键设定保护方式。

  • 保护方式的安全性:代码虚拟化>代码混淆>代码加密。

image-20221118115413539

3.5加密选项

  • 输出文件:可以修改程序保护后生成文件的路径和名称。默认会生成一个protected文件夹,加密后的exe会存放里面

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

加密选项设置

  • 导入表保护:这个选项能够对 PE 文件中的导入表进行了加密处理,隐藏了 API 列表。基于安全强度的考虑,我们建议用户使用这个选项。

    【特别提醒:导入表保护目前只适用于PE文件。】

  • 内存校验:运行时对程序内存进行完整性校验,可对内存进行动态校验,防止程序被篡改。。

  • 压缩:对加壳后的后的程序进行压缩处理,减小体积,同时可以防止静态反编译。

    【特别提醒: 1 、由于压缩模块需要一个固定大小的空间,如果被加壳的程序非常小压缩的效果并不明显还有可能出现体积更大的情况,对于体积较大的程序效果明显。 2 、不支持 DotNet动态库的压缩。 3 、不支持 arx 类型程序的压缩。】

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

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

  • 反调试:勾选此选项后,程序检测到进程被调试时退出进程。

  • 虚拟机检测:加密后程序在运行时检测到VMware/Virtual Box 等虚拟时阻止程序运行

插件设置

  • ds插件:打开DS 按钮,密码可以随意设置。加密PAK资源文件时,必须设置这里。

    image-20221118120828198

3.6消息选项

当程序被加密后,程序就与我们 之前创建的许可进行关联,当用户在使用我们的加密的程序时如果触发了一些限制时,会以该界面上的消息进行显示。

img

3.7执行保护项目

按照上面步骤配置好加壳工具后,点击 "【保护选中项目】" 即可完成程序的加壳操作。

温馨提示:加壳后的程序会在同一目录下生成新文件(xxx.exe.ssp)和 protected文件夹:

xxx.exe.ssp为加壳时设置的配置选项,将此文件与待加密的程序放在一起,加壳工具会自动加载配置,可以保存到其他地方,在下次更新需要重新加密时使用。

protected:加密后的程序会自动生成,保存在此文件夹下,您可以将此文件替换到原来的程序目录里测试运行。

image-20220629183541081

3.8打开dsProtector加密pak

打开dsprotector工具,会自动加载ssp文件,设置文件输出目录,将待加密的pak文件或者目录添加进来,点击保护即可。

保护完成后,将pak替换到原程序里,测试运行。

1.设置ssp文件和输出目录

  • ssp文件选择上一步生成的xxx.exe.ssp
  • 输出目录:设置输出目录后,会将加密后的文件输出到该目录下。如果未设置输出目录,会将源文件保存成 .bak文件。

2.添加文件/目录开始保护

设置完输出目录,可点击【添加文件】或者【添加目录】,将py或者pyc文件添加进来,点击【开始保护】提示成功即可打开输出目录查看加密后的pak文件。

image-20220629184029175

至此,软件加密已完成,可进行下一步操作:使用加密后程序