CN1369809A - 一种批量生产的计算机软件的注册码防盗版加密方法 - Google Patents

一种批量生产的计算机软件的注册码防盗版加密方法 Download PDF

Info

Publication number
CN1369809A
CN1369809A CN 02101930 CN02101930A CN1369809A CN 1369809 A CN1369809 A CN 1369809A CN 02101930 CN02101930 CN 02101930 CN 02101930 A CN02101930 A CN 02101930A CN 1369809 A CN1369809 A CN 1369809A
Authority
CN
China
Prior art keywords
code
software
program
user
installation
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
Application number
CN 02101930
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN 02101930 priority Critical patent/CN1369809A/zh
Publication of CN1369809A publication Critical patent/CN1369809A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及一种计算机软件的反馈式版权确认的注册码防盗版加密方法。目的是解决“软件的批量生产或网上传播(下载)必须使用的注册码机制与通过购买一个注册码就可以实现批量盗版”的矛盾。本发明的每一个注册码都是一个多层组码结构,是一个身份码与多个校验码及校验码编号的组合。用户通过公众通讯系统进行合法身份的界定。查验合格时,获得程序安装的钥匙密码,才能完成程序安装。本发明能够防止批量盗版,又允许用户多次安装。

Description

一种批量生产的计算机软件的注册码防盗版加密方法
本发明涉及计算机软件的加密方法,特别是涉及一种计算机软件的反馈式版权确认的注册码防盗版加密方法。
对计算机软件进行加密处理,以防止非法拷贝和使用,是保护软件版权的有效办法,目前,软件加密的基本方法有如下几种:软盘加密法,插卡加密法,软件狗加密法,密码加密法和隐蔽代码法等,但加密防盗版效果都不太理想。中国发明专利“计算机软件加密保护方法及装置”公开日1995年6月14日,公开号CN1103728A,申请号941043991就公开了一种软件加密保护方法,采用以下步骤:初始值A0及加密关键数据B、D、E分别存入计算机侧的计算机软件中和专用计算器的ROM中,由计算机侧首先获得一随机数X1将X1送入专用计算器,由加密算法F1获得Y1,再将Y1送入计算机,由解密算法F2获得X2,计算机软件比较X1与X2一致时可运行受保护的计算机软件,否则停机。一个专用计算器配合一套受保护的计算机加密软件使用。由于软件的正常功能最终都由主机完成,软件代码最终都要进入主机存储器,从而有可能被截获解密的可能,因此达不到软件保护的目的,而且采用专用计算器,使得软件加密成本增高,不便于操作。
又如,中国发明专利“计算机软件防盗版加密方法”公开日1999年5月5日,公开号CN1215867A,申请号98124924.8也公开了一种软件加密保护方法,采用以下步骤:
软件安装开始后,程序输出程序编号a0,参数数据b0,随机数据c0;
用户将程序编号a0、参数数据b0、随机数据c0传送给软件公司;
软件公司的计算机系统的确认用户软件版权的程序用程序编号a0,并使用软件公司定义的版权识别计算方法A计算出另一组参数数据b1;然后与用户传送过来的参数数据b0作较是否一致,并检查程序编号a0是否在软件公司的编号数据库中登记过,如b0与b1一致,且a0没有登记过,则版权确认的过程继续进行,如不然,则输出给用户相应的信息并中断版权确认过程;
软件公司的版权确认程序用程序编号a0和用户程序传送过来的随机数据c0,使用软件公司定义的解密算法B计算出密匙数据d1,并输出给用户;
用户程序用程序编号a0随机数据c0,使用软件公司定义的解密算法计算出另一组密匙数据d0,并检查算出来的密匙数据d0与从软件公司的程序传送过来的密匙数据d1是否相同,如相同,则版权确认成功,如不相同,则中断操作。
虽然,上述发明改革了以前的防盗版加密方法,产生了许多积极的作用。但由于软件的第一次安装运行是确认计算机软件的使用权的唯一过程,其后以计算机内部硬件环境为参数进行二次加密生成了恢复性安装盘。如果合法用户因为计算机病毒造成软件环境的破坏,需要重新安装所有软件,则只能使用第一次安装时生成的恢复性加密安装盘,给用户带来了严重的限制;即,如果合法用户因为计算机的硬件升级,计算机内部硬件环境的参数发生变化,则软件无法继续使用或重新安装,造成合法用户不能升级自己的计算机硬件。这一点在计算机硬件18个月就更新换代的今天是不现实的。如果上述方法使用改进方案,即,二次加密生成的恢复性安装盘允许用户更改硬件环境参数,则软件的第一次安装运行后生成的二次加密恢复性安装盘,正是盗版者需要的盗版源。盗版者可以无限制的盗版二次加密恢复性安装盘,将所述软件安装在不同的计算机上。因此达不到软件保护的目的。这就是一个新的矛盾。
另,目前国内外的计算机软件被盗版比较严重的是:对软件的开始安装或开始运行时需要输入的注册码的盗版。这主要是因为互联网的广泛使用,网上存在大量的共享软件。大家到一个网站去下载软件,使用不同的注册码,其中一个注册码被公开就将产生大量的盗版现象。另外,如微软公司生产的大量软件产品,由于不可能实现每个软件拷贝都重新编译,因此,只能使用现有的注册码的方式防止盗版。这种注册码机制实质上是软件内有一个检验注册码是否符合原设定规律的程序,无论生产多少个软件拷贝,产生多少个注册码,软件拷贝都是一样的,不同的是注册码。但是只要软件的版本相同,任何一个合法的注册码都可以成功的开启所有的软件拷贝。盗版者只需购买一套正版软件、或购买一个注册码就可以实现批量盗版。
如何解决“软件的批量生产或(共享软件)网上下载传播必须使用上述注册码机制与通过购买一个注册码就可以实现批量盗版”的矛盾,是软件防盗版的关键问题。
前述的公开号为CN1215867A的计算机软件防盗版加密方法,基本可以解决上述的矛盾,但一次性反馈注册模式,带来了必须使用二次加密的恢复磁盘的新问题,如果要防止二次加密的恢复磁盘被盗版,必须将加密参数与具体的计算机硬件参数相关。由此带来了上述的硬件升级与二次加密的恢复磁盘的矛盾。
现在,面市的WINDOWS XP操作系统,使用的激活技术就是在安装后,进行二次加密,加密参数与硬件相关,已经产生了不好的效果。
本发明的目的是提供一种不依赖于具体计算机机型的便于操作的可以实现有限次数的能够多次安装的计算机软件注册码防盗版加密方法。
本发明的方案是按以下步骤实现的:
注册码的基本结构:每一个注册码都是一个多层组码结构1,一个多层组码结构1印刷在纸制等平面载体上或通过电子文档的形式提供(传递)给用户。每一个多层组码结构1都作为一个信息单元存储到计算机查询系统数据库中,以供消费者调取该信息来验证真伪获取反馈的密码信息。
所述的多层组码结构1大致有两种不同形式的结构:标准结构和简化结构。
标准结构是一个身份码9与多个校验码10及其校验码编号12的组合。
简化结构是省略身份码9的多组或一组多个按一定顺序或方法排列身份编码11及校验码编号12的组合。
身份码9:是指软件生产厂家在软件出厂前按一定顺序或方法为每一个软件生成的体现该软件唯一身份的号码或图案或字母或文字或上述混合形式,只要能为大众认识并能用语言清楚表述的。其将作为“明码”标注在纸制等平面载体表面上。代表了软件的不同个体。作为注册码的“头部”。是注册码的重要组成部分,
校验码10:是指软件生产厂家在软件出厂前可随机获取的也可以是使用固定算法生成的一组多个按一定顺序或方法排列的用于用户或商家反馈给软件生产厂家用于校验注册码真伪的号码或图案或字母或文字或上述混合形式,只要能为大众认识并能用语言清楚准确表述的。其将作为“暗码”与身份码9一起标注在纸制等平面载体表面上。“暗码”的制作是在校验码上用不透明覆盖物覆盖或用不透明的涂料涂盖,覆盖物可以是纸片、塑料膜、金属薄板等材料,也可将校验码打印在覆盖物背面,然后在将覆盖物覆盖在上述表面,其要求是覆盖物或涂盖物可用手撕开、刮开等手段打开,一般打开后覆盖物是不能恢复的,打开后校验码是清楚可识的。校验码10也可以是“明码”。如果是“明码”,则在使用中由用户自己标注该校验码是否已经查验过。因为,按照要求每个校验码10只能查验使用一次,已经查验过的校验码10的编号(或编号组合)也将是一个动态形成的信息,是需要在下一次查验时提交的。校验码10是“明码”的情况一般讲,整个注册码是通过电子邮件等电子文档的形式传递。
校验码编号12:按一定顺序或方式获取的与校验码10或身份编码11一一对应的,用于标注区分校验码10和身份编码11的不同个体的,标印在其所需标注的校验码旁的号码或字母或文字或图案,这是一组“明码”。
身份编码11:是指生产厂家在软件出厂前可随机获取的一组多个按一定顺序或方法排列的用于用户或商家反馈给软件生产厂家用于校验注册码真伪的号码或图案或字母或文字或上述混合形式,只要能为大众认识并能用语言清楚准确表述的。其将作为“暗码”标注在在纸制等平面载体表面上。与校验码10相同的身份编码11也可以是“明码”。与校验码10不同的是:身份编码11的编码较长,一个编码即可以代表该软件身份。编码方式等同于数码电话防伪技术。覆盖物可以局部覆盖。而校验码10是与身份码9配套使用的,一般很短5~6数字即可。身份编码11可以看作是身份码9与校验码10结合成一体了,按照校验码10的方式排列。
显然,身份编码11的方式所需要的数码数量较多,所需要占用的计算机的硬盘空间较大,不如校验码10与身份码9配套使用的方式。
既能够防止造假者批量盗版,又允许用户多次安装。多层组码结构1是一个关键的技术手段。也是该软件注册码防盗版加密方法的核心结构。
利用反馈式版权确认来实现对软件的防盗版加密保护,所述的版权确认的过程包括以下步骤:
用户报告身份码9,查询中心打开数据库,核对身份码9是否存在,是否该件软件已被查询的次数超过限量,如果身份码9正确则允许用户查询。首先由服务中心向用户提问,其校验码10哪几项被打开,如回答正确则请用户自选任一个尚未打开的检验码10,将其打开,并将校验码编号12及其校验码10报告服务中心,如果正确,中心备案,并告知用户软件继续安装的钥匙密码。
由已打开哪几个校验码10和新打开的校验码10是否正确而完成两级校对判断。查询次数越多判断是否合法用户的正确率越高。这一验证方法其实是对盗版者的两级陷井,如果有盗版者针对同一身份码9软件造了两个或两个以上的假品(相同的注册码),这两件软件在不同的地方销售,如果两地均有人使用并为了获得软件的安装的钥匙密码进行查寻,由于先查验哪一个校验码及已查验了哪几个检验码具有随意性,完全雷同的概率极小,如查询中心发现同一身份码9所打开查寻的校验码编号与备案不同时,请其再校验一个号码,如果该校验码也是真的,则可以判断该身份号已被盗版,市售均是盗版假货。如果是假,则只能说明第二次查询的产品是非法用户,其查寻内容不备案。(无论校验码10是否是“明码”)
然而,仅仅上述方案是不能防止盗版的。因为盗版者可以将上述的注册码和反馈的钥匙密码一起公开并发售,形成完整的盗版。
因此,反馈钥匙密码时,应该还有一个与具体安装时的状态相关的参数,这个参数可以是安装或查询的时间、计算机硬件信息等,但盗版者可以将安装时间、计算机硬件信息也一同告之购买盗版者。经过研究这个参数只能是安装程序时生成的随机数据C。
因此,完整的方案是:多层组码结构1中的身份码9与一个校验码10还有校验码10的校验码编号12以及安装程序时生成的随机数据C,合计至少4个参数在用户通过厂家提供的反馈查询服务系统通过公众通讯系统如电话、网站等进行用户合法身份的界定,并在查验合格时,由查询服务系统反馈给查询者继续程序安装的钥匙密码。用户输入钥匙密码后才能完成程序的安装。
在查询服务系统中,系统通过对用户输入的信息进行版权界定,可以判断用户的合法性。如果用户合法,则系统将以上述4个参数中的全部或部分作为参数,通过一个算法AA,计算出钥匙密码D。在用户的计算机中,也由用户输入上述4个参数中的全部或部分,以及钥匙密码D。程序将以上述4个参数中的全部或部分作为参数,通过一个算法AB,计算出钥匙密码DA。比对钥匙密码DA与钥匙密码D是否相同或符合一个确定的关系。作为判断是否继续安装的依据。
所述的公众通讯可以是:电话、移动电话(含移动通讯设备上网、短信息)、互联网(含信息家电上网)、传真等方式。与现代信息防伪查询网络类似。
为了减少盗版的可能性,软件的注册码和钥匙密码的确认过程应该放在程序安装的开始,而不是程序完全安装后才检验注册码和钥匙密码。如果程序完全安装后才检验注册码和钥匙密码,盗版者可以采用正常安装和失败安装的区别点,采用文件替换的方式饶过检验注册码和钥匙密码的过程完成盗版。这一点WINDOWS XP被盗版就是一个例子。
为了用户在使用公众通讯装置进行查询认证更方便,上述的4个参数应该都是阿拉伯数字,因为英文、汉字、图形、符号在电话查询时是不方便的。
为了增加盗版者的破解难度,主要为了不让盗版者将算法AA或算法AB的计算公式找到,反馈的钥匙密码D是一个长串数字的一部分,而钥匙密码D只需要与用户程序计算出钥匙密码DA的头部、尾部或中间的几位数相同或符合约定的相关规律,即可验证成功。(该方法是有效对待使用软件跟踪并分析数据的方法破解上述的加密解密算法。)。例如:钥匙密码D是“234567”,而将上述的4个参数作为参数带到算法AB的计算公式中,进行计算,得到的结果是“88234567”。钥匙密码D与钥匙密码DA的后6位相同,就算检验成功。由于是部分比对校验,即使盗版者收集到许多真实钥匙密码和参数也无法回归分析计算公式。对计算过程进行跟踪,由于涉及大数据的截取,因此也很难获知算法AB。
上述的算法AA或算法AB可以是相同的,也可以是有一一对应关系的。
为了增加盗版者的破解难度,上述的软件包中的关键的安装程序(如:SETUP.EXE和INSTALL.EXE)或计算机程序中的安装功能的代码中,增加对程序本身代码尤其是对程序中对注册码分析判断、生成随机数据C等部分的功能代码的检验代码。具体方法是:在安装程序(如:SETUP.EXE和INSTALL.EXE)程序编制中,增加对已经生成为可以运行的机器码(ASCII码)的关键程序段中的机器码(ASCII码)进行备份或加密备份。在安装程序中增加一处或多处将加密备份(或备份)进行解密然后与程序中的相应的执行部分的代码进行对比的执行码。如果解密后的关键部分的代码与程序中相应的关键部分的代码(机器码(ASCII码))不完全一样,表明程序的部分代码已经与软件出厂前不一样了,存在部分代码失效的可能,则安装程序停止安装工作。关键部分的代码的加密备份可以存放在安装程序内部,也可以存放在程序包中的其他计算机程序中。将加密备份(或备份)进行解密然后与程序中的相应的执行部分的代码进行对比,应该与内存中的执行部分的代码进行比对,而加密备份的备份源也可以是软件运行后在内存中的存在形式。
增加安装程序(如:SETUP.EXE和INSTALL.EXE)中的关键功能部分的代码的加密备份和解密对比程序段,可以有效阻止破坏注册码检验或增加强行跳转指令的方式破坏注册码检验的盗版方法。实现,安装程序一经被破坏或增改,不能完成安装行为的目的。
综上所述,如果盗版者不能将程序修改,或控制生成的随机数据C为一个或多个固定数值,则盗版者将无法完成盗版工作。
计算机软件的盗版方法有多种手段。上述方法可以有效防止盗版者盗用注册码的方式进行盗版。余下的盗版方法主要是将已经合法安装的软件直接拷贝。
作为本发明的改进,本发明采用的方法,还可以在软件安装成功后,采用以下方法来防止采用以直接拷贝的方式安装和运行软件。
如果是非操作系统软件,启动运行时,向操作系统询问操作系统的编号,并与在安装过程中已经记录的操作系统的编号进行比较,或检查机器特征码与在安装过程中记录在软件中的机器特征码是否一致,如一致,则正常启动运行,如不一致则中断操作。
如果是操作系统软件,在启动运行时,操作系统检查机器特征码是否与安装过程中记录在操作系统软件中的机器特征码是否一致,如一致,则正常启动运行,如不一致,则中断操作。
为了增加盗版者的破解难度,上述的软件在安装过程中,应该在计算机硬盘上增加一些参数标记(如在BOOT区增加软件特征、版本信息等),或在系统文件上,尤其是操作系统的系统文件的固定文件的固定位置上增加几个字节的特殊字符标记。当然是在这些系统文件内的没有用的空间。如:涉及标注版权信息的文本数据部分。而没有所述的特殊标记,程序不能运行或不能正常运行。这样,程序非经过安装,是不能使用的。
为了便于消费者查询,注册码的载体上应印设有可与计算机识别系统数据库通讯的电话号码和计算机网址或手机(WEB或短信息方式)的通讯方法。
为了便于消费者处理因为使用不当造成了软件的部分损坏,安装程序可以在安装过程中生成恢复性安装的程序备份,即,生成一个软件系统恢复性覆盖安装的程序包,用于对程序系统中所有的或部分重要的、尤其是可执行程序的覆盖性更新。所述的恢复性安装程序,在安装前需要检查所有重要的“暗记”,以确认程序的恢复是否合法。该恢复性程序不生成“暗记”性的版权信息。一般只是将使用的程序和初试参数进行备份。这种方法可以减少用户使用注册码的次数。在现在计算机硬盘空间特别大的情况下。上述方法,可以快速、方便的恢复受损的系统。在用户合法的升级时,软件公司也可以使用上述方法,为升级用户提供不需要注册码的升级包。
本发明改革了计算机软件的防盗版加密方法。由上述特性可知,多层组码结构1可以实现一个版权确认标识的有限多次查询,可以有效的阻止盗版者批量盗版的可能。同时对在开放互联网上的版权确认查询方式,也因为版权确认的注册码是多层结构而不担心网络黑客的枚举法攻击。这是因为有身份码9的存在,我们可以限定在互联网上对同一个身份码9进行的非法查询的次数。(由于现代黑客可以轻易隐藏自己的IP地址。在互联网的查询请求是否合法、是否是程序在查询是无法判断的。因此没有身份码9的存在,我们无法限定非法的、恶意的查询。)加之,上述的其它的辅助防盗版手段。可以实现对批量生产或网络下载(共享)的方式进行批量销售的计算机软件的有效加密。阻止了盗版者批量盗版的可能性。即成本低又便于操作。
上述方法也可以结合目前经常使用的增加对注册码检验过程保护的方法和防止直接将软件拷贝的方法及程序在系统中的加密注册方法等手段,共同应用在一种软件上,实现更有效的版权保护。都是计算机加密(版权保护)的程序员,可以轻松想到和做到的。也属于本发明公开的技术方案。
下面将结合附图和实施例对本发明作进一步详细说明:
图1为本发明的以多层组码结构为特征的注册码。
图2为本发明的版权确认流程图。
如图1所示,每个注册码(即是一个多层组码结构1。)由三部分组成。身份码9与一个校验码10及其校验码编号12。还包含文字说明3、使用说明2。
如图2所示,用户将身份码9与一个校验码10及其校验码编号12,连同安装程序运行时生成的随机数据C。通过通讯线路用自动或手动的方式送到软件公司的计算机系统中,自动方式是针对软件公司的计算系统和客户的计算机连网,这时用户程序自动登录软件公司的服务器,然后把相应的数据传输过去,手动方式是对非连网的用户和计算机软件公司,可以通过电话等方式相互传输数据或以其它公众通讯的方式将数据传递过去(如:移动手机、手机短信息、传真等)。
软件公司的计算机系统或服务器的确认用户软件版权的程序使用身份码9及校验码编号12为参数,并使用软件公司定义的版权识别方法AS计算出校验码10(或通过相应的数据库检索查询出对应的校验码10),并将计算出来的参数数据与用户程序传递过来的校验码10作比较,判断是否一致,如不一致,则输出相应出错信息,结束版权确认过程;如一致,则软件公司的版权确认程序检查用户程序传送过来的身份码9是否已经超过安装次数限制。如果没有超过安装次数限制,软件公司的版权确认程序用用户传送过来的随机数据C及身份码9、校验码编号12、校验码10为参数,使用软件公司定义的解密计算方法AA计算出密匙数据D。计算方法包括数学的或非数学的以及数学和非数学组合的计算公式及计算方法,也包括软件公司定义的数据库对应表格,然后对这套软件的程序编号进行登记和记录。密匙数据D及相应的回复说明信息作为反馈信息输出给用户的计算机系统,或其它方式告之用户(同时记录安装的次数)。用户将身份码9、校验码编号12、校验码10及反馈信息密匙数据D输入程序。这套软件里的软件公司自定义的计算方法AB计算出另一组密匙数据DA,程序将核对这两组密匙数据D与DA是否一样或两者之间符合预先定义的相互关系。如果核对无误,继续完成安装。安装过程中,除将应用程序安装,同时在硬盘或特定的系统文件中增加版权信息。该程序每次使用或预定条件下使用时对上述版权信息进行核对,不符合时停止工作、提示相关版权信息。
如果版权确认核对有误,程序将认为版权确认未成功,程序将做出重新输入密匙数据或重新作版权确认或退出安装或退出运行等相应的处理,显示出相应的提示信息。
另外,软件版权确认成功后,程序将在这套软件的某个或几个文件里作软件版权确认已成功并可正常运行的标记信息,可以同时记录这个计算机系统的操作系统的编号。标记信息可以记录在新建的文件中。当非操作系统的其他软件程序启动运行时,需要向操作系统询问操作系统的编号,并与软件文件中存储的操作系统的编号作比较,以检查软件是否已被拷贝到另一个计算机系统中,如果操作系统的编号正确,并且软件文件中存储的软件版权确认已成功并可正常运行等的标记信息也都完整并且正确,软件将完成启动的过程并正常的运行。如果程序发现操作系统的编号不正确,或者软件版权确认已成功并可正常运行等的标记信息不完整或不正确,软件程序将停止启动并退出运行。
如果所安装的软件是操作系统,还需要把这个计算机系统的机器特征码记录在操作系统的软件中。
为了防止以直接拷贝的方式安装和运行操作系统的软件,以及为了防止以直接拷贝的方式改变操作系统的编号,可以使用机器特征码的方式对操作系统的软件进行加密。这个机器特征码可以使用计算机系统的硬盘的硬盘分区表中的每台计算机特有的特征数据及硬盘的硬盘分区表的写入时间,或使用将这些数据进行一些计算处理后得到的数据。
这个机器特征码也可以使用给在每个计算机系统的硬件系统如CPU或计算机系统的主板上的装BIOS的ROM等中作编号的方式,可以在每个计算机系统的CPU中或装BIOS的ROM中的程序中增加一个查询CPU或ROM的编号的指令及不同的编号。可以在CPU的芯片中增加一个小型的可编程只读存储器PROM,用来存储该CPU芯片的编号,并设置一个防止对该PROM中的内容及该CPU的编号进行改写的安全位,在CPU芯片制作的最后,可将CPU的编号写入这个PROM中,并对安全位进行编程,以防止非授权者改变CPU的编号。这样就可使每个CPU或每个计算机主板及每个计算机系统的硬件系统都有自己的唯一的编号。在安装操作系统和作操作系统的版权确认成功后程序将在这套软件的某个或几个文件里作软件版权确认已成功并可正常运行的标记信息,并记录这个计算机系统的机器特征码,也可以将这些信息记录在新建的文件中。在每次启动和运行操作系统时,操作系统检查机器特征码是否正确,以检查是否换了一个计算机系统,如果机器特征码正确,并且其他的标记信息也都完整并且正确,操作系统将完成启动的过程并正常的运行,用户将可以正常的使用,如果机器特征码不正确,或者其他标记信息不完整或不正确,操作系统的程序将认为是换了一个计算机系统,操作系统将停止启动并退出运行。
非操作系统的其他软件也可以使用机器特征码的方式对其软件进行加密,其加密的方法与使用操作系统的编号对其软件进行加密的方法相类似。
当用户的计算机系统的软件系统遭到意外破坏,并且操作系统软件也受到破坏时,或用户更换了计算机系统的硬件,或用户更换了计算机系统时,或者由于其他原因用户需要重新安装操作系统时,用户可以使用注册码中尚未使用的校验码10进行上述软件的版权确认过程,版权确认成功后,将获得的反馈信息一一密匙数据D用于软件的重新安装。
一套软件的注册码,可以做多次版权确认,每个校验码10只能使用一次。

Claims (7)

1、一种批量生产的计算机软件的注册码防盗版加密方法,其特征在于:
计算机软件的注册码是多层组码结构1;
用户每一次安装计算机软件时,需要将注册码中的身份码9与一个校验码10及其校验码编号12以及程序安装时生成的随机数据C等至少4个参数,通过公众通讯系统反馈给厂家的计算机查询服务系统,进行用户合法身份的界定;如果用户合法身份的界定成功,查询服务系统将以上述4个参数中的全部或部分作为参数,通过一个算法AA计算出钥匙密码D,并通过公众通讯系统将用于继续程序安装的钥匙密码D反馈给用户;在用户的计算机中,也由用户输入与前述相同的身份码9、一个校验码10及其校验码编号12等3个参数中的全部或部分,以及钥匙密码D,软件将以上述3个参数中的全部或部分及软件安装时生成的随机数据C等至少4个参数作为参数,通过一个算法AB,计算出钥匙密码DA;安装程序比对钥匙密码DA与钥匙密码D是否相同或符合一个确定的关系,作为判断是否继续安装的依据,比对成功后,才能完成程序的安装。
2、如权利要求1所述的方法,其特征在于:多层组码结构1是一个身份码9与多个校验码10及其校验码编号12的组合。
3、如权利要求1所述的方法,其特征在于:通过算法AA计算获得的钥匙密码D是一个长串数字的一部分,而钥匙密码D只需要与用户程序通过算法AB计算出钥匙密码DA的头部、尾部或中间的几位数相同或符合约定的相关规律,即可验证成功。
4、如权利要求1所述的方法,其特征在于:在安装程序或计算机程序中的安装功能的代码中,增加对程序本身重要功能代码的检验代码;也就是在安装程序程序编制中,增加对已经生成为可以运行的机器码的关键程序段中的机器码进行备份或加密备份;在安装程序中增加一处或多处将加密备份(或备份)进行解密然后与程序中的相应的执行部分的代码进行对比的执行码。
5、如权利要求1所述的方法,其特征在于:安装程序可以在安装过程中生成恢复性安装的程序备份,备份保存在硬盘上,可以用于对程序系统中所有的或部分重要的、尤其是可执行程序的覆盖性更新。
6、如权利要求1所述的方法,其特征在于:软件在安装过程中,在计算机硬盘上增加一些参数标记,或在系统文件上,尤其是操作系统的系统文件的固定文件的固定位置上增加特殊字符标记;而没有所述的特殊标记,程序不能运行或不能正常运行。
7、如权利要求1所述的方法,其特征在于:所述的软件安装成功后,它采用以下方法来防止采用以直接拷贝的方式安装和运行软件:
如果是非操作系统软件,启动运行时,向操作系统询问操作系统的编号,并与安装过程中已经记录的操作系统的编号进行比较,或检查机器特征码与在安装过程中记录在软件中的机器特征码是否一致,如一致,则正常启动运行,如不一致,则中断操作;
如果是操作系统软件,在启动运行时,操作系统检查机器特征码是否与在安装过程中记录在操作系统软件中的机器特征码是否一致,如一致,则正常启动运行,如不一致,则中断操作。
CN 02101930 2002-01-14 2002-01-14 一种批量生产的计算机软件的注册码防盗版加密方法 Pending CN1369809A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02101930 CN1369809A (zh) 2002-01-14 2002-01-14 一种批量生产的计算机软件的注册码防盗版加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02101930 CN1369809A (zh) 2002-01-14 2002-01-14 一种批量生产的计算机软件的注册码防盗版加密方法

