CN106897585B - 软件许可管理方法、软件保护方法及装置 - Google Patents

软件许可管理方法、软件保护方法及装置 Download PDF

Info

Publication number
CN106897585B
CN106897585B CN201710154507.6A CN201710154507A CN106897585B CN 106897585 B CN106897585 B CN 106897585B CN 201710154507 A CN201710154507 A CN 201710154507A CN 106897585 B CN106897585 B CN 106897585B
Authority
CN
China
Prior art keywords
software
license
module
user
users
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710154507.6A
Other languages
English (en)
Other versions
CN106897585A (zh
Inventor
孙吉平
杨磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Senseshield Technology Co Ltd
Original Assignee
Beijing Senseshield Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Senseshield Technology Co Ltd filed Critical Beijing Senseshield Technology Co Ltd
Priority to CN201710154507.6A priority Critical patent/CN106897585B/zh
Publication of CN106897585A publication Critical patent/CN106897585A/zh
Application granted granted Critical
Publication of CN106897585B publication Critical patent/CN106897585B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种软件许可管理方法及装置,所述方法包括:基于软件用户的不同类别对软件构建不同的许可模板,所述许可模板包括用户类别信息和与所述用户类别信息相对应的许可权限信息;根据所述许可模板中用户类别信息相对应的许可权限信息,为待由该类别的用户使用的软件进行对应的加壳操作;基于所述不同的许可模板,为对应类别的用户颁发许可文件。本发明实施例的技术方案实现了对软件产品的权限的有效管理。

Description

软件许可管理方法、软件保护方法及装置
技术领域
本发明涉及软件许可技术领域,特别涉及一种软件许可管理方法、软件保护方法及装置。
背景技术
软件许可是指软件开发商颁发给软件用户的一种许可文件,使得软件用户能够约定的方式行使软件使用权。
现有技术中的软件许可可以采用锁的方式,来保护软件版权;锁是指一些软件开发商为了防止没有购买该软件的非法用户通过破解该软件,而非法使用该软件,从而设计的一个防盗版的产品。其中锁又分为硬件锁和软件锁;硬件锁一般分为USB接口式和打印端口式;软件锁是指采用程式代码等来实现软件防盗的产品。
软件开发商发放许可给用户,只要用户获得许可,则该软件的被许可的功能都可以使用。但是有的情况下,开发商想区分用户级别,比如初级用户、高级用户和贵宾用户,这时开发商就需要编译不同的软件版本来实现。同时,要对这不同的软件版本进行管理。如果开发商的软件较多,每个软件都有不同的版本,则管理起来非常不方便。
发明内容
有鉴于此,本发明实施例的目的是提供一种能够分配软件权限和管理角色的软件许可管理方法、软件保护方法及装置。
为了实现上述目的,本发明实施例提供了一种软件许可管理方法,包括:
基于软件用户的不同类别对软件构建不同的许可模板,所述许可模板包括用户类别信息和与所述用户类别信息相对应的许可权限信息;
根据所述许可模板中用户类别信息相对应的许可权限信息,为待由该类别的用户使用的软件进行对应的加壳操作;
基于所述不同的许可模板,为对应类别的用户颁发许可文件。
作为优选,为软件进行加壳操作,包括:
根据与所述用户类别信息相对应的许可权限信息为软件中需要保护的每个模块进行加壳操作。
作为优选,在构建许可模板之前,所述方法还包括:
对软件中的需要保护的模块按照不同类别的软件用户进行不同地组合,以将各组模块的使用权限分配给相应类别的用户。
作为优选,需要保护的模块包括函数、代码段或者算法模块。
本发明实施例还提供一种基于如上所述的软件许可管理方法的软件保护方法软件许可保护方法,包括:
在软件启动时,检查所述软件的所述许可文件;
根据所述许可文件中的许可权限信息,允许运行所述软件相应的模块。
本发明实施例还提供一种软件许可管理装置,包括:
构建模块,配置为基于软件用户的不同类别对软件构建不同的许可模板,所述许可模板包括用户类别信息和与所述用户类别信息相对应的许可权限信息;
加壳模块,配置为根据所述许可模板中用户类别信息相对应的许可权限信息,为待由该类别的用户使用的软件进行对应的加壳操作;
颁发许可文件模块,配置为基于所述不同的许可模板,为对应类别的用户颁发许可文件。
作为优选,所述加壳模块配置为根据与所述用户类别信息相对应的许可权限信息为软件中需要保护的每个模块进行加壳操作。
作为优选,所述装置还包括:
分组模块,配置为对软件中的需要保护的模块按照不同类别的软件用户进行不同地组合,以将各组模块的使用权限分配给相应类别的用户。
本发明实施例还提供一种基于如上所述的软件保护方法的软件保护装置,包括:
检查模块,配置为在软件启动时,检查所述软件的所述许可文件;
执行模块,配置为根据所述许可文件中的许可权限信息,允许运行所述软件相应的模块。
与现有技术相比,本发明实施例具有以下有益效果:本发明实施例的技术方案根据所述许可模板中用户类别相对应的许可权限信息,为软件进行对应的加壳操作;根据用户的类别信息,将加壳后的软件发送给所述用户,使得用户在使用该软件时,可以根据其用户类别获得相对应的权限,实现了对软件产品的权限有效管理。
附图说明
图1为本发明的软件许可管理方法的实施例一的流程图;
图2为本发明的软件许可管理方法的实施例二的流程图;
图3为基于本发明的软件许可管理方法的软件许可保护方法的实施例的流程图;
图4为本发明的软件许可管理装置的实施例一的示意图;
图5为本发明的软件许可管理装置的实施例二的示意图;
图6为基于图3所示的软件保护方法的软件保护装置的实施例的示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1为本发明的软件许可管理方法的实施例一的流程图,如图1所示,本实施例的软件许可管理方法,具体可以包括如下步骤:
S101,基于软件用户的不同类别对软件构建不同的许可模板,所述许可模板包括用户类别信息和与所述用户类别信息相对应的许可权限信息。
由于一个软件存在很多的用户,为每个用户一一地分配不同的软件许可是不现实的,因此本实施例提供了许可模板,在许可模板中包含了用户类别和与用户类别相对应的权限信息。在具体实施时,根据用户类别相对应的权限,为其加载不同的许可模板即可。这样避免了为不同的用户施加不同的权限增加管理成本的技术问题。
S102,根据所述许可模板中用户类别信息相对应的许可权限信息,为待由该类别的用户使用的软件进行对应的加壳操作。
根据加壳工具的使用方法,对软件加壳,具体是对软件中的各个需要保护的功能模块加壳。在加壳操作时,选择软件开发商想要保护的功能模块,对其进行加壳。进一步地,软件中需要保护的功能模块可以是函数、代码段和/或者算法模块。
S103,基于所述不同的许可模板,为对应类别的用户颁发许可文件。
具体地,通过S103步骤加壳完成后的软件将交由相应类别的用户使用,不同类别的用户对软件各个功能模块具有不同的权限,实现了基于用户类别为软件进行保护。
本发明实施例的技术方案根据所述许可模板中用户类别相对应的许可权限信息,为软件进行对应的加壳操作;根据用户的类别信息,将加壳后的软件发送给所述用户,使得用户在使用该软件时,可以根据其用户类别获得相对应的权限,实现了对软件产品的权限有效管理。
图2为本发明的软件许可管理方法的实施例二的流程图,本实施例的软件许可管理方法在上述实施例一的基础上,进一步更加详细地介绍本发明的技术方案。如图2所示,本实施例的软件许可管理方法,具体可以包括如下步骤:
S201,对软件中的需要保护的模块按照不同类别的软件用户进行不同地组合,以将各组模块的使用权限分配给相应类别的用户。
一般程序员在设计软件时,都是采用模块化的设计方式。一个软件中包括多个功能模块,不同的功能模块例如为不同的函数、代码段等。本实施例可以根据用户类别的数量将模块组合,例如,用户类别包括初级用户、高级用户和贵宾用户三种,则可以将功能模块也相应地进行三种组合,不同的组合对应不同权限。
例如,某软件包括64个功能模块,用户类别包括初级用户、高级用户和贵宾用户,则在具体实施时,可以将64个功能模块进行三种组合,根据用户类别对应的权限,初级用户可以使用其中12个功能模块,高级用户可以使用其中32个功能模块,贵宾用户可以使用所有的64个功能模块。
S202,基于软件用户的不同类别对软件构建不同的许可模板,所述许可模板包括用户类别信息和与所述用户类别信息相对应的许可权限信息。
本实施例提供的许可模板中包含了用户类别和与用户类别相对应的权限信息。在具体实施时,根据用户类别相对应的权限,为其加载不同的许可模板。
S203,获取加壳工具。
本实施例在具体实施时,所述加壳工具可以使用现有技术中的软件开发工具包(Software Development Kit,SDK)或其他类型的加壳工具。
S204,根据与所述用户类别信息相对应的许可权限信息为软件中需要保护的每个模块进行加壳操作。
根据加壳工具的使用方法,对软件加壳,具体是对软件中的各个需要保护的功能模块加壳。在加壳操作时,选择软件开发商想要保护的功能模块,对其进行加壳。
S205,基于所述不同的许可模板,为对应类别的用户颁发许可文件。
加壳完成后的软件将交由相应类别的用户使用,不同类别的用户对软件各个功能模块具有不同的权限。
在本发明其他实施例中,还可以设置权限验证的步骤,即软件开发商侧的工作人员在创建许可模板或基于许可模板对软件加壳时需要进行身份验证。
进一步地,软件中需要保护的模块可以是函数、代码段或者算法模块。
本发明实施例的技术方案通过对软件的功能模块进行组合,并使组合后的功能模块与用户类别对应,以构建许可模板,在具体的加壳操作中,基于许可模板为相应的功能模块进行加壳操作,整个过程操作便利,易于实现。
图3为本发明的基于上述软件许可管理方法的软件许可保护方法的实施例的流程图,如图3所示,本实施例的软件保护方法,具体可以包括如下步骤:
S301,在软件启动时,检查所述软件的所述许可文件。
一般的软件都包括启动文件,在启动软件时,根据启动文件的信息进行启动。本实施例的一种实施例中,可以将许可文件的信息设置于启动文件中,则在启动软件时,可以自动调用所述软件的许可文件。
S302,根据所述许可文件中的许可权限信息,允许运行所述软件相应的模块。
具体地,根据许可文件中的许可信息,确定软件的相应许可权限,从而运行所述软件中有权限使用的各个模块。
本发明实施例使得用户在使用该软件时,可以根据其用户类别获得相对应的权限,实现了对软件产品的权限有效管理。
图4为本发明的软件许可管理装置的实施例一的示意图,如图4所示,本实施例的软件许可管理装置,具体可以包括构建模块41、加壳模块42和颁发许可文件模块43。
构建模块41,配置为基于软件用户的不同类别对软件构建不同的许可模板,所述许可模板包括用户类别和与所述用户类别相对应的许可权限信息;
加壳模块42,配置为根据所述许可模板中用户类别相对应的许可权限信息,为待由该类别的用户使用的软件进行对应的加壳操作;
颁发许可文件模块43,配置为基于所述不同的许可模板,为对应类别的用户颁发许可文件。
本发明实施例的软件许可管理装置,通过采用上述模块为用户分配软件许可权限的实现机制与上述图1所示实施例的软件许可管理方法的实现机制相同,详细可以参考上述图1所示实施例的记载,在此不再赘述。
图5为本发明的软件许可管理装置的实施例二的示意图,本实施例的软件许可管理装置在如图4所示的实施例一的基础上,进一步更加详细地介绍本发明的技术方案。如图5所示,本实施例的软件许可管理装置,进一步可以包括:
分组模块51,配置为对软件中的需要保护的模块按照不同类别的软件用户进行不同地组合,以将各组模块的使用权限分配给相应类别的用户。
所述加壳模块42配置为根据与所述用户类别信息相对应的许可权限信息为软件中需要保护的每个模块进行加壳操作。
本发明实施例的软件许可管理装置,通过采用上述模块为用户分配软件许可权限的实现机制与上述图2所示实施例的软件许可管理方法的实现机制相同,详细可以参考上述图2所示实施例的记载,在此不再赘述。
图6为本发明的基于如图3所示的软件保护方法的软件保护装置的实施例的示意图,如图6所示,本实施例的软件许可保护装置,具体可以包括检查模块61和执行模块62。
检查模块61,配置为在软件启动时,检查所述软件的许可文件;
执行模块62,配置为根据所述许可文件中的许可权限信息,允许运行所述软件相应的模块。
本发明实施例使得用户在使用该软件时,可以根据其用户类别获得相对应的权限,实现了对软件产品的权限有效管理。
以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。

Claims (8)

1.一种软件许可管理方法,其特征在于,包括:
基于软件用户的不同类别对软件构建不同的许可模板,所述许可模板包括用户类别信息和与所述用户类别信息相对应的许可权限信息;
根据所述许可模板中用户类别信息相对应的许可权限信息,为待由该类别的用户使用的软件进行对应的加壳操作;
基于所述不同的许可模板,为对应类别的用户颁发许可文件;其中,
为软件进行对应的加壳操作,包括:
根据与所述用户类别信息相对应的许可权限信息为软件中需要保护的每个模块进行加壳操作。
2.根据权利要求1所述的方法,其特征在于,在构建许可模板之前,所述方法还包括:
对软件中的需要保护的模块按照不同类别的软件用户进行不同地组合,以将各组模块的使用权限分配给相应类别的用户。
3.根据权利要求1或2所述的方法,其特征在于,需要保护的模块包括函数、代码段或者算法模块。
4.一种基于如权利要求1-3 中任一项所述的软件许可管理方法的软件保护方法,其特征在于,包括:
在软件启动时,检查所述软件的所述许可文件;
根据所述许可文件中的许可权限信息,允许运行所述软件相应的模块。
5.一种软件许可管理装置,其特征在于,包括:
构建模块,配置为基于软件用户的不同类别对软件构建不同的许可模板,所述许可模板包括用户类别信息和与所述用户类别信息相对应的许可权限信息;
加壳模块,配置为根据所述许可模板中用户类别信息相对应的许可权限信息,为待由该类别的用户使用的软件进行对应的加壳操作;
颁发许可文件模块,配置为基于所述不同的许可模板,为对应类别的用户颁发许可文件;其中,
所述加壳模块配置为根据与所述用户类别信息相对应的许可权限信息为软件中需要保护的每个模块进行加壳操作。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
分组模块,配置为对软件中的需要保护的模块按照不同类别的软件用户进行不同地组合,以将各组模块的使用权限分配给相应类别的用户。
7.根据权利要求5或6所述的装置,其特征在于,需要保护的模块包括函数、代码段或者算法模块。
8.一种基于如权利要求4所述的软件保护方法的软件保护装置,其特征在于,包括:
检查模块,配置为在软件启动时,检查所述软件的所述许可文件;
执行模块,配置为根据所述许可文件中的许可权限信息,允许运行所述软件相应的模块。
CN201710154507.6A 2017-03-15 2017-03-15 软件许可管理方法、软件保护方法及装置 Active CN106897585B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710154507.6A CN106897585B (zh) 2017-03-15 2017-03-15 软件许可管理方法、软件保护方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710154507.6A CN106897585B (zh) 2017-03-15 2017-03-15 软件许可管理方法、软件保护方法及装置

Publications (2)

Publication Number Publication Date
CN106897585A CN106897585A (zh) 2017-06-27
CN106897585B true CN106897585B (zh) 2019-12-13

Family

ID=59193726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710154507.6A Active CN106897585B (zh) 2017-03-15 2017-03-15 软件许可管理方法、软件保护方法及装置

Country Status (1)

Country Link
CN (1) CN106897585B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113849779A (zh) * 2021-08-02 2021-12-28 统信软件技术有限公司 一种客户端应用的授权方法、计算设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118512A (zh) * 2011-03-28 2011-07-06 阮晓迅 一种手机应用程序防破解方法及系统
CN102227714A (zh) * 2008-11-28 2011-10-26 英科伦有限责任公司 用于数据处理的方法、系统和模拟模型或分析模型
CN103514397A (zh) * 2013-09-29 2014-01-15 西安酷派软件科技有限公司 一种服务器、终端及权限管理、许可方法
CN104090770A (zh) * 2014-07-22 2014-10-08 中国地质大学(北京) 软件开发中基于用户权限配置系统功能的方法
CN106446620A (zh) * 2016-10-28 2017-02-22 美的智慧家居科技有限公司 Wifi模块的权限设置、处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060282392A1 (en) * 2005-06-09 2006-12-14 International Business Machines Corporation Method and apparatus for dynamically controlling the selection and redundancy of web services components

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102227714A (zh) * 2008-11-28 2011-10-26 英科伦有限责任公司 用于数据处理的方法、系统和模拟模型或分析模型
CN102118512A (zh) * 2011-03-28 2011-07-06 阮晓迅 一种手机应用程序防破解方法及系统
CN103514397A (zh) * 2013-09-29 2014-01-15 西安酷派软件科技有限公司 一种服务器、终端及权限管理、许可方法
CN104090770A (zh) * 2014-07-22 2014-10-08 中国地质大学(北京) 软件开发中基于用户权限配置系统功能的方法
CN106446620A (zh) * 2016-10-28 2017-02-22 美的智慧家居科技有限公司 Wifi模块的权限设置、处理方法及装置

Also Published As

Publication number Publication date
CN106897585A (zh) 2017-06-27

Similar Documents

Publication Publication Date Title
US11704389B2 (en) Controlling access to digital assets
US11943369B2 (en) Technology validation and ownership
US8683579B2 (en) Software activation using digital licenses
JP6227772B2 (ja) 動的ライブラリを保護する方法及び装置
US8452967B2 (en) Using flash storage device to prevent unauthorized use of software
CA3023939C (en) Method and apparatus for dynamic executable verification
US20180268116A1 (en) Methods and related apparatus for managing access to digital assets
US20090094601A1 (en) Method and device for protecting software from unauthorized use
Kuz et al. capDL: A language for describing capability-based systems
CN101548284A (zh) 软件许可证中的条件策略
JP2010040044A (ja) ネットワーク化されたコンピュータ環境にあるターゲットコンピュータにソフトウェアをプッシュインストールする間にライセンスを実行するためのシステム(計算デバイス、コンピュータサーバー)、方法、および記録媒体
CN106897585B (zh) 软件许可管理方法、软件保护方法及装置
CN110908666B (zh) 一种源代码共享管理方法、装置、设备及计算机存储介质
US20150262084A1 (en) Methods for defending static and dynamic reverse engineering of software license control and devices thereof
CN104871165A (zh) 固件实现的软件许可
JP5797666B2 (ja) 計算リソースの安全な実行
US20130067533A1 (en) Generating a test license for a developer application
Barbareschi et al. Partial FPGA bitstream encryption enabling hardware DRM in mobile environments
CN111611551B (zh) 一种基于国密算法的动态链接库保护方法及其系统
EP2840520A1 (en) Protection unit for protecting an application against unauthorized use on a computer system
JP2010033322A (ja) プロテクトドングル、コンピュータプログラムのライセンス付与システムおよびライセンス付与方法
EP1768042A1 (en) Program encryption method
US20070043977A1 (en) [program encryption method]
Manoharan et al. Software licensing: A classification and case study
CN115640550A (zh) 软件授权的控制方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee after: Beijing Shendun Technology Co.,Ltd.

Address before: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee before: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder