外壳加密狗
⑴ 加密狗怎么用
加密狗是用于防止软件盗版的,对于软件开发商来说,可以有外壳和API两种加密方式,对于最终用户来说只需要安装驱动,也有无驱的,插上加密狗,软件便可以使用了
对于最终用户不明白加密狗的用途,以为所有加密狗是通用的,这是错误的,软件与加密狗是一一对应,这个软件只认这个加密狗,因为加密狗中包涵了唯一的狗文件信息,且不可能复制的
⑵ 有谁用过CodeMeter加密狗
CodeMeter这个加密狗我们现在正在用,过去我们用深思的狗,花了大量的精力来做加密方案,却一直被版得比较厉害,就想换进口的狗试试看,我在Google搜了一下,找到了CodeMeter的资料,从网上调查的情况来看,还是比较专业的,并且感觉他们的产品是以安全为特点的,正好符合我们的需求。就申请了试用,了解了下他们的技术,一个是外壳技术,说与其他加密的外壳不同,是按需加解密技术,就是在内存中只有运行到某段的函数的时候才会被解密运行,运行完后又马上进行加密,可以防内存DUMP,这个概念还算不错,和深思的代码移植的概念有些类似,但由于是用PC机的CPU加密解密,所以运算效率更高,加密代码更多,更安全,一般的脱壳破解还真没办法。但也问过“庖丁解狗”的人有关它的破解,他们说从理论上来讲要破的话还是可以破的。但是由于他们没怎么接触过,不清楚,得去破了才知道到底厉害不厉害。
⑶ 如何使用外壳工具完成加密
如何使用外 具完成加密 使用外 密工具,开发商可以在没有程序源 或不对程序源 做任何改动的情况下快捷地完成 加密工作,并保证有着较高的加密强度。若没有相应的硬件狗存在,加密后的程序将无法启动。 外 密工具的特点 1、 使用三种方式加密:外壳、嵌入、内外结合。 外 所谓外壳,是加密工具加到被加密程序的一部分程序。加密程序启动时外 先被执行。外壳 要检查硬件狗的存在性和一致性。如果对应的硬件狗存在,则进入原程序的入 否则终止程序。外壳只 在加密程序启动时执行一次。 嵌入 所谓嵌入,是加密工具在被加密程序中嵌入一个公共程序,加密程序在整个运行期内以一定的 频率执行这个公共程序,该程序检查硬件狗的存在性和一致性。如果对应的硬件狗存在,则继续执行原程 序,否则终止程序。本加密方式可选。 内外结合 如果被加密的程序已经调用了赛孚耐公司提供的接口函数,那么外壳程序会通知接口函数, 外 序是否已经被执行,以防止外壳程序被跳过。如果发现外壳程序没有被执行,会终止程序。 这些数据文件由您的应用程序使用, 或者由受保护的应用程序产生 (输 2、 可以对数据文件进行加密, 出文件) 。这些文件只能由受保护的应用程序读取。 3、 可以通过关联许可证文件灵活地限制使用时间。 4、 可以自定义查硬件狗错误时显示给用户的提示信息,也可以选择不显示提示信息。 5、 外 护是一个多层的体系结构。只有前一层执行成功,才会 紧相连的一层。这种多层体系 结构可为您的应用程序提供额外的保护--这与用多道锁为您的门提供保护的功能相似。突破这 些保护层需要更多资源、时间和技巧,可以有效的阻止黑客攻击。此外,由于采用了多层随机模 式,所以任何两次被外 密的应用程序均不相同。 外 密工具可以加密 32/64 位 Windows 程序,在宏狗安装目录下\10003(您的软件系列号) \Shell\Win32shl.exe。 应用示例 下面以使用一个硬件狗保护 Notepad.exe 和 Calc.exe 为例说明外 密工具的使用。 在使用之前假设已 经使用开发商工具在文件系统中创建了两个许可证文件(许可证文件的文件夹 ID 为 16128 ,文件 ID 分 别为 10 和 20) 。关于如何创建许可证文件请查阅开发商手册开发商工具的使用一章。 1.请先插入硬件狗,执行步骤 1,如图 1 所示,指定要加密的 EXE 文件。 第 1 页 步骤 1: 单击浏览按钮, 指定要加密的 EXE 文 件;或在“源文件”文 本框中输入 要加密的 EXE 文件的路径和文 件名。 图 1 指定源文件后,系统会在“目标路径”文本框中自动添加加密后的 EXE 文件(即目标文件)存放的路 径。系统默认将目标文件存放到 OUTPUT 路径下,我们建议用户采用这种默认方式。 如果目标文件存在,覆盖它 如果选中“如果目标文件已存在,覆盖它”复选框,当目标文件所在路径下有同名文件存在,加密过 程不再出现是否覆盖文件的提示信息。 2.对加密狗的硬件参数进行设置。 产品名称 加密后的应用程序在运行时会查找与系列号和产品名称相一致的硬件狗。可以此处指定产品名称。 查找方式 通过选择查找方式,能够更快地、更准 找到硬件狗。请选择适合您的应用程序的查找方式。 用户 加密后的应用程序在运行时会访问硬件狗,请指定硬件狗的用户 。 嵌入 第 2 页 加密软件运行期间,可以不断地检查对应的硬件狗是否存在。如果清空“嵌入”复选框,则在程序运 行期间不检查硬件狗。如果选中“嵌入”复选框,当程序运行期间检查不到对应的硬件狗时,程序会停止 运行。您可以指定检查间隔,间隔以秒为单位。缺省值为 120 秒,即 2 分钟。 .NET 增强 .NET 增强功能为纯.NET 应用程序(EXE 和 DLL)提供了增强的安全性。此功能可执行以下操作: 隐藏原始入口点方法(仅用于.NET 可执行文件) 加密原始应用程序的字符串 加密原始应用程序的常量 (用于 32 位.NET 应用程序) SDNPro64.dll 和 (用于 64 位.NET 如果选择了此功能, 则需要将 SDNPro.dll 应用程序)与受保护应用程序一起提供给最终用户。 注意 使用.NET 增强特征项(使用.Net 增强保护外 NET 应用程序)的前提条件是机器中应安装了同 一版本的.NETFramework 和.NET SDK。.NET 增强选项不支持混合代码应用程序。 多层保护级别 外 提供多层保护。因为应用程序和外 之间的连接处非常容易受到攻击,所以您可以选择使用 多层外 从第 1 级到第 5 级)来保护您的应用程序。第 1 级可提供合理的保护,而第 5 级可提供最强保 护。但是,随着每一保护级别的增加,应用程序的大小和用于启动的时间也会相应增加。在缺省情况下, 使用第 3 级保护方式。 隐藏导入符号 选定此复选框隐藏您的程序中的导入符号。但是,请注意该选项不适用于此处所列出的文件类型使SmartHeap DLLs 的应用程序 当您同时加密数据文件或者使用数据文件加密选项时 如果存在要实施保护的任意数据文件或已指定了文件加密设置,则将忽略隐藏导入符号选项。 我使用了外 SDK 如果您已经使用外壳软件开发工具包(位于\Shell SDK 文件夹下)来保护您的重要 段、常量和字 符串数据,则选中此复选框。参阅该文件夹中的自述文件获得详细信息。 存在调试器时允许我的应用程序运行 您可以不选择该复选框,禁止在出现调试器时执行应用程序。如果在系统中探测到调试器,被保护的 应用程序将退出。非恶意用户可以关闭调试器,重新启动应用程序。但是,如果出于某种原因,您需要在 存在调试器的情况下允许您的应用程序运行,则选择该复选框。 3.执行步骤 2、3、4、5、6,如图 2、3 所示,关联许可证文件。 步骤 2: 单 击“关联 许可证文 件”按钮。 图 2 第 4 页 步骤 3:选择 “关联许可 证文件” 。 步骤 4: 指定文件 夹 ID。 步骤 5: 指定文件 ID。 步骤 6:单击 “ ”按钮。 图 3 注意 许可证文件将被关联到主界面上的源文件。如果主界面上的源文件是一个动态连接库文件,在 此动态连接库被加载到内存中时,会调用 RC_VisitLicenseFile 函数检查许可证文件。关于 RC_VisitLicenseFile 函数的说明,请查阅开发商手册 API 接口函数说明部分。 4.我们提供了 19 种不同错误类型的错误信息,请根据具体情况分别指定其内容。标题限制在 60 字节 内,每条消息限制在 100 字节内。执行步骤 7、8、9、10、11、12,如图 4、5 所示,设置提示消息。 第 5 页 步骤 7:单 击“设置提 示消息”出 , 现如下图的 界面。 图 4 第 6 页 步骤 8: 在查硬件 狗出现错误时, 如需要显示提示 信息,则选中此 复选框;否则清 空此复选框。 步骤 10: 根据 需要, 修改提 示信息对话 框的内容。 步骤 9:根 据需要,修 改提示信息 对话框的标 题。 步骤 12:单击 “ ”按钮。 图 5 步骤 11:根据需 要,选择错误消 息的类型:窗口 消息或者控制台 消息。 5.如果在加密 EXE 文件的同时需要加密数据文件,执行步骤 13,如图 6 所示: 第 7 页 步骤 13: 单击 “设置要加 密的数据文 件”按钮。 图 6 6.指定要加密的数据文件(实际上 Notepad.exe 执行时不需要数据库文件,这里只是一个加密演示) , 执行步骤 14,如图 7 所示: 步骤 14:单 击 浏 览 按 钮,指定要 加密的数据 文件。 图 7 7.执行步骤 15,如图 8 所示,将数据文件加入文件列表。如需加入多个数据文件,请重复步骤 14 和 15。此时文件加密选项会根据文件列表进行自动设置,如果您要进一步对其进行设置,例如,当您要加 第 8 页 密新生成的数据文件(输出文件)时,执行步骤 16 更改文件加密选项。注意:在执行步骤 16 前,请插上 狗。外壳工具会从狗里获得狗的 ID 作为默认的加密种子。 步骤 15: “增 单击 加到文件列表” 按 钮, 将要加密的数 据文件加入文件 列表。 步骤 16: 单击 此处文本。 图 8 8.在文本编辑框中已经包含“*.DBF;” ,例如,为了加密受保护的程序在运行过程中生成的文本文件, 执行步骤 17,在文本编辑框中添加“*.TXT;” 。如果想要指定自己的加密种子,执行步骤 18,选中“指定 我自己的加密种子”复选框,并在文本编辑框中输入自定义的加密种子。另外,为了提高安全性,2.0 版本 的外壳工具默认会使用 AES 算法对数据文件进行加密,而以前的版本用的是私有算法。如果要保持跟以前 版本的兼容性而使用私有算法,可以不选中“使用 AES 算法加密”复选框。执行步骤 20,返回“设置要 加密的数据文件”对话框,单击 按钮完成数据文件加密设置。 步骤 18:指定自己 的加密种子。 步骤 17:修改或添 加文件过滤器。 步骤 19:指定是否 使用 AES 算法加密 步骤 20:点击 定按钮。 图 9 9.完成有关 Notepad.exe 的所有设置后执行步骤 21,如图 10 所示,将其加入加密中心,成为加密队 列中的一个加密项。然后对 Calc.exe 重复步骤 1-21,如果需要关联许可证文件,请修改“文件 ID” 的值,如图 11 所示。使 Calc.exe 和 Notepad.exe 运行时访问不同的许可证文件。 第 9 页 步骤 21: 单击 “加入加密 队列” 单击此按钮,可 将选中的加密项 清除。 单击此按钮可 查看某个加密 项的所有设置 信息。 单击此按 钮,可清 除所有加 密项。 图 10 将文件 ID 设 置为:20。 图 11 9.可以将加密中心所有加密项的设置存成一个配置文件,以供下一次使用。执行步骤 22-24,如图 12 所示。 第 10 页 步骤 22: 单 击此按钮。 步骤 23: 单击“存 储配置文 件” 命令。 步骤 24:键入 配置文件名后, 单击 “保存”按 钮。 图 12 10.执行步骤 25,如图 13 所示,执行加密操作。 步骤 25: 单击“加 密” 按钮。 图 13 11.加密过程中会出现如下图所示的对话框。 第 11 页 在加密过程中,单 击“中止”按钮可 中止加密操作。 图 14 进程条指示加密正在进行。加密结束后会提示结果。如果加密成功,过 2 秒后,程序自动加密下 一个文件。如果加密失败,会提示失败原因,并给出解决措施或错误码,关于错误码的定义请下面的 保护时的错误 。错误信息会左右移动,以引起您的注意。至此,完成了对 Notepad.exe 和 Calc.exe 的保护。 保护时的错误 下表列出了保护应用程序和数据文件时可能产生的错误,对不不在下表中的错误代码,请参见安 装目录下的 errcode-chn.txt。 错误码 (十六进制) 194 SP_ERR_NOT_ENOUGH_MEMORY 没有足够的资源来保护应用程序。
⑷ 加密狗塑料外壳能拆开吗
可以,加壳就是压缩加密,解壳就是解压,但是加壳解壳的不是一个文件,解壳的文件会单独存储,我倒是有一个加密压缩文件和解密解压文件的类。估计不如你所愿,但能伪装,先解压到路径,自动删除压缩包,打开程序,打开路径一看,让人误认为是直接转换成解压的形式,关闭程序时自动压缩成加密形式,做个后台程序自动删除本程序,自身肯定不能对自身删除。有种塑料外壳拼合起来不用螺丝该怎么打开,解决办法: 可以五金店里去买一副塑料拆卸钳。 1.一般的里面有三把可以拆卸各种外壳拼合塑料产品的工具,很好用的。 2.也可以用扁口的螺丝刀撬开卡扣的地方,再打开。 3.一般这种的外面都会有可以按的地方,试着找到然后按按看。 如果以上方法未解决问题,请尝试: 用外力打开,用砖头砸等等,还不行的话就只能去买这个的地方看看了。 或者找到厂家,询问如何打开。就薄片探测,用钳子夹变形打开。
卡扣有插口,凸凹,挂勾、挂套方形,圆形等,可以先用一个诸如卷尺的有一定韧性的薄片东西顺缝先探一下,试试吃力的地方在哪里,哪里就一定有卡扣,一般也是对称的,对侧还有一个扣。
总之这些种类的扣都是要有一定的变形才能打开,要用好巧劲,即变了形还不至于断掉才好
开它并不用工具撬,先把中心的一只固定螺钉拿下来后,把它圆背向上放在桌子上,再用手掌压下去,压变形后,挂扣就开了。
⑸ 外壳加密程序安装后不用加密狗也可以运行
这个就说明你使用的加密狗和配套的外壳加密软件有裂桥问题,正常的外壳粗羡加密工具是在没有狗的时候无法使用加密后的软件的。推荐你一个品牌的岩源拍加密狗,codisk加密狗。
⑹ 什么是加密狗呢怎么使用呢
加密狗 加密狗是由彩虹天地公司首创,后来发展成如今的一个软件保护的通俗行业名词,"加密狗"是一种插在计算机并行口上的软硬件结合的加密产品(新型加密狗也有usb口的)。一般都有几十或几百字节的非易失性存储空间可供读写,现在较新的狗内部还包含了单片机。软件开发者可以通过接口函数和软件狗进行数据交换(即对软件狗进行读写),来检查软件狗是否插在接口上;或者直接用软件狗附带的工具加密自己EXE文件(俗称"包壳")。这样,软件开发者可以在软件中设置多处软件锁,利用软件狗做为钥匙来打开这些锁;如果没插软件狗或软件狗不对应,软件将不能正常执行。
加密狗通过在软件执行过程中和加密狗交换数据来实现加密的.加密狗内置单片机电路(也称CPU),使得加密狗具有判断、分析的处理能力,增强了主动的反解密能力。这种加密产品称它为"智能型"加密狗.加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写入单片机后,就不能再被读出。这样,就保证了加密狗硬件不能被复制。同时,加密算法是不可预知、不可逆的。加密算法可以把一个数字或字符变换成一个整数,如DogConvert(1)=17345、DogConvert(A)=43565。
加密狗是为软件开发商提供的一种智能型的软件保护工具,它包含一个安装在计算机并行口或 USB 口上的硬件,及一套适用于各种语言的接口软件和工具软件。加密狗基于硬件保护技术,其目的是通过对软件与数据的保护防止知识产权被非法使用。
加密狗的工作原理:
加密狗通过在软件执行过程中和加密狗交换数据来实现加密的.加密狗内置单片机电路(也称CPU),使得加密狗具有判断、分析的处理能力,增强了主动的反解密能力。这种加密产品称它为"智能型"加密狗.加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写入单片机后,就不能再被读出。这样,就保证了加密狗硬件不能被复制。同时,加密算法是不可预知、不可逆的。加密算法可以把一个数字或字符变换成一个整数,如DogConvert(1)=17345、DogConvert(A)=43565。下面,我们举个例子说明单片机算法的使用。 比如一段程序中有这样一句:A=Fx(3)。程序要根据常量3来得到变量A的值。于是,我们就可以把原程序这样改写:A=Fx(DogConvert(1)-12342)。那么原程序中就不会出现常量3,而取之以DogConvert(1)-12342。这样,只有软件编写者才知道实际调用的常量是3。而如果没有加密狗,DogConvert函数就不能返回正确结果,结果算式A=Fx(DogConvert(1)-12342)结果也肯定不会正确。这种使盗版用户得不到软件使用价值的加密方式,要比一发现非法使用就警告、中止的加密方式更温和、更隐蔽、更令解密者难以琢磨。此外,加密狗还有读写函数可以用作对加密狗内部的存储器的读写。于是我们可以把上算式中的12342也写到狗的存储器中去,令A的值完全取决于DogConvert()和DogRead()函数的结果,令解密难上加难。不过,一般说来,加密狗单片机的算法难度要低于一些公开的加密算法,如DES等,因为解密者在触及加密狗的算法之前要面对许多难关
[编辑本段]目前最新的硬件加密原理
随着解密技术的发展,单片机加密狗由于其算法简单,存储空间小,容易被硬复制等原因,正逐渐被市场所淘汰。以北京彩虹天地信息技术股份有限公司为首的国内加密狗厂商研发出稳定性更好、存储空间更大(最大为64K)、有效防止硬克隆的第四代加密狗——“智能卡”加密狗以其独创的“代码移植”原理,已经被国内大型商业软件开发商如金蝶、用友、CAXA、广联达、神机妙算、鲁班……所采用。
以世界上第一款智能卡加密锁——宏狗为例,简单介绍一下“代码移植”原理。
“代码移植”加密原理为一种全新的、可信的软件保护模型,工作原理为:软件中部分代码经过编译,“移植”到加密锁硬件内部,软件中没有该段代码的副本。
在这套软件保护方案中,PC端应用软件的关键的代码和数据“消失”了,被安全地移植到精锐IV型加密锁的硬件中保护起来。在需要使用时,应用软件可以通过功能调用引擎来指令精锐IV运行硬件中的关键代码和数据并返回结果,从而依然可以完成整个软件全部的功能。由于这些代码和数据在PC端没有副本存在,因此解密者无从猜测算法或窃取数据,从而极大程度上保证了整个软件系统的安全性。简言之,精锐IV提供了一套可信的解决方案,从理论上保证软件加密的安全。
加密狗技术的运用案例
1、广联达造价软件
2、清华斯维尔造价软件
3、神机妙算造价软件
4、鲁班造价软件
使用加密狗进行加密的一些策略
现在的解密技术排除法律和道德因素,就从学术角度来说是门科学。它与加密技术一样是相辅相成不断提高。
以下就针对使用加密狗(加密锁)进行硬件保护谈谈几点心得:
针对于使用加密狗的解密有什么方法?
1、硬件复制
复制硬件,即解密者复制Sentinel Superpro相同的加密锁。由于加密锁采用了彩虹公司专用的ASIC芯片技术,因此复制该加密锁非常困难,且代价太大。
2、监听
解密者利用并口监听程序,进行解密,其工作机制是:
监听程序,记录应用程序对并口发的查询串和加密锁发回的响应串。当移去加密锁时,如果程序再对并口发查询串确认身份时,监听程序返回所记录的响应串。程序认为加密锁仍然在并口上,是合法用户继续运行,应用程序也就被解密了。
3、 打印机共享器
将加密锁插在打印机共享器上,多台计算机共同使用打印机共享器上的一把加密锁。(后面简述对抗策略)
4、 DEBUG
解密者DEBUG等反编译程序,修改程序源代码或跳过查询比较。应用程序也就被解密了。
对于以上的几种解密方法加密者可以考虑使用以下几种加密策略:
1、针对上述监听和DEBUG问题解密方法,本人推荐充分利用加密狗开发商的API函数调用的加密策略:
a、 针对并口监听程序
1)对加密锁进行算法查询
Ø 正确的查询响应验证
用户生成大量查询响应对,如200对。在程序运行过程中对激活的加密算法单元随机的发送在200对之中的一对“345AB56E”―――“63749128”。查询串“345AB56E”,哪么算法单元返回的下确的响应串应该是“63749128”,若是,则程序认为加密锁在并口上,是合法用户,继续运行,反之终止程序。
Ø 随机非激活算法验证
我们对非激活的加密锁算法单元发随机生成的查询串,如:“7AB2341”,非激活算法单元只要是有查询就会有响应串。因此返回响应串“7AB2341”,在程序中判断响应串与查询串是否相同,如果相同,则证明我们的加密锁仍然在口上。继续运行程序。
Ø 随机激活算法验证
假设监听程序了解了上面的机制。即对非激活的加密算法我们发什么查询串则返回相同的响应串。哪么我也有对策。对激活的加密算法单元发随机生成的查询串,如:“345AB56E”由于是激活算法响应串肯定与查询串肯定不等。所以假如返回响应串“7253ABCD”,在程序中判断响应串与查询串是否不同,如果不同,则证明我们的加密锁仍然在并口上,继续运行程序。
上面三种加密策略在程序同时使用,相符相承,相互补充。即使监听程序记录下来我们的部分查询响应。
2) 分时查询
用户把查询响应对分组,如120对分为4组。每30对一组。头三个月使用第一组,第二个月三个月使用第二组以此类推,监听程序就算记录了头三个月。第二个月三个月以后程序仍然无法使用。
也可以再生成100对“临时委员”,每次运行随意抽出1对与以上分组结合使用。使记录程序在三个月内也无法记录完全。程序也无法使用。
3) 随机读写存储单元
为了防监听程序。我们的策略是:程序在启动时,我们利用随机函数随机生成的一个数,假设是“98768964”。我们在指定的18#单元写入这个数。哪么我们在程序运行中,每调用一个功能程序前读取18#单元,数判定是否是我们写入的数“98768964”。因为每次写入的数是随机生成的,所以监听程序记录不到当次启动时写入的随机数,它返回的数肯定是一个不匹配的数。我们就可以就此判定是否是合法用户。Sentinel Superpro加密锁可以重复写10万次以上。也就是说每天写三次也可以使用一百年。
2、 针对打印共享器的加密策略
为了防打印共享器。我们的策略是:程序在启动时,我们利用随机函数随要生成的一个数,假设是“7762523A”。我们在指定的34#单元写入这个数。哪么在程序运行中,每调用一个功能程序前读取34#单元,以判定是否是我们写入的数“7762523A”。以此判定是否是合法用户。因为每次写入的数随机生成的,同时使用打印共享器的其他非法用户的程序一进入也会写入一个不同的随机数。那么第一个用户的程序在校验是否是第一个用户写入的数时,就会被认为是非法的用户。所以在一个阶段也只是一个程序使用。(例如RAINBOW公司开的Sentinel Superpro加密锁可以重复10万次以上。也就是说每天写三次也就可以使用一百年。)
3、 针对DEBUG跟踪的加密锁的安全策略
1)分散法
针对DEBUG跟踪。在调用每个重要功能模块前,我们建议要对加密锁进行查询,校验身份。如果只在程序开始部分校验身份,DEBUG跟踪程序部分可以轻易的跳过校验部分,而一些不良用户可以在验证后可以将加密锁拔下用在其它计算机。
2)延时法
针对某一具体查询校验,都有三步骤:
Ø 查询得到响应串
Ø 比较响应串和查询串是否匹配
Ø 执行相应的步骤
我们建议以上三个步骤要延时执行。最好鼗三步骤相互远离些,甚至放到不同的子程序或函数中。例如:我们执行“查询得到响应串” 后,相隔50执行“比较响应串和查询串是否匹配”。假如程序需要调用一个函数。哪么我们就在这个函数里执行“执行相应的步骤”。这样程序更难于被破解。
3)整体法
将响应串作为程序中数据使用。
例如:我们有返回值“87611123”,而我们程序需要“123”这个数。我们可以让“87611123”减去“8761000”得到“123”。这样以来任何对加密程序的修改都会使程序紊乱。
4)迷惑法
一般情况下我们的程序执行相应的验证步骤。验证是非法用户就会退出。这样很容易被发现代码特征。我们知道是非法用户后继续执行一些无用的操作使程序紊乱。以迷惑解密者。
以上为现如今软件开发商使用硬件加密狗(加密锁)进行软件保护时可以使用的几种切实可行的几种加密策略。