函数选项和加密选项的功能介绍
#
函数选项#
功能介绍1.代码虚拟化
将原始指令转换为⾃定义的虚拟机指令,交由配套虚拟机系统模拟执⾏。此方式实现的安全度目前最高,同样性能损耗最大,故建议核心函数保护即可,避免过多函数虚拟化导致软件运行速度变慢。
2.代码混淆
代码混淆亦称花指令,是将计算机程序的代码,转换成⼀种功能上等价,但是难于阅读和理解的形式,扰乱原始指令,防止被反编译静态分析。有一定的性能损耗。
3.代码加密
代码加密是使⽤SMC(Self-Modifying Code)技术,将原始的函数加密,在函数被执⾏时才将函数解密并执⾏的保护⽅式。可以防止脱壳被直接dump,性能损耗最小。
#
保护建议故从安全强度衡量,代码虚拟化>代码混淆>代码加密,而性能损耗影响也是代码虚拟化最大,代码混淆次之,代码加密最小。
建议可以利用加密工具中的性能分析来确认(点击“添加函数”,弹出的页面里会看到性能分析的选择项)。
#
加密选项#
输出文件可以修改程序保护后生成文件的路径和名称。
特别提醒
如果只有文件名称,那么路径为源程序的路径;如果输出文件名和源文件同名,则生成的程序会将源文件覆盖。
#
导入表保护这个选项能够对PE文件中的导入表进行了加密处理,隐藏了API列表。
#
内存校验运行时对程序内存进行完整性校验,并提供SDK标签的方式,可对内存进行动态校验,防止程序被篡改。
#
压缩对加壳后的后的程序进行压缩处理,减小体积,同时可以防止静态反编译,如果您的安全诉求只需要防止反编译,可以只做压缩的加密选项即可。
特别提醒
压缩模块本身有一定的固定大小,如果被保护的程序很小,则保护后感觉上会变大很多,此部分对于体积较大程序效果明显。另不支持 arx类型程序的压缩。
#
资源加密针对PE格式程序的资源进行保护,防止程序中的资源信息被提取和篡改。目前支持保护一些外部需要的资源,例如图标和版本信息等。
#
调试器检测勾选此选项后,程序检测到进程被调试时退出进程。
#
虚拟机检测加密后程序在运行时检测到VMware/Virtual Box等虚拟时阻止程序运行。
#
ds插件DS Protector是数据保护工具,可以对程序的数据资源文件进行加密保护,此工具在脚本语言的保护操作中需要使用,详见脚本语言的操作步骤。