Publications (1)

Publication Number Publication Date
CN1369809A true CN1369809A (zh) 2002-09-18

Family

ID=4739625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02101930 Pending CN1369809A (zh) 2002-01-14 2002-01-14 一种批量生产的计算机软件的注册码防盗版加密方法

Country Status (1)

Country Link
CN (1) CN1369809A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100342296C (zh) * 2005-09-09 2007-10-10 深圳兆日技术有限公司 基于可信计算模块芯片实现计算机软件防盗版的方法
CN100396012C (zh) * 2006-02-23 2008-06-18 华为技术有限公司 基于设备管理协议的软件合法性验证系统及验证方法
US7395426B2 (en) 2003-05-07 2008-07-01 Samsung Electronics Co., Ltd. Method of authenticating content provider and assuring content integrity
CN100407087C (zh) * 2003-01-31 2008-07-30 微软公司 在多用户许可环境中制止软件盗版的系统与方法
CN100410831C (zh) * 2005-04-22 2008-08-13 联想(北京)有限公司 随机捆绑软件安装方法
CN102708310A (zh) * 2012-01-12 2012-10-03 苏州百正信息科技有限公司 一种批量生产的计算机软件的注册码防盗版加密方法
CN103457721A (zh) * 2013-06-26 2013-12-18 吉林省长久实业集团有限公司 一种批量生成密码的方法及装置
CN104572850A (zh) * 2014-12-17 2015-04-29 北京可思云海科技有限公司 一种注册号码的生成方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100407087C (zh) * 2003-01-31 2008-07-30 微软公司 在多用户许可环境中制止软件盗版的系统与方法
US7395426B2 (en) 2003-05-07 2008-07-01 Samsung Electronics Co., Ltd. Method of authenticating content provider and assuring content integrity
CN100410831C (zh) * 2005-04-22 2008-08-13 联想(北京)有限公司 随机捆绑软件安装方法
CN100342296C (zh) * 2005-09-09 2007-10-10 深圳兆日技术有限公司 基于可信计算模块芯片实现计算机软件防盗版的方法
CN100396012C (zh) * 2006-02-23 2008-06-18 华为技术有限公司 基于设备管理协议的软件合法性验证系统及验证方法
CN102708310A (zh) * 2012-01-12 2012-10-03 苏州百正信息科技有限公司 一种批量生产的计算机软件的注册码防盗版加密方法
CN103457721A (zh) * 2013-06-26 2013-12-18 吉林省长久实业集团有限公司 一种批量生成密码的方法及装置
CN103457721B (zh) * 2013-06-26 2016-08-24 吉林省长久实业集团有限公司 一种批量生成密码的方法及装置
CN104572850A (zh) * 2014-12-17 2015-04-29 北京可思云海科技有限公司 一种注册号码的生成方法
CN104572850B (zh) * 2014-12-17 2017-12-05 鞠秋萍 一种注册号码的生成方法

