CN103324871A - 一种软件万变链接设备、系统和方法 - Google Patents
一种软件万变链接设备、系统和方法 Download PDFInfo
- Publication number
- CN103324871A CN103324871A CN 201310191968 CN201310191968A CN103324871A CN 103324871 A CN103324871 A CN 103324871A CN 201310191968 CN201310191968 CN 201310191968 CN 201310191968 A CN201310191968 A CN 201310191968A CN 103324871 A CN103324871 A CN 103324871A
- Authority
- CN
- China
- Prior art keywords
- software
- code
- server
- client
- link
- 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
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000012545 processing Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000003860 storage Methods 0.000 claims description 2
- 238000012795 verification Methods 0.000 abstract description 9
- 238000007781 pre-processing Methods 0.000 abstract 1
- 239000012634 fragment Substances 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000005520 cutting process Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种软件万变链接下载设备、系统和方法,能对服务器上的指定软件数据进行处理,包括,预处理、替换与加密,并能够在服务器上进行软件链接重构;提供客户端下载,或者客户端仅下载分割、等效替换与加密后的软件片段,在客户端进行链接重构,生成具有唯一加密算法和解密算法尤其是合法性验证方式唯一的软件,这样,软件的注册码生成方式是唯一的;还能够将客户端计算机上的软件或硬件特征码作为加密参数,生成仅能在具有该特征码的计算机上执行的软件。
Description
技术领域
本发明涉及软件领域,尤其涉及利用服务器网络技术进行软件保护和防盗版技术。
背景技术
众所周知,硬件和软件一起构成了计算机系统,软件的基础是硬件,没有软件的硬件是无法很好的发挥作用的,软件技术的重要性是不言而喻的。软件技术随着硬件技术的高速发展而飞速发展。从产业化的角度讲,软件程序在新产品开发过程中的地位越来越重要,有大量公司专门以开发软件作为其主要业务。软件的保护和防盗版技术,方法和产品非常多,总体上分为硬件方式--如加密狗,软件方法--ID加注册码、软件序列号、互联网服务器认证等几种,这些保护方法有各自的特点,但在安全性和灵活性上均还存在一些问题。
一般地,许多的软件公司用软件方法来进行软件保护和防盗版,这通常在所编写的软件用指定的算法来验证用户所使用的软件是否合法,这种方法比较灵活,投入小。这样软件公司通常采用卖给用户注册码的方式来使用户的软件合法化和并为在注册码合法有效的情况下为用户提供完整的软件预置服务。然而,有矛就有盾,现在,同样也有大量的个人或有组织的机构正对这种使用注册码方式验证软件合法性的作法进行破解,他们分析软件中的注册码验证方式,分析其算法,从而制作出针对该软件的注册机,专门用于注册这种软件,用户可以使用这种注册机来生成可通过该软件验证的注册码,从而避免了向软件销售公司支付费用才能获得注册码的这个过程,这大大的影响了软件公司的收益,也影响了软件产业的有序发展。软件公司通常对此难有作为,仅在新版本中用另一种注册码验证方法来验证用户的合法性,而这往往并不能维持很长时间,不太长的时间过后,新的注册机或破解方法又会出现,于是现在软件公司已经趋向于采用硬件方式来保护自己的软件,捍卫自己的利益,可这种方式硬件成本也比较大,用户接收程度还比较低。
在发明者看来随着科学技术整体的进步,尤其是服务器处理能力的极大提高和网络速度的极大提高,仅用软件方法来加强保护软件的能够很好的做到对软件的保护和防盗版,不但灵活,而且高效。
发明内容
为解决上述问题,本发明提供一种软件万变链接下载客户端,包含:
软件下载模块,用于向服务器请求下载指定软件数据,并根据服务器提供的地址和索引下载该软件数据;所述软件数据包含源代码、源代码编译后的中间码、中间码和必要资源链接后的可执行代码,和对软件整体时行加密加壳后的新的软件。
所述一种软件万变链接下载客户端还包含特征码上传模块,用于向服务器上传特征码,所述特征码是指本地计算机上区别于其它计算机的软件和/或硬件数据与代码。
所述一种软件万变链接下载客户端还包含软件重构模块,用于对客户端所下载软件数据按指定算法进行编译和/或链接重构,生成可执行软件;
为解决上述问题,本发明还提供一种软件万变链接下载服务器,包含:
软件处理模块,用于存储软件,对软件进行预处理,所述对软件进行预处理,如果软件以源代码形式存在时,包括标示源代码可替换部分,将源代码编译成中间码,如果软件以可执行代码形式存在时,将可执行代码反编译成中间码或反汇编成汇编码;还用于对软件进行加密,如果软件在服务器上以可执行代码形式存在时,且要求以整体形式加密时,对软件进行整体加密加壳并生成新的软件,如果软件的可执行代码已经在预处理时被反编译或反汇编,则对反编译后中间码或反汇编后的汇编码进行替换或加密替换,如果软件以源代码的形式存在,则对源代码中标示的可替换部分进行替换或加密替换,如果源代码已经编译成中间码,则对中间码进行替换或加密替换;
下载处理模块,用于根据配置或根据客户端的请求将软件数据提供给客户端下载,所述软件数据包含已经过服务器对软件加密加壳后的新软件,或已经过服务器替换或加密替换且编译链接重构的可执行软件,或未经服务器编译的源代码、未作链接处理的中间码和/或汇编码,如果客户端所下载的软件数据为未编译与链接重构的源代码和/或中间码汇编码,则提供客户端链接重构中间码和/或汇编码为可执行代码的方法。
所述对软件进行加密加壳,或替换与加密替换软件的源代码、中间码、反汇编码,还包括根据客户端提供的特征码作为参数来加密软件或软件数据,使链接重构后的软件仅供具有该特征码的计算机使用。
本发明还提供一种软件万变链接下载系统,包含:
客户端,用于向服务器请求下载软件数据,并根据服务器提供的地址和索引下载该软件数据;还用于根据服务器提供的重构方法,对所下载的软件数据进行编译链接重构;
服务器,用于存储软件,对软件进行预处理,所述对软件进行预处理,包括将标示源代码可替换部分,将源代码编译成中间码,或将可执行代码反编译成中间码或反汇编成汇编码;还用于对软件进行加密,对或软件数据进行替换或加密替换,包括将源代码中可替换的部分进行替换或加密替换,将汇编码或中间码进行替换或加密替换;还用于根据配置或根据客户端的请求将软件数据提供给客户端下载,所述软件数据包含已经过服务器对软件加密加壳后的新软件,或已经过服务器替换或加密替换且编译链接重构的可执行软件,或未经服务器编译链接重构的源代码和/或中间码与汇编码;将未经服务器编译链接重构的源代码和/或中间码与汇编码提供给客户端用于下载时,还能够提供客户端链接重构中间码和/或汇编码为可执行代码的方法;
本发明还提供一种软件万变链接下载方法,本方法包含如下步骤:
步骤1、服务器对存储的软件进行预处理,所述对软件进行预处理,包括将标示源代码可替换部分,将源代码编译成中间码,或将可执行代码反编译成中间码或反汇编成汇编码;
步骤2、服务器根据客户端的下载请求,处理软件数据,如果客户端请求下载的软件数据以可执行软件整体存在于服务器时,服务器对软件整体进行加密加壳,将加密加壳后的软件提供给客户端下载,在对软件整体进行加密加壳后,新的软件整体具有唯一的合法性验证方法;
如果请求下载的软件数据以源代码形式存在于服务器时,则服务器对源代码进行替换或加密替换,使源代码能够在编译链接后生成具有唯一的合法性验证方法的可执行代码,并编译源代码与链接成可执行代码,将可执行代码提供给客户端下载,或者将源代码编译后的中间码提供给客户端下载,并提供中间码链接重构生成可执行代码的方法;
或者服务器不对源代码进行替换与加密替换,而在源代码编译成中间码后,对中间码进行替换或加密替换,使中间码在链接重构后能够生成具有唯一的合法性验证方法的可执行代码,并链接重构中间码为可执行代码,将可执行代码提供给客户端下载,或者将中间码提供给客户端下载,并提供中间码链接重构生成可执行代码的方法;
如果客户端请求下载的软件数据以可执行代码的形式存在于服务器时,服务器已经在预处理时将可执行代码反编译成中间码或反汇编成汇编码,则服务器替换或加密替换中间码或反汇编码,使其能够在链接后生成具有唯一的合法性验证方法的可执行代码,然后将处理后的中间码或反汇编码进行链接重构生成可执行代码供客户端下载,或者直接将经过替换或加密替换的中间码或反汇编码提供给客户端下载,并提供中间码或反汇编码链接重构生成可执行代码的方法;
如果客户端请求下载的软件数据以源代码编译后的中间码和/或可执行代码反编译与反汇编后的中间码与汇编码的形式存在于服务器,则服务器替换或加密替换中间码与反汇编码,使其能够在链接后生成具有唯一的合法性验证方法的可执行代码,然后将处理后的中间码或反汇编码进行链接重构生成可执行代码供客户端下载,或者直接将经过替换或加密替换的中间码或反汇编码提供给客户端下载,并提供中间码或反汇编码链接重构生成可执行代码的方法;
步骤3、客户端下载服务器上的软件数据。
所述在服务器对软件进行预处理之前,还包括服务器接收客户端上传的软件和/或硬件特征码,服务器使用所述特征码作为参数对软件数据进行加密,使软件数据编译链接重构后能够生成仅限于具有该特征码的计算机使用的软件。
本发明所提供的一种软件万变链接下载设备,包含客户端和服务器,能够为同一种软件针对不同的下载客户端生成软件功能一样,但软件内部构造方式尤其是使用权限验证方式不一样的软件,尤其是具有不一样的注册码验证方法的软件,使软件破解者能够带来的破解效果大打折扣,因而能够在一定程度上防止和减少软件破解所给软件企业带来的损失。
本发明所提供的一种软件万变链接下载系统,能够为同一种软件针对不同的下载客户端生成软件功能一样,但软件内部构造方式尤其是使用权限验证方式不一样的软件,尤其是具有不一样的注册码验证方法的软件,使软件破解者能够带来的破解效果大打折扣,因而能够在一定程度上防止和减少软件破解所给软件企业带来的损失。
本发明所提供的一种软件万变链接下载方法,能够为同一种软件针对不同的下载客户端生成软件功能一样,但软件内部构造方式尤其是使用权限验证方式不一样的软件,尤其是具有不一样的注册码验证方法的软件,使软件破解者能够带来的破解效果大打折扣,因而能够在一定程度上防止和减少软件破解所给软件企业带来的损失。
附图说明
图1.是本发明所述的软件万变链接系统结构图。
图2.是本发明所述的软件万变链接系统详细结构图。
图3.是本发明所述的软件万变链接方法中服务器对软件加密并重构的流程图。
图4.是本发明所述的软件万变链接方法中服务器对软件进行加密客户端对软件进行重构的流程图。
具体实施方式
实施例一:
在本发明的优选实施例一中,客户端向服务器请求下载软件,服务器根据客户端的请求生成具有唯一加密算法和解密方法的软件,供客户端下载。
参照图1,本实施例中的系统包括客户端101,服务器102。
客户端101能够通过软件下载模块103向服务器102请求下载某个软件数据,这里所述的软件还包括具有执行验证代码的音频、视频、动画等数据。
服务器102的软件处理模块104对软件进行预处理,包括将软件源代码进行替换或加密替换,或将源代码编译成中间码后对中间码进行替换或加密替换,服务器102在接收到客户端101的请求后,服务器102的软件处理模块104根据客户端的请求生成具有唯一加密算法和解密方法的软件,服务器102的下载处理模块105将按客户端的要求下传给客户端101的软件下载模块103。
用户在使用软件时,必须按指定解密方法才能使用,通常指定解决方法一般就是指向软件输入指定的注册码。
使用这种方法,可以在一定程度上防止软件的注册码被破解,任何一份的软件的注册机制被破解之后,也不影响到其它用户注册使用,因为其它用户使用的加密验证方法不一样。
实施例二:
在本发明的优选实施例二中,客户端将上传客户端的软件和/或硬件特征码到服务器,服务器上存放的软件为可执行代码时,服务器将按指定算法对软件进行分割,生成中间码,然后将特征码作为参数对软件数据片段按指定算法进行加密,之后再在服务器将所有已经加密的软件数据片段进行重构,生成仅能在该具有该特征码的计算机上执行的软件。
参照图2,本实施例中的系统包括客户端201,服务器202。
客户端201的特征码上传模块上传客户端201的软件和/或硬件的特征代码给服务器202的软件处理模块206,这里的特征码是具有基础功能的软件集合中所预置的具有相对唯一性的数据或代码,或者是硬件中的硬件ID编号,诸如CPU的CPUID,硬盘的序列号,网卡的MAC地址等;软件处理模块206对软件进行预处理,将软件按照指定算法进行分割,分割成软件数据片段,当客户端201的特征码上传模块203上传了特征码之后,服务器202的软件处理模块将特征码作为加密的参数对软件数据片段按指定算法进行加密。
当服务器202的下载处理模块207接收到客户端201的软件下载模块204的下载请求后,如果客户端201要求在服务器端202进行软件链接重构,或者服务器202仅允许软件在服务器上对软件进行链接重构,则服务器202的软件处理模块206对软件进行链接重构,交由下载处理模块207按要求下传给客户端201的软件下载模块204,软件下载完成后就可以按照指定的解密方法对软件进行解密使用;如果服务器202允许在客户端201上进行软件链接重构,或者客户端请求在客户端上进行软件链接重构,则软件服务器202上的软件处理模块206在对软件数据片段进行加密后,不执行链接重构处理,直接将合适数量的软件数据片段的地址和索引交由下载处理模块207下传给客户端201,并同时下传一份重构办法和序列表给客户端201,客户端201在接收完所有的软件数据片段和重构办法及重构序列表后,由软件重构模块205对软件按重构办法来对软件进行链接重构,完成后就可以按照指定的解密方法对软件进行解密使用。
本实施例所示的软件万变链接系统,不但能够生成具有唯一的指定的客户端使用的软件,还同时能够降低对服务器的数据处理压力,更具好的效益。
实施例三:
在本实施例中,服务器对软件进行处理,包括解构、加密、重构,客户端仅具有下载功能。
参照图3,
步骤301,服务器对存储于服务器上的软件进行预处理,如果软件为源代码形式,预处理包含将软件源代码进行编译,生成中间码,这里的中间码也是功能子程序片段;如果软件为编译并将所有资源都链接后的可执行代码,预处理包括对软件进行解构,分离分割出软件中的数据部分和代码部分和其它资源部分,并建立索引,分离出代码部分后,还能够再一次对代码部分进行分割,分割成具有一定功能的小的子程序片段,这个分割深度和大小根据指定算法来定,分割之后,同样建立子程序代码索引。
步骤302,服务器根据客户端的请求来按指定算法对步骤301中软件的代码中的功能子程序片段进行诸如相同功能替换、相同功能且加密并替换等处理;最后在宏观上,所生成的软件数据片段要能够在软件重构后具有唯一或相对唯一的加密算法和解密方法;之后,对软件进行链接重构。
步骤303,在步骤302中,软件链接重构成功之后,就由客户端的下载模块来下载该重构好的软件。
实施例四:
在本实施例中,服务器对软件进行处理、解构、加密,但重构是在客户端进行的。
参照图4,
步骤401,客户端向服务器上传特征码,这里的特征码是具有基础功能的软件集合中所预置的具有相对唯一性的数据或代码,或者是硬件中的硬件ID编号,诸如CPU的CPUID,硬盘的序列号,网卡的MAC地址等。
步骤402,服务器对存储于服务器上的软件进行预处理,如果软件为源代码形式,预处理包含将软件源代码进行编译,生成中间码,这里的中间码也是功能子程序片段;如果软件为编译并将所有资源都链接后的可执行代码,预处理包括对软件进行解构,分离分割出软件中的数据部分和代码部分,并建立索引,分离出代码部分后,再一次对代码部分进行分割,分割成具有一定功能的小的子程序片段,这个分割深度和大小根据指定算法来定,分割之后,同样建立子程序代码索引。
步骤403,服务器按根据客户端的请求按指定算法对步骤402中的软件代码中的功能子程序片段进行诸如相同功能、相同功能且加密并替换;最后在宏观上,所生成的软件数据片段要能够重构生成具有唯一加密算法和唯一解密方法的软件。
步骤404,客户端下载服务器上的软件数据片段,在这个步骤里,客户端能够直接从服务器上下载软件数据片段,同时,在有些时候,根据某个算法,客户端还能够从其它服务器或者已经下载了该程序片段的客户端上下载同样的程序片段,以此来减轻服务器的压力。
步骤405,客户端对软件数据片段按指定算法对其进行重构,生成仅供该客户端使用的软件,在这之后,客户端就能够按照由软件企业提供的解密方法来对软件进行解密,一般地,软件企业向用户提供注册码,用户正确地使用注册码来注册软件,然后就可以正常的使用软件了。
本发明所提供的实施例能够在客户端向服务器请求下载软件时,为客户端提供具有唯一或相对唯一的加密算法和唯一或相对唯一解密算法的软件,使每个客户端所下载得到的软件具有客户端功能一样但软件内部构造不一样的软件,这尤其使得软件破解者在可能破解某一份软件副本之后,并不能以此来编写能够注册该软件所有副本的注册机,从而提高了软件的保护能力,能够很好的从技术上维护软件企业的合法利益,具有操作方便,适用性广的特点。
本发明所公开的一种软件万变链接下载设备、系统和方法,其中所述的“软件”,包含软件的源代码、源代码编译后的中间码和将源代码编译并链接后的可执行代码。
显然,本领域的技术人员可以对本发明进行各种改动和变形而不脱离本发明的精神和范围。
这样,倘若对发明的这些修改和变形属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变形在内。
Claims (8)
1.一种软件万变链接下载客户端,其特征在于,包含软件下载模块,用于向服务器请求下载指定软件数据,并根据服务器提供的地址和索引下载该软件数据;所述软件数据包含源代码、源代码编译后的中间码、中间码与必要资源链接后的可执行代码,和对软件整体时行加密加壳后的新的软件。
2.根据权利要求1所述的一种软件万变链接下载客户端,其特征在于,还包括特征码上传模块,用于向服务器上传特征码,所述特征码是指本地计算机上区别于其它计算机的软件和/或硬件数据和/或代码。
3.根据权利要求1所述的一种软件万变链接下载客户端,其特征在于,还包括软件重构模块,用于对所述客户端所下载的软件数据按照指定算法进行编译和/或链接重构,生成可执行软件。
4.一种软件万变链接下载服务器,其特征在于包含:
软件处理模块,用于存储软件,对软件进行预处理,所述对软件进行预处理,如果软件以源代码形式存在时,包括标示源代码可替换部分,将源代码编译成中间码,如果软件以可执行代码形式存在时,将可执行代码反编译成中间码或反汇编成汇编码;还用于对软件进行加密,如果软件在服务器上以可执行代码形式存在时,且要求以整体形式加密时,对软件进行整体加密加壳并生成新的软件,如果软件的可执行代码已经在预处理时被反编译或反汇编,则对反编译后中间码或反汇编后的汇编码进行替换或加密替换,如果软件以源代码的形式存在,则对源代码中标示的可替换部分进行替换或加密替换,如果源代码已经编译成中间码,则对中间码进行替换或加密替换;
下载处理模块,用于根据配置或根据客户端的请求将软件数据提供给客户端下载,所述软件数据包含已经过服务器对软件加密加壳后的新软件,或已经过服务器替换或加密替换且编译链接重构的可执行软件,或未经服务器编译的源代码、未作链接处理的中间码和/或汇编码,如果客户端所下载的软件数据为未编译与链接重构的源代码和/或中间码汇编码,则提供客户端链接重构中间码和/或汇编码为可执行代码的方法。
5.根据权利要求4所述的一种软件万变链接下载服务器,其特征在于,其中所述对软件进行加密加壳,或替换与加密替换软件的源代码、中间码、反汇编码,还包括根据客户端提供的特征码作为参数来加密软件或软件数据,使链接重构后的软件仅供具有该特征码的计算机使用。
6.一种软件万变链接下载系统,其特征在于包含:
客户端,用于向服务器递交特征码、请求下载软件数据,并根据服务器提供的地址和索引下载该软件数据;还用于根据服务器提供的重构方法,对所下载的软件数据进行编译链接重构;
服务器,用于存储软件,对软件进行预处理,所述对软件进行预处理,包括将标示源代码可替换部分,将源代码编译成中间码,或将可执行代码反编译成中间码或反汇编成汇编码;还用于对软件进行加密,对或软件数据进行替换或加密替换,包括将源代码中可替换的部分进行替换或加密替换,将汇编码或中间码进行替换或加密替换;还用于根据配置或根据客户端的请求将软件数据提供给客户端下载,所述软件数据包含已经过服务器对软件加密加壳后的新软件,或已经过服务器替换或加密替换且编译链接重构的可执行软件,或未经服务器编译链接重构的源代码和/或中间码与汇编码;将未经服务器编译链接重构的源代码和/或中间码与汇编码提供给客户端用于下载时,还能够提供客户端链接重构中间码和/或汇编码为可执行代码的方法。
7.一种软件万变链接下载方法,其特征在于,本方法包含如下步骤:
步骤1、服务器对存储的软件进行预处理,所述对软件进行预处理,包括将标示源代码可替换部分,将源代码编译成中间码,或将可执行代码反编译成中间码或反汇编成汇编码;
步骤2、服务器根据客户端的下载请求,处理软件数据,如果客户端请求下载的软件数据以可执行软件整体存在于服务器时,服务器对软件整体进行加密加壳,将加密加壳后的软件提供给客户端下载,在对软件整体进行加密加壳后,新的软件整体具有唯一的合法性验证方法;
如果请求下载的软件数据以源代码形式存在于服务器时,则服务器对源代码进行替换或加密替换,使源代码能够在编译链接后生成具有唯一的合法性验证方法的可执行代码,并编译源代码与链接成可执行代码,将可执行代码提供给客户端下载,或者将源代码编译后的中间码提供给客户端下载,并提供中间码链接重构生成可执行代码的方法;
或者服务器不对源代码进行替换与加密替换,而在源代码编译成中间码后,对中间码进行替换或加密替换,使中间码在链接重构后能够生成具有唯一的合法性验证方法的可执行代码,并链接重构中间码为可执行代码,将可执行代码提供给客户端下载,或者将中间码提供给客户端下载,并提供中间码链接重构生成可执行代码的方法;
如果客户端请求下载的软件数据以可执行代码的形式存在于服务器时,服务器已经在预处理时将可执行代码反编译成中间码或反汇编成汇编码,则服务器替换或加密替换中间码或反汇编码,使其能够在链接后生成具有唯一的合法性验证方法的可执行代码,然后将处理后的中间码或反汇编码进行链接重构生成可执行代码供客户端下载,或者直接将经过替换或加密替换的中间码或反汇编码提供给客户端下载,并提供中间码或反汇编码链接重构生成可执行代码的方法;
如果客户端请求下载的软件数据以源代码编译后的中间码和/或可执行代码反编译与反汇编后的中间码与汇编码的形式存在于服务器,则服务器替换或加密替换中间码与反汇编码,使其能够在链接后生成具有唯一的合法性验证方法的可执行代码,然后将处理后的中间码或反汇编码进行链接重构生成可执行代码供客户端下载,或者直接将经过替换或加密替换的中间码或反汇编码提供给客户端下载,并提供中间码或反汇编码链接重构生成可执行代码的方法;
步骤3、客户端下载服务器上的软件数据。
8.根据权利要求7所述的一种软件万变链接下载方法,其特征在于,所述在服务器对软件进行预处理之前,还包括服务器接收客户端上传的软件和/或硬件特征码,服务器使用所述特征码作为参数对软件数据进行加密,使软件数据编译链接重构后能够生成仅限于具有该特征码的计算机使用的软件。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201310191968 CN103324871A (zh) | 2013-05-23 | 2013-05-23 | 一种软件万变链接设备、系统和方法 |
PCT/CN2014/078164 WO2014187345A1 (zh) | 2013-05-23 | 2014-05-22 | 一种软件万变链接设备、系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201310191968 CN103324871A (zh) | 2013-05-23 | 2013-05-23 | 一种软件万变链接设备、系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103324871A true CN103324871A (zh) | 2013-09-25 |
Family
ID=49193610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201310191968 Pending CN103324871A (zh) | 2013-05-23 | 2013-05-23 | 一种软件万变链接设备、系统和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103324871A (zh) |
WO (1) | WO2014187345A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014187345A1 (zh) * | 2013-05-23 | 2014-11-27 | Dong Limay | 一种软件万变链接设备、系统和方法 |
CN104683371A (zh) * | 2013-11-26 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 一种处理文件的方法及装置 |
CN105760758A (zh) * | 2015-01-05 | 2016-07-13 | 润钜股份有限公司 | 静态检测应用程序的检测系统及方法、及计算机程序产品 |
CN112597449A (zh) * | 2020-12-21 | 2021-04-02 | 苏州三六零智能安全科技有限公司 | 软件加密方法、装置、设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111079097A (zh) * | 2018-10-22 | 2020-04-28 | 张维加 | 一种基于网络的编程开发系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NO302388B1 (no) * | 1995-07-13 | 1998-02-23 | Sigurd Sigbjoernsen | Fremgangsmåte og anordning for å beskytte programvare mot bruk uten tillatelse |
CN1960363B (zh) * | 2006-09-12 | 2011-01-19 | 北京飞天诚信科技有限公司 | 一种利用网络实现信息安全设备远程更新的方法 |
CN103324871A (zh) * | 2013-05-23 | 2013-09-25 | 董礼貌 | 一种软件万变链接设备、系统和方法 |
-
2013
- 2013-05-23 CN CN 201310191968 patent/CN103324871A/zh active Pending
-
2014
- 2014-05-22 WO PCT/CN2014/078164 patent/WO2014187345A1/zh active Application Filing
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014187345A1 (zh) * | 2013-05-23 | 2014-11-27 | Dong Limay | 一种软件万变链接设备、系统和方法 |
CN104683371A (zh) * | 2013-11-26 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 一种处理文件的方法及装置 |
WO2015078252A1 (en) * | 2013-11-26 | 2015-06-04 | Tencent Technology (Shenzhen) Company Limited | Method and device for processing a file |
CN105760758A (zh) * | 2015-01-05 | 2016-07-13 | 润钜股份有限公司 | 静态检测应用程序的检测系统及方法、及计算机程序产品 |
CN112597449A (zh) * | 2020-12-21 | 2021-04-02 | 苏州三六零智能安全科技有限公司 | 软件加密方法、装置、设备及存储介质 |
CN112597449B (zh) * | 2020-12-21 | 2022-11-04 | 苏州三六零智能安全科技有限公司 | 软件加密方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2014187345A1 (zh) | 2014-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210349712A1 (en) | Secure application distribution systems and methods | |
CN104932902B (zh) | 一种生成apk文件的方法及终端 | |
CN104318135B (zh) | 一种基于可信执行环境的Java代码安全动态载入方法 | |
CN110138716A (zh) | 一种密钥的提供、视频播放方法、服务器及客户端 | |
JP5866460B2 (ja) | ファイルをパックする/アンパックするための方法および装置 | |
CN103324871A (zh) | 一种软件万变链接设备、系统和方法 | |
KR101284676B1 (ko) | 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지시스템 및 그 방법 | |
JP2013059078A (ja) | マルチメディア・データの保護 | |
JP2009501470A5 (zh) | ||
CN105468940B (zh) | 软件保护方法及装置 | |
CN102236757A (zh) | 一种适用于Android系统的软件保护方法及系统 | |
KR20120072011A (ko) | 무결성 검증이 가능한 데이터 암호장치, 복호장치 및 방법 | |
CN108898008B (zh) | 应用程序的运行方法和装置 | |
US20150121073A1 (en) | Software fingerprinting | |
JP2023549929A (ja) | 準同型暗号化データの安全な再暗号化 | |
CN114547558B (zh) | 授权方法、授权控制方法及装置、设备和介质 | |
CN105049941A (zh) | 一种多媒体文件的处理方法及装置 | |
CN103853943A (zh) | 程序保护方法及装置 | |
CN105357003A (zh) | 一种加密数据的方法及装置 | |
CN102833077A (zh) | 金融ic及金融社保ic卡远程发卡数据传输加解密方法 | |
KR20080046515A (ko) | 콘텐츠 파일의 암호화 및 복호화 방법 | |
CN105471810A (zh) | 软件授权信息的验证方法及系统 | |
EP2286610B1 (en) | Techniques for peforming symmetric cryptography | |
CN102694648A (zh) | 信息处理设备、信息处理方法和程序 | |
CN105022651B (zh) | 一种设备生产过程中的防盗版方法及固件烧写装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130925 |
|
WD01 | Invention patent application deemed withdrawn after publication |