应用文档
圣天诺加密狗Sentinel LDK外壳加密流程
更新时间:2023-06-06 16:36:00 点击量:
外壳加密支持exe/dll/jar/war/apk/so格式,可支持Windows、Linux、Mac和Android等操作系统 (linux和mac应用程序保护需要在相应环境中加密)
2、将被加密文件拖到加密框中 如果在添加过程中出现“未找到程序集”这种错误,请在外壳加密工具菜单的“文件-设置-.net目录”中设置被加密程序所需要调用的DLL目录,并保证被加密文件的路径和名字为英文。
3、选择与主锁对应的开发商代码文件,插上主锁。(DEMOMA.hvc对应为demo锁,不需要插主锁)
4、点击被加密程序,可看到加密详细设置页。不同开发语言生成的程序,详细信息略有不同。
对于.net程序,手动勾选上需要保护的方法,也可以拖动“自动方法选择”进度条。
勾选较多的方法保护可能会影响程序运行速度,在充分测试运行速度和稳定性的前题下,尽可能多地设置选择保护方法。.net的程序,只有勾选了代码混淆或代码加密的方法,才不会被反编译工具反编译出来,使用时特别注意。关于对抗反编译工具的测试,请查下以下文档 。
实测超级狗外壳加密.Net程序后对抗反编译工具的效果
5、可以通过保护设置中的参数来定义加密性能。
6、自定义弹窗消息
程序加密后运行时,会根据加密锁的状态出现弹窗(如没有插加密锁等),如果希望修改显示的弹窗内容,可根据显示的消息ID数值,找到对应的消息文件,修改后重新加密。
8、保护成功后,会在加密输出路径下生成一个加密后的程序,以及所需要支持的库文件,把生成的所有文件一起复制到被保护程序原始目录即可运行。
功能ID可以理解为加密锁中的许可证,许可证中定义了软件运行的到期时间、次数等特性,如果你加密时选择缺省0以外的功能ID,那在使用加密锁子锁前,要先定义和激活对应的功能ID(如何定义功能ID,请参考子锁授权的介绍)。功能ID的设置范围是0-65471,任何一把加密锁默认的功能ID=0都是开放的,如果你加密时选择功能ID为0,那么加密后的软件插上对应序列号的加密锁直接就能打开。basic型加密锁因为不带存储功能,所以功能ID只能选0。
备选功能一:数据加密
数据加密的作用,是将被加密程序所调用的数据文件进行加密,加密后的数据文件只能被该程序打开,其它程序来查看这个加密的文件都会显示为乱码。理论上可加密的数据文件不受格式限制。
要使用此功能,请将Sentinel LDK版本升级到8.5或更高版本,低于8.5版本使用此功能需要额外付费。
1、进入Envelope
2、将被加密文件拖到加密框中 如果在添加过程中出现“未找到程序集”这种错误,请在外壳加密工具菜单的“文件-设置-.net目录”中设置被加密程序所需要调用的DLL目录,并保证被加密文件的路径和名字为英文。
3、选择与主锁对应的开发商代码文件,插上主锁。(DEMOMA.hvc对应为demo锁,不需要插主锁)
4、点击被加密程序,可看到加密详细设置页。不同开发语言生成的程序,详细信息略有不同。
对于.net程序,手动勾选上需要保护的方法,也可以拖动“自动方法选择”进度条。
勾选较多的方法保护可能会影响程序运行速度,在充分测试运行速度和稳定性的前题下,尽可能多地设置选择保护方法。.net的程序,只有勾选了代码混淆或代码加密的方法,才不会被反编译工具反编译出来,使用时特别注意。关于对抗反编译工具的测试,请查下以下文档 。
实测超级狗外壳加密.Net程序后对抗反编译工具的效果
5、可以通过保护设置中的参数来定义加密性能。
◎用户调试器检测:当此设置启用时,如果有特定的应用程序在运行(通常是开发人员工具),则它们将被检测为调试器,这意味着被保护程序将不会启动。
◎后台周期性检查:保护程序启动以后,并不会中断与加密锁的通讯,它将以指定时间间隔不断校验加密锁。如果禁用此选项,保护程序启动后将不再校验加密锁。
◎运行等待:启用时,保护程序启动时如果未检测到加密锁,它不会立即中止运行,而是会在设置的等待时间内不停搜索加密锁,直到检测到加密锁继续运行或者等待时间到期后退出程序。
◎因尝试篡改而禁用锁:选择后,应用程序中的 Envelope 运行时模块检测到用户尝试篡改锁或受保护的应用程序时,就会禁用锁。锁被禁用后,受保护的应用程序将失败或显示错误消息并停止执行,具体取决于检测到的篡改类型。注:只有固件版本为4.54及以后的无驱型加密锁才支持此功能
◎程序完整性保护:如选用,此受保护的应用程序会使用数字签名进行签名,程序运行时会检查签名以确保代码未被修改。(很多工控机上运行软件有一些限制,如果软件运行于设备制造的工控机上,此选项不建议勾选)
◎更多参数说明,请查看外壳加密工具菜单里面的帮助。
◎更多参数说明,请查看外壳加密工具菜单里面的帮助。
6、自定义弹窗消息
程序加密后运行时,会根据加密锁的状态出现弹窗(如没有插加密锁等),如果希望修改显示的弹窗内容,可根据显示的消息ID数值,找到对应的消息文件,修改后重新加密。
7、全部设置完成以后,点右下角保护按钮,完成保护
8、保护成功后,会在加密输出路径下生成一个加密后的程序,以及所需要支持的库文件,把生成的所有文件一起复制到被保护程序原始目录即可运行。
关于功能ID(Feature ID)
功能ID可以理解为加密锁中的许可证,许可证中定义了软件运行的到期时间、次数等特性,如果你加密时选择缺省0以外的功能ID,那在使用加密锁子锁前,要先定义和激活对应的功能ID(如何定义功能ID,请参考子锁授权的介绍)。功能ID的设置范围是0-65471,任何一把加密锁默认的功能ID=0都是开放的,如果你加密时选择功能ID为0,那么加密后的软件插上对应序列号的加密锁直接就能打开。basic型加密锁因为不带存储功能,所以功能ID只能选0。
备选功能一:数据加密
数据加密的作用,是将被加密程序所调用的数据文件进行加密,加密后的数据文件只能被该程序打开,其它程序来查看这个加密的文件都会显示为乱码。理论上可加密的数据文件不受格式限制。
要使用此功能,请将Sentinel LDK版本升级到8.5或更高版本,低于8.5版本使用此功能需要额外付费。
备选功能二:AppOnChip(加密狗中执行程序代码)
AppOnChip的功能是将部分程序代码放在加密狗中运行,能极大提高被加密程序的抗破解性。此功能由外壳自动完成代码植入工作,无需开发商再做任何代码编制、转换; 对于升级的应用程序,开发商只需重新加壳,无需对已经发行的狗硬件进行更新; 代码植入基于白盒保护技术,代码的传输与执行的过程更为安全; 加密后的算法会在程序运行时自动地调入狗硬件里执行,这种方式不会占用狗的存储空间,可以运行更多、更复杂的加密算法,让安全强度更有保障。
AppOnChip的功能是将部分程序代码放在加密狗中运行,能极大提高被加密程序的抗破解性。此功能由外壳自动完成代码植入工作,无需开发商再做任何代码编制、转换; 对于升级的应用程序,开发商只需重新加壳,无需对已经发行的狗硬件进行更新; 代码植入基于白盒保护技术,代码的传输与执行的过程更为安全; 加密后的算法会在程序运行时自动地调入狗硬件里执行,这种方式不会占用狗的存储空间,可以运行更多、更复杂的加密算法,让安全强度更有保障。
注:使用代码植入功能需要包含map文件,点击此处查看如何生成map文件->>>>>>>