CN102236761A - 一种软件防盗版中注册码生成方法 - Google Patents
一种软件防盗版中注册码生成方法 Download PDFInfo
- Publication number
- CN102236761A CN102236761A CN2010101574804A CN201010157480A CN102236761A CN 102236761 A CN102236761 A CN 102236761A CN 2010101574804 A CN2010101574804 A CN 2010101574804A CN 201010157480 A CN201010157480 A CN 201010157480A CN 102236761 A CN102236761 A CN 102236761A
- Authority
- CN
- China
- Prior art keywords
- software
- registration code
- data
- rsa
- algorithm
- 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.)
- Pending
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及计算机软件防盗版领域中一种软件注册码的生成方法,客户在安装软件时得到计算机的硬件标识并将此标识发送给开发商,开发商使用此标识和RSA公钥对事先选取的一段软件正常运行所必须的数据进行加密,将加密结果作为注册码。客户输入这个注册码进行安装,软件运行时用RSA私钥和本机硬件标识对注册码进行解密,如果注册码合法即可得到软件正常运行所必须的数据,否则软件无法继续运行。本发明解决了注册码算法容易被破解者破解并写出相应的注册机的问题,破解者无法破解出RSA公钥所以无法写出注册机,只能使用其它方法进行破解,同时无法在没有有效的注册码的情况下进行破解,大大增加了破解难度。
Description
技术领域
本发明涉及计算机软件防盗版领域,特别涉及一种在软件防盗版技术中软件注册码的生成方法。
背景技术
目前计算机软件的防盗版技术主要分硬件方式与软件方式两类。
硬件方式通过使用从第三方防盗版公司购买的插在计算机上的防盗版硬件(俗称软件狗),将软件信息写入此硬件中,与应用软件一起销售。这种保护对于程序而言比较有效,但成本偏高。
软件方式通过在软件安装或运行过程中需要输入注册码后才能继续安装或运行。这种方式又分两种:一种根据软件生成注册码,只要注册码和软件匹配即可,但这种方式盗版者在获得软件和对应的注册码后即可无限制的复制;一种根据用户反馈的计算机硬件信息,生成对应的机器码,这种方式有效的防止了软件被盗版,但如果注册码算法设计的不好就容易被破解并制作出注册机算出任意硬件信息的注册码。
发明内容
针对由计算机硬件信息生成注册码的算法容易被破解并制作出注册机的问题,本发明提供了一种可大大增加破解难度的注册码生成算法,使用此算法,破解者在现有的硬件条件下无法直接制作出注册机。
为实现上述目的,本发明采用的注册码生成算法步骤如下:
选定RSA密钥:选定一对1024位RSA密钥,将私钥写入软件中,公钥保留。
选定待加密数据:选定一个软件正常运行必须的一段数据,并将此数据从软件中移除。
生成用户硬件标识码:软件运行时如果未注册,则得到的用户计算机的CPU序列号及硬盘序列号等信息,将这些硬件信息用字符串表示并连接起来,使用MD5算法生成128位散列值作为硬件标识码。此硬件标识码由用户通过Email、电话等方式传递给软件开发商。
生成注册码:使用得到的128位硬件标识码作为3DES密钥,对选定待加密信息使用3DES算法进行加密,再将加密后的数据使用RSA算法用选定的公钥进一步加密。开发商将最终加密结果通过Email、电话等方式传递给用户。
由注册码得到数据:用户得到注册码后导入到软件中,软件先用RSA私钥进行解密,再用本机硬件标识码作为3DES密钥使用3DES算法进行解密,即可得到软件正常运行必须的那一段数据。
通过这种设计,由于目前还没有有效的破解RSA算法的方法,破解者无法得到RSA公钥,就无法写出根据硬件标识码计算出注册码。只能修改软件绕过这部分,直接得到待加密数据,这无疑增加了难度。并且,破解者无法在没有购买软件的情况下得到这个数据,只有破解者购买了软件后在对应的计算机上才可能找到这个数据。
具体实施方式
每个计算机的CPU、硬盘等硬件都有唯一的序列号。当用户购买了软件以后,把软件安装在计算机上,安装时安装软件读取计算机的硬件信息生成一个唯一的硬件标识并显示在屏幕上。用户向开发商提供这一信息后,开发商用这个硬件标识生成一个注册码并反馈给用户。用户填入注册码后,安装程序将此注册码记录在计算机上。用户安装完毕运行软件后,软件读取此注册码并尝试解密从中获得软件运行所需的必要数据,如果解密失败说明这个注册码是非法的,无法从中得到必要的数据就无法继续运行,否则注册码合法软件即可正常运行。
Claims (4)
1.一种软件防盗版中注册码生成方法,其特征在于该方法包括以下步骤:
(1)选定RSA密钥:选定一对1024位RSA密钥,将私钥写入软件中,公钥保留备用。
(2)选定待加密数据:选定一个软件正常运行必须的一段数据,并将此数据从软件中移除。
(3)生成用户硬件标识码:将应用软件与用户计算机硬件相联系,通过加密算法生成硬件标识码,此硬件标识码由客户通过Email、电话等方式传递给软件开发商。
(4)生成注册码:开发商使用加密算法对选定的待加密数据使用硬件标识码和RSA公钥进行加密,并将最终加密结果通过Email、电话等方式传递给用户。
(5)由注册码得到数据:用户得到注册码后导入到软件中,软件先用RSA私钥和本机硬件标识码进行解密,即可得到软件正常运行必须的那一段数据,软件即可继续运行。
2.根据权利要求1所述的一种软件防盗版中注册码生成方法,其特征在于步骤(3)中生成用户硬件标识码算法为:得到的用户计算机的CPU序列号及硬盘序列号等信息,将这些硬件信息用字符串表示并连接起来,使用MD5算法生成128位散列值作为硬件标识码。
3.根据权利要求1所述的一种软件防盗版中注册码生成方法,其特征在于步骤(4)中生成注册码的算法为:使用得到的128位硬件标识码作为3DES密钥,对选定待加密信息使用3DES算法进行加密,再将加密后的数据使用RSA算法用选定的公钥进一步加密,最终加密结果作为注册码。
4.根据权利要求1所述的一种软件防盗版中注册码生成方法,其特征在于步骤(5)由注册码得到数据的算法为:先用RSA私钥进行解密,再用步骤(3)得到的本机硬件128位标识码作为3DES密钥使用3DES算法进行解密,解密结果即为软件正常运行必须的那一段数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101574804A CN102236761A (zh) | 2010-04-27 | 2010-04-27 | 一种软件防盗版中注册码生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101574804A CN102236761A (zh) | 2010-04-27 | 2010-04-27 | 一种软件防盗版中注册码生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102236761A true CN102236761A (zh) | 2011-11-09 |
Family
ID=44887404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101574804A Pending CN102236761A (zh) | 2010-04-27 | 2010-04-27 | 一种软件防盗版中注册码生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102236761A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708332A (zh) * | 2012-01-12 | 2012-10-03 | 苏州百正信息科技有限公司 | 通过硬件识别码保护计算机软件版权的方法 |
CN103116489A (zh) * | 2012-11-15 | 2013-05-22 | 深圳中兴网信科技有限公司 | 注册码获取装置和注册码获取方法 |
CN104077229A (zh) * | 2014-07-04 | 2014-10-01 | 林章建 | 一种含有广告连接api接口的视频录像软件 |
CN104572850A (zh) * | 2014-12-17 | 2015-04-29 | 北京可思云海科技有限公司 | 一种注册号码的生成方法 |
CN105653902A (zh) * | 2016-02-01 | 2016-06-08 | 深圳市新产业生物医学工程股份有限公司 | 软件注册方法和装置,注册码生成方法和装置 |
CN107273720A (zh) * | 2017-06-22 | 2017-10-20 | 山东超越数控电子有限公司 | 一种国产处理器平台软件注册方法 |
CN108460252A (zh) * | 2017-12-21 | 2018-08-28 | 创新科存储技术(深圳)有限公司 | 一种软件产品license信息设置方法 |
-
2010
- 2010-04-27 CN CN2010101574804A patent/CN102236761A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708332A (zh) * | 2012-01-12 | 2012-10-03 | 苏州百正信息科技有限公司 | 通过硬件识别码保护计算机软件版权的方法 |
CN103116489A (zh) * | 2012-11-15 | 2013-05-22 | 深圳中兴网信科技有限公司 | 注册码获取装置和注册码获取方法 |
CN104077229A (zh) * | 2014-07-04 | 2014-10-01 | 林章建 | 一种含有广告连接api接口的视频录像软件 |
CN104572850A (zh) * | 2014-12-17 | 2015-04-29 | 北京可思云海科技有限公司 | 一种注册号码的生成方法 |
CN104572850B (zh) * | 2014-12-17 | 2017-12-05 | 鞠秋萍 | 一种注册号码的生成方法 |
CN105653902A (zh) * | 2016-02-01 | 2016-06-08 | 深圳市新产业生物医学工程股份有限公司 | 软件注册方法和装置,注册码生成方法和装置 |
CN105653902B (zh) * | 2016-02-01 | 2018-11-13 | 深圳市新产业生物医学工程股份有限公司 | 软件注册方法和装置,注册码生成方法和装置 |
CN107273720A (zh) * | 2017-06-22 | 2017-10-20 | 山东超越数控电子有限公司 | 一种国产处理器平台软件注册方法 |
CN108460252A (zh) * | 2017-12-21 | 2018-08-28 | 创新科存储技术(深圳)有限公司 | 一种软件产品license信息设置方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5537742B2 (ja) | 多ユーザ機密コードおよびデータを保護するためのアーキテクチャを含む方法および装置 | |
CN102236761A (zh) | 一种软件防盗版中注册码生成方法 | |
TWI567579B (zh) | 用於對硬體裝置提供金鑰的方法和設備 | |
US8683214B2 (en) | Method and device that verifies application program modules | |
CN101872404B (zh) | 一种保护Java软件程序的方法 | |
US20030221116A1 (en) | Security framework for protecting rights in computer software | |
BR0303651A (pt) | Aparelho, método e programa de execução de conteúdo e aparelho e sistema de gerenciamento de chave | |
CN102760214B (zh) | 一种新型的软件版权保护方法及装置 | |
US7995766B2 (en) | Group subordinate terminal, group managing terminal, server, key updating system, and key updating method therefor | |
CN101742072A (zh) | 机顶盒软件防拷贝方法 | |
US7805616B1 (en) | Generating and interpreting secure and system dependent software license keys | |
US8571210B2 (en) | Content protection apparatus and method using binding of additional information to encryption key | |
KR100755708B1 (ko) | 임시 라이센스를 사용하여 컨텐츠를 임시로 사용하는 방법및 장치 | |
JP2021525030A (ja) | ユーザ保護ライセンス | |
CN102289632A (zh) | 一种在软件源代码未知情况下对可执行文件进行加密方法 | |
CN101923616A (zh) | 版权保护中的服务提供装置、用户终端及版权保护方法 | |
US20080114685A1 (en) | System and method for preventing unauthorized installation of a software program | |
KR100361869B1 (ko) | 암호화키를 이용한 소프트웨어 설치 및 실행방법 | |
KR20040058278A (ko) | 비인가된 사용에 대한 정보의 보호방법 및 보호장치 | |
JP2000330783A (ja) | ソフトウェア不正コピー防止システムおよびソフト不正コピー防止プログラムを記録した記録媒体 | |
US20190044709A1 (en) | Incorporating software date information into a key exchange protocol to reduce software tampering | |
CN105022651B (zh) | 一种设备生产过程中的防盗版方法及固件烧写装置 | |
JP2007013677A (ja) | Icチップ、ボード、情報処理装置及びコンピュータプログラム | |
KR20090024482A (ko) | 컨텐츠를 이용하기 위한 키 관리 시스템 및 그 방법 | |
US11455379B2 (en) | Control system and method thereof for secure manufacturing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
DD01 | Delivery of document by public notice |
Addressee: Zhang Yunti Document name: Notification that Application Deemed to be Withdrawn |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20111109 |