超级狗保护(1)

1. 超级狗介绍

1.1工作原理

在软件源代码中调用超级狗 Licensing API 函数,使被保护软件在运行中访问超级狗内的特征或数据文件,将超级狗与被保护的软件绑定。只有当被保护软件能够访问超级狗,超级狗发出的响应被软件验证正确无误时,被保护软件才能正常工作。当被保护软件发现超级狗不存在或返回的信息不正确时,被保护软件应停止运行。

1.2 保护方法

1.2.1超级狗 Licensing API 保护

在该保护方法中,软件工程师实施 Licensing API 到软件源代码,各种保护措施经过周密评估后被集成在源代码中。软件工程师控制整个保护过程,决定在源代码中哪些点调用 Licensing API 函数、被保护程序何时查询超级狗、以及在不同的情况下应当采取怎样的行动措施。

1.2.2外壳加密保护

外壳加密保护提供一种快捷、安全的自动化软件保护方法。外壳加密工具能够直接对可执行文件、DLL、.NET 程序集进行保护,不需要更改软件的源代码,并且可以阻止软件被施行逆向工程。

 

图1:外壳保护和Licensing API保护特点对比

 

2. 超级狗 Licensing API 保护

2.1超级狗 Licensing API 概述

软件工程师在实施超级狗的 Licensing API 保护时,可以在被保护软件源代码中插入对超级狗的调用。当被保护程序运行时,就可以检查程序是否有超级狗的保护。软件工程师可以对这些检查指定响应,例如,如果被保护程序未找到特定的超级狗,被保护程序就被指定自

行挂起或终止。

在源代码中实施超级狗 Licensing API 保护是一个强健软件保护方法,然而要最大程度发挥其保护能力,取决于实施过程。调用该函数库的程度决定了被保护软件的整体安全水平。

软件工程师在实施超级狗 Licensing API 软件保护工程之前,需要熟知 Licensing API 的函数。

2.2超级狗 Licensing API实施流程

2.2.1导入开发商代码

使用开发商向导可以把开发狗中的开发商代码导入 Windows 的开发商代码文件夹。开发商代码存储于系统中的开发商代码文件夹 (VendorCodes)中。 没有正确的开发商代码,将无法成功调用该函数。

2.2.2 Licensing API需求规划

考虑因素:

  • 要保护什么。
  • 实施计划中能否含有加密数据。
  • 数据能否被存储在超级狗的存储区中。
  • 如何使用写一次类型数据文件。

2.2.3 Licensing API工作流程

1.学习与您开发环境相应的示例应用程序的代码。可以通过学习Licensing API示例和Licensing API接口文档掌握Licensing API函数调用。

2.在您的应用程序源代码中,插入登录函数dog_login()或dog_login_scope(),登录成功即建立会话。登录会话拥有其唯一的句柄标识符。

3.成功建立一个登录会话后,您可以调用超级狗 Licensing API 提供的其他函数,例如,使用解密函数dog_decrypt()对重要数据进行解密,也可以使用函数dog_read()读取储存在超级狗存储区中的数据等。

4.使用第 3 步中生成的输出结果,检查潜在的不匹配 , 针对不匹配对最终用户做出相应通知。

5.对不同的功能组件重复第2至4步,完成对不同软件组件的保护。

6.编译源代码。

 

3. 超级狗外壳加密保护

3.1超级狗外壳加密概述

超级狗的外壳加密工具用于实施快速、简单的软件保护,无需像使用 Licensing API 函数那样对源代码进行改动,就可以自动给可执行应用程序加一个保护层。

外壳保护后,被保护程序在开始运行和运行当中会自动地访问超级狗是否存在。如果超级狗不存在,应用程序将不能运行。一旦被保护的软件无法访问超级狗,被保护的软件将提示错误信息。

外壳加密工具可以保护 Win32、Windows x64、以及 .NET 可执行文件 (EXE) 与动态库 (DLL)。外壳加密工具可以防止逆向工程和其他调试措施。

3.2基本保护流程

1.启动图形用户界面的外壳加密工具。

2.向项目添加要保护的可执行文件、动态库。

3.为被保护程序设置保护参数。

4.保护程序。

 

主要参考附带的《超级狗开发指南》。

posted @ 2013-08-01 16:58  swzhou  阅读(1650)  评论(1编辑  收藏  举报