联系方式 Contact

北京市圣天地电子信息股份有限公司

地址:北京市海淀区知春路108号豪景大厦B座2003室

电话:010-62101353/63

传真:010-62101373

网址:www.infotide.cn

邮箱:service@tide.com.cn‍

搜索 Search
你的位置:首页 > 新闻动态 > 本地新闻

圣天诺外壳 Envelope 介绍

2025/12/4 14:07:20点击:

目录

摘要

当今计算环境下,软件供应商面临的最棘手的问题之一是如何防止其软件被未授权客户使用,同时避免对想要合法购买和使用其软件的客户造成不必要的障碍。

软件的版权侵权,也称为软件盗版。互联网上有大量的逆向工程信息,提供了人人都可轻易获得的工具和知识,从而促进了软件盗版行为。众所周知,大多数国家都有适用于软件的版权法,但执法力度和合规程度各不相同,因此一些国家滋生侵权行为的土壤更为"肥沃"。

软件盗版问题非常普遍,它很难追踪、更难预防或杜绝。软件盗版导致潜在收入损失,并对付费客户产生负面影响,而非法律用户产生的成本最终由付费客户承担。

主动保护其软件的软件供应商做出了正确之举,但是可能危及其应用安全性的黑客攻击与日俱增,他们可能无法完全抵御此类攻击。人们往往会误认为一旦对某个应用采取保护措施并将其分发出去,它就对软件盗版和知识产权盗窃完全"免疫"了。软件供应商必须与软件保护解决方案提供商合作,从而不断更新和提高安全级别。将创新的保护和安全措施纳入产品生命周期,这将大大有助于超前应对潜在威胁。

本文探讨了圣天诺 LDK 外壳 Envelope 保护应用免受软件盗版和知识产权盗窃的各种机制。

综述

封装器(Packer)——定义和用法

顾名思义,封装器是一种修改可执行文件并创建新的等效文件的工具,用于压缩或逆向工程保护。封装过程将保护代码添加到原始可执行文件中,该可执行文件先"解封"完整或部分程序,然后恢复执行。此代码(下面称为 LDK 外壳运行时)是运行受保护应用所必需的,负责反调试、跟踪检测、许可管理和背景检查等任务。

外壳技术最大程度地结合了加密和代码混淆,为文件封装器解决方案提供版权保护和知识产权保护。

圣天诺LDK外壳——一键式解决方案,方便易上手

圣天诺 LDK 外壳是一种自动文件打包器,通过文件加密、代码混淆和反调试保护软件免受逆向工程的影响。在打包(或包装)二进制文件(可执行文件和库)的过程中,授权系统和应用之间建立了硬性连接,以发挥版权保护技术最大的威力。

圣天诺LDK外壳通过添加防护层来保护应用,该防护层负责将应用绑定到基于硬件、软件或云端的保护密钥(分别为HL、SL和CL密钥)。

使用圣天诺LDK外壳保护应用,全程仅需数秒时间,可以让软件商非常便捷地对其应用程序实施高强度保护。

对应用源代码无访问权限的供应商也可使用封装器。例如,无需开发人员参与,软件供应商就可以保护应用。分销商和经销商也可以通过它在当地市场保护软件。

启动受保护的应用时,LDK Envelope 运行时会尝试登录 LDK 许可证,如果成功,则利用加密的 HL、SL 或 CL 保护密钥,在内存中解密完整或部分应用。如果圣天诺保护锁不存在或许可证无效,则无法将二进制文件解密到内存中,应用便无法启动。如果密钥或许可证在运行时失效,应用将停止运行。

外壳工具1

数据文件加密实用程序

除了保护应用的可执行文件外,对应用正在访问的数据文件加密,可以确保知识产权得到保护。这在破解者(试图移除保护的黑客)和软件的知识产权之间增加了一层安全层。圣天诺 LDK 数据保护实用程序与圣天诺 LDK 外壳配合使用,利用数据文件加密来预防数据文件,然后由受保护的应用加密或解密这些文件。加密(执行 Sentinel LDK 数据保护实用程序)之后,运行时受外壳保护的应用仅能通过使用合适的保护密码才能访问数据文件。

特定数据文件可能需要专用许可才能解密,供应商或内容发布者可据此为文档、媒体文件和其他内容提供许可。

工作原理

圣天诺 LDK 外壳作为一个整体,通过文件加密、代码混淆、反调试、AppOnChip 等高度先进的功能,防止逆向工程,提供强有力的知识产权保护。这些额外的保护技术让破解变得极为复杂和费时,从而确保软件代码与最终用户许可紧密绑定。每个功能都考虑到了破解者在尝试绕过应用保护时可能使用的各种技术。

无论使用何种封装打包保护机制,应用最薄弱的地方是应用文件和添加的保护代码之间的接缝。一旦绕过这一点,与包含许可的保护密码的链接就会被断开,导致应用完全不受保护。因此,这是大多数攻击者会尝试攻击的地方。破解者将研究受保护的文件,分析保护代码及其与保护密钥的链接方式。一旦理解了代码并识别出其位置,他们就可以尝试通过以下方式进行破解:

  • 破解特定应用—— 断开特定应用文件的保护链接。
  • 通用破解—— 生成一个假许可,依赖该许可执行的所有应用都可被破解。或者,如果有其它文件中重复出现相同的方法,则断开受相同机制保护的所有文件的保护链接。

因此,受保护文件和添加的保护代码之间的接缝必须模糊且无迹可寻,让任何试图了解保护机制的人都需要耗费巨大的精力和漫长的时间。圣天诺 LDK 外壳最强大的功能之一是它能够保护接缝,并且设置大量障碍,以防止保护链接被破坏。

其实现原理是:更改部分应用代码,使应用在执行过程中必须依赖 LDK 外壳运行时代码。删除 LDK 外壳运行时会阻止应用正常运行,并且对其进行逆向工程非常困难,因为它采用深度代码混淆并使用完整性检查来阻止修改。

此外,在保护 .NET 和 Java 应用时,圣天诺 LDK 外壳提供基于方法级别的保护,其中方法在运行时实时解密。这种保护可以应用于任意数量(甚至数千种)的方法,并且规避起来非常耗时。

圣天诺 LDK 外壳仅自动选择对性能影响较小的方法进行保护,开发人员可以根据特殊安全或性能需求覆盖并取消选择或选择特定方法或类。对于本地二进制文件,如果存在性能问题,Envelope 会采用不同的方法,软件供应商可配置加密代码的百分比。但是,通常情况下不会存在性能问题,受保护的本地应用与其不受保护的版本性能相差无几。

圣天诺 LDK 外壳还为这些应用提供了另一层保护——程序集级加密 (Windows shell 保护) 和 Java 类加密。这些措施可以使反编译器和其他逆向工程工具失效,因为逆向工程工具不再将加密文件识别为有效的 .NET 程序集或 Java 类文件。

外壳工具2

即使原始文件完全相同,受保护后的文件之间也不会有 相似之处。

通过圣天诺 LDK 外壳,软件供应商可加密应用的某些部分或整个应用文 件——除此之外,还有众多其它配置选项,软件供应商可根据自身需求定制 保护措施

圣天诺 LDK 外壳的特性和优点

  • 自动文件封装器——通过文件加密和代码混淆提供强有力的保护,防止软件逆向工程
  • 安全通信信道——通过圣天诺 LDK 外壳,受保护的应用和保护密钥之间使用安全信道通信,免受中间人攻击。
  • 运行时解密——在运行时实时解密函数,确保应用无法进行完全内存存储。
  • 多平台支持——圣天诺 LDK 外壳可在多个平台上保护您的应用程序,确保强有力的版权保护,并防止逆向工程和篡改:Windows (x86, x86_64); Linux (x86, x86_64, ARM), Mac (x86_64). 支持多个操作系统上的 .NET 和 Java 应用。

通过加密二进制文件、添加许可检查、检测和阻止破解活动,并采取措施阻碍对受保护程序的分析,圣天诺 LDK 外壳是保护软件免受非法使用和保护有价值的算法和商业机密免受窥探的首选工具。

在执行保护时会动态创建 LDK 外壳运行时代码。它包括供应商特定的机密信息,并且每次都以不同的方式进行模糊处理。

这将对调查代码造成严重阻碍,并确保使用反汇编器分析保护机制或反汇编代码成为徒劳之举。

Envelope 运行时代码可能会增加二进制文件的大小,但在大多数情况下,与原始二进制文件大小相比,增加的部分可以忽略不计。在某些情况下,Envelope 文件压缩甚至会减小二进制文件的大小。

外壳工具3.png

通过加密二进制文件、添加许可检查、检测和阻止破解活动,并采取措施阻碍对受保护程序的分析,圣天诺 LDK 外壳是保护软件免受非法使用和保护有价值的算法和商业机密免受窥探的首选工具。

在执行保护时会动态创建 LDK 外壳运行时代码。它包括供应商特定的机密信息,并且每次都以不同的方式进行模糊处理。

这将对调查代码造成严重阻碍,并确保使用反汇编器分析保护机制或反汇编代码成为徒劳之举。

Envelope 运行时代码可能会增加二进制文件的大小,但在大多数情况下,与原始二进制文件大小相比,增加的部分可以忽略不计。在某些情况下,Envelope 文件压缩甚至会减小二进制文件的大小。

反调试和反跟踪方法

通常,软件开发人员使用调试器在应用开发过程中排除错误和查找问题。但是,试图非法访问软件的破解者使用相同的调试器来检测和跟踪软件中集成的保护代码,其最终目标是更改、禁用或完全删除保护代码。

圣天诺 LDK 外壳的一个非常强大的功能是其反调试机制,该机制不断搜寻活动的调试器。在调试器控制下运行的应用的性能略有不同。Envelope 检测并利用这一点,使调试器在分析应用以删除保护的过程中失效。圣天诺 LDK 外壳会检测是否已启动反跟踪工具,并在必要时阻止受保护的应用运行。

由于破解者和开发人员使用相同的调试工具,因此圣天诺 LDK 外壳必须能够区分合法开发人员和图谋不轨者的调试活动。可以通过以下方式实现这一点:显示"已检测到调试器"的消息,并阻止加载受保护的应用。开发人员不会尝试绕过此消息,而是使用未受保护的应用进行合法调试。但是,如果有人绕过了此调试器检测,那么必然是软件破解者在尝试移除软件保护,因此应用将停止运行。

破解活动检测

圣天诺 LDK 外壳使用额外的技术来检测破解活动。例如,Envelope 会在二进制文件中留下"陷阱",其中包含通常永远不会执行的代码。如果破解者对这些执行代码路径动了手脚,则明显的篡改迹象将导致密钥或应用被禁用。

在执行保护时会动态创建 LDK 外壳运行时代码。它包括供应商特定的机密信息,并且每次都以不同的方式进行模糊处理。

这将对调查代码造成严重阻碍,并确保使用反汇编器分析保护机制或反汇编代码成为徒劳之举。

Envelope 运行时代码可能会增加二进制文件的大小,但在大多数情况下,与原始二进制文件大小相比,增加的部分可以忽略不计。在某些情况下,Envelope 文件压缩甚至会减少二进制文件的大小。

完整性检查

受保护的应用使用数字签名进行签名。在运行时,保护机制将检查签名以确保整个二进制文件(包括代码和资源)未被修改。

Envelope 程序完整性保护与 Microsoft Authenticode 签名兼容。两者都可应用于二进制文件,且互不影响。

自动禁用密钥

禁用保护秘钥可以有效应对破解活动、挡住破解者的去路。此功能由圣天诺 HL(无驱型)和 CL 密钥支持,并且可由供应商解除禁用——如果用户能够提供令人信服的理由证明他们可以再次使用密钥,则供应商可提供经过数字签名的更新文件,以重新启用密钥。尽管禁用密钥功能默认不启用,但我们强烈建议启用该功能以提高安全性。根据 Thales 的经验,禁用密钥功能几乎完全不可能导致误报检测——自引入该功能以来,尚未有过此类事件的报道。

自动禁用应用

对于无法有效实现密钥禁用的圣天诺 SL 秘钥,圣天诺 LDK 外壳会采用其它替代技术。当(通过完整性检测等技术)检测到破解活动时,软件的反应行为被延迟,从而中断"原因"和"结果"之间的逻辑联系。延迟反应通过掩盖破解活动与软件对该特定活动的反馈之间的真正逻辑链接(例如,应用可能因内部错误而退出)来迷惑破解者。