Similar Documents

Publication Publication Date Title
CN1276319C (zh) 一种保护电子装置的方法,保护系统及电子装置
EP1443381B1 (en) System and method for secure software activation with volume licenses
CN101689237B (zh) 激活系统体系结构
CN100342296C (zh) 基于可信计算模块芯片实现计算机软件防盗版的方法
US6411941B1 (en) Method of restricting software operation within a license limitation
US8683579B2 (en) Software activation using digital licenses
US20060106729A1 (en) Method and apparatus for restricting use of a computer program
US7134016B1 (en) Software system with a biometric dongle function
US9946848B2 (en) Software protection using an installation product having an entitlement file
CN102419804B (zh) 具有冗余安全性的可靠的软件产品验证和激活
US20010051928A1 (en) Protection of software by personalization, and an arrangement, method, and system therefor
CN101057218A (zh) 对隔离计算环境编程的系统和方法
US20060212649A1 (en) License table for software protection
CN1610886A (zh) 用于验证的系统和方法
CN1215489A (zh) 将命令安全装入一张智能卡中的办法
JPH10171648A (ja) アプリケーションを認証する装置
CN103220264A (zh) 提供数字签名以确保闪存编程功能的方法
KR19980081730A (ko) 정보처리장치 및 방법 및 기록매체
CN102708310A (zh) 一种批量生产的计算机软件的注册码防盗版加密方法
CN1516836A (zh) 软件安全认证信道
CN1369809A (zh) 一种批量生产的计算机软件的注册码防盗版加密方法
CN1333610A (zh) 验证用户的方法
US6978375B1 (en) System and method for secure authentication of external software modules provided by third parties
CN100410831C (zh) 随机捆绑软件安装方法
CN102117394A (zh) 检测是否已经复制了计算机文件的方法和装置以及能够进行这种检测的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication