Skip to main content

函数选项和加密选项的功能介绍

函数选项#

功能介绍#

1.代码虚拟化

将原始指令转换为⾃定义的虚拟机指令,交由配套虚拟机系统模拟执⾏。此方式实现的安全度目前最高,同样性能损耗最大,故建议核心函数保护即可,避免过多函数虚拟化导致软件运行速度变慢。

2.代码混淆

代码混淆亦称花指令,是将计算机程序的代码,转换成⼀种功能上等价,但是难于阅读和理解的形式,扰乱原始指令,防止被反编译静态分析。有一定的性能损耗。

3.代码加密

代码加密是使⽤SMC(Self-Modifying Code)技术,将原始的函数加密,在函数被执⾏时才将函数解密并执⾏的保护⽅式。可以防止脱壳被直接dump,性能损耗最小。

保护建议#

故从安全强度衡量,代码虚拟化>代码混淆>代码加密,而性能损耗影响也是代码虚拟化最大,代码混淆次之,代码加密最小。

建议可以利用加密工具中的性能分析来确认(点击“添加函数”,弹出的页面里会看到性能分析的选择项)。

加密选项#

输出文件#

可以修改程序保护后生成文件的路径和名称。

特别提醒

如果只有文件名称,那么路径为源程序的路径;如果输出文件名和源文件同名,则生成的程序会将源文件覆盖。

导入表保护#

这个选项能够对PE文件中的导入表进行了加密处理,隐藏了API列表。

内存校验#

运行时对程序内存进行完整性校验,并提供SDK标签的方式,可对内存进行动态校验,防止程序被篡改。

压缩#

对加壳后的后的程序进行压缩处理,减小体积,同时可以防止静态反编译,如果您的安全诉求只需要防止反编译,可以只做压缩的加密选项即可。

特别提醒

压缩模块本身有一定的固定大小,如果被保护的程序很小,则保护后感觉上会变大很多,此部分对于体积较大程序效果明显。另不支持 arx类型程序的压缩。

资源加密#

针对PE格式程序的资源进行保护,防止程序中的资源信息被提取和篡改。目前支持保护一些外部需要的资源,例如图标和版本信息等。

调试器检测#

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

虚拟机检测#

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

ds插件#

DS Protector是数据保护工具,可以对程序的数据资源文件进行加密保护,此工具在脚本语言的保护操作中需要使用,详见脚本语言的操作步骤。