供应商特定的 API 库

大多数软件保护供应商向所有客户提供相同的 API 库,如果出现安全漏洞,该库将成为单点故障。Thales 采用了更安全的解决方案——供应商特定的 API 库。这些 API 库是在 Thales 服务器上构建和定制的,破解者无人窥探。这样可以确保每个供应商都能获得一个可靠或实时应用中的、架构不同的组件。在此过程中,(为每个软件供应商定制的)API 库使用唯一的白盒保护技术进行增强,最后通过代码混淆和其他保护技术进一步增强。由此产生的 API 库实际上不受通用破解的影响,并且破解者通常无法在突破一个供应商 API 库的安全防护后,对其他供应商造成威胁。圣天诺 LDK 外壳从下载到开发人员计算机上的 API 副本中获取这些供应商特定的 API 库,并在执行保护时将它们绑定到应用中。然后,Envelope 在运行时使用这些受到严格保护的供应商特定的 API,以便受保护的应用能够合法访问保护密钥。

圣天诺 LDK 外壳自动集成对圣天诺保护锁的多次调用

圣天诺 LDK 外壳的独创之处在于它作用于编译后的文件,因此可以确保无需修改应用的源代码。对保护密钥的调用由添加到应用文件中的保护代码(LDK Envelope运行时)定期执行。软件供应商的安全集成商可指定和配置 Envelope 检查圣天诺保护锁的时间间隔,使用加密手段改变检查频率。除此之外,还有众多其它参数可由供应商在保护阶段自由配置。

白盒保护技术

Thales 在行业中率先使用白盒保护技术对通信信道进行完全加密,以防止攻击者了解受保护的应用和保护密钥之间的通信。利用供应商特定的组件,基于白盒的安全信道通信可确保无论使用动态攻击还是静态攻击,都无法从受保护的二进制文件中提取安全信道加密密钥。

外壳工具4.png

白盒保护技术

Thales 在行业中率先使用白盒保护技术对通信信道进行完全加密,以防止攻击者了解受保护的应用和保护密钥之间的通信。利用供应商特定的组件,基于白盒的安全信道通信可确保无论使用动态攻击还是静态攻击,都无法从受保护的二进制文件中提取安全信道加密密钥。

AppOnChip

AppOnChip 是 Thales 圣天诺 LDK 外壳最先进、最具创新性的功能之一,它可以将圣天诺硬件密钥与应用以几乎不可分割的方式进行绑定,为软件供应商提供更安全的软件保护解决方案。这一完全自动化的过程可向软件供应商提供其应用中的功能列表,其中包含与 AppOnChip 功能兼容的代码块。随后,受保护的代码块经过加密和签名,被加载到硬件密钥上并执行。这种额外的安全措施使其成为市场上最安全的软件许可方式。AppOnChip 的特性和优点包括更强的安全性、易于实施和无操作负担,因为加密代码在运行时被发送到密钥上执行,无需预加载。

AppOnChip 功能在 Windows 上可用于使用无驱动 HL 密钥保护的本机和 .NET 应用。自动运行时性能分析器可帮助供应商平衡 AppOnChip 集成的安全性和性能。

外壳工具5.png

原始入口点(OEP)保护

原始入口点(OEP)是指操作系统(OS)开始运行任何应用时,该应用的启动地址。破解者解压缩受保护的应用时,必须找出此地址,删除封装器代码,并尝试从应用的原始入口点启动该应用。

与许多封装器不同,圣天诺LDK外壳从其默认位置删除原始入口点指令,并将片段分散在LDK Envelope运行时代码中。试图从分散的块中找到并重建原始入口点的破解者必将徒劳而归,因为考虑到块的位置和大小的随机性,这几乎是不可能的。

圣天诺 LDK 外壳开箱即用,安全性一流,无需费时费力地从零开始开发解决方案,让您的工程团队可以专注于其核心竞争力。

基于方法级别的保护

圣天诺 LDK 外壳通过定义基于方法级别的保护来增强对 .NET 和 Java 二进制文件的保护。选择 .NET 程序集或 Java 存档作为保护对象时,Envelope 会自动确定可用于单个保护的方法。因此供应商可选择要保护的方法和保护方式,从而获得最高级别的保护,同时将对性能的影响降至最低。

圣天诺 LDK 外壳开箱即用,安全性一流,无需费时费力地从零开始开发解决方案,让您的工程团队可以专注于其核心竞争力。

删除导入地址表 (IAT)

规避对 Windows 本机二进制文件的破解的另一种方法是删除 IAT,IAT 内包含受保护应用使用的外部 DLL 中函数的地址。打包原始应用的过程会删除 IAT,将其从磁盘或内存中移除,并将此信息分散在 LDK Envelope 运行时中。这意味着每个导入地址操作都由 Envelope 在内部保护和处理。此外,每个导入操作都使用不同的混淆代码解析到不同的内存位置,因此破解者必须分别分析和理解每个导入操作,才能窥见一斑。在传统的保护封装器中,破解者可以通过IAT区分他们何时完成对表中的每个条目的分析。圣天诺 LDK 外壳没有使用 IAT,因此破解者常用的 IAT 重建工具将变得毫无用处。此外,Envelope 使用各种技术来隐藏导入,这将使破解的应用在后期出现故障,使"成功破解"的应用部分损坏,并因此不可靠。

原始代码和 Envelope 代码的硬性连结

在许多常见的封装器中,原始应用代码没有和封装器代码绑定。根据在保护时完成的代码流分析,圣天诺LDK外壳将自身集成到应用流中,从而加强封装器和受保护应用的虚拟绑定。这样,保护措施与应用无缝集成,无法区分,从而防止攻击者将其删除。在运行时,一旦控制流到达这些指定地址,显式执行序列将执行各种确认和验证操作,同时继续运行原始应用代码。如果流完好无损,应用将顺利运行;相反,如果应用的完整性有问题,则进程将停止。

被盗字节

内存快照和转储是常用的技术,在某些情况下,它们能够帮助破解者理解原始应用逻辑。对于任何试图破解受保护应用的人来说,这是关键的第一步,也正是成功的防破解解决方案需要精益求精的地方。

"被盗字节"指加强受保护的应用与 Envelope 代码之间的依赖关系的做法。窃取字节的行为是指从原始二进制文件的不同位置选择随机字节块,并将它们随机分散在 Envelope 代码中。这些代码块(被盗字节)在执行受保护应用的原始代码时在新的随机位置执行。通过模糊原始应用代码的结束位置和 Envelope 代码的开始位置,此机制可增强原始应用代码对 LDK Envelope 运行时代码的依赖性。

符号和代码混淆

符号混淆是将有意义的字符串转换为随机字母或数字字符串的过程。通过圣天诺 LDK 外壳,软件供应商可以将混淆作为反逆向工程安全措施。默认情况下,在受保护的 .NET 程序集中,所有具有私有可见性的符号名称都经过模糊处理。此外,软件供应商可以混淆选定方法的代码。由于代码模糊处理可能会降低应用的性能,因此该功能默认不开启。供应商可以对方法进行代码模糊处理,无论待保护的方法列表将其选定为符号模糊还是加密。

结论

通过圣天诺 LDK 外壳,软件供应商可配置其应用的保护措施并选择要集成的保护技术。圣天诺 LDK 外壳能够满足不同的个性化需求,提供所有相关工具,以实施最强的版权保护措施。安全性可能会以降低一定的性能和易用性为代价。因此,供应商必须根据威胁级别(即被保护对象的价值)以及因忽视潜在风险而已经造成的损失来正确评估所需的安全级别。

除了版权保护之外,通过积极阻止对手获取商业机密和专有技术,软件供应商还可以阻止工业间谍活动并保持竞争优势。外壳加密结合了加密和本机代码混淆,有力保护您宝贵的知识产权。

圣天诺 LDK 外壳在设计时充分考虑了易用性,开箱即用,安全性一流,无需费时费力地从零开始开发保护解决方案,让您的工程团队可以专注于其核心竞争力。

下载免费的圣天诺 LDK 外壳演示套件,其中包含圣天诺 LDK 外壳。想了解更多圣天诺 LDK 外壳的功能吗?请加QQ:1766798498,或拨打电话:010-62101353/63咨询