CN101038611A - 一种软件保护的方法 - Google Patents

一种软件保护的方法 Download PDF

Info

Publication number
CN101038611A
CN101038611A CNA2006100648236A CN200610064823A CN101038611A CN 101038611 A CN101038611 A CN 101038611A CN A2006100648236 A CNA2006100648236 A CN A2006100648236A CN 200610064823 A CN200610064823 A CN 200610064823A CN 101038611 A CN101038611 A CN 101038611A
Authority
CN
China
Prior art keywords
code
encryption lock
transplanted
processor
software
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.)
Granted
Application number
CNA2006100648236A
Other languages
English (en)
Other versions
CN100452070C (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
SHENSILUOKE DATA PROTECTION CENTER BEIJING
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 SHENSILUOKE DATA PROTECTION CENTER BEIJING filed Critical SHENSILUOKE DATA PROTECTION CENTER BEIJING
Priority to CNB2006100648236A priority Critical patent/CN100452070C/zh
Publication of CN101038611A publication Critical patent/CN101038611A/zh
Application granted granted Critical
Publication of CN100452070C publication Critical patent/CN100452070C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种软件保护的方法,将被保护软件的部分代码编译成加密锁处理器可以识别的形式后移植到加密锁中,在目标平台上运行被保护软件时,该方法包括:A.在需要执行被移植代码时,触发加密锁执行被移植代码;B.加密锁处理器执行被移植代码,并将被移植代码的执行结果返回给目标平台。采用本发明所提供的技术方案,被移植代码是以能够被加密锁的处理器识别的形式存储在加密锁的存储区中的,在运行时直接运行在加密锁的处理器上,这样就大大提高了加密锁执行被移植的软件代码的速度,从而使得可以将更多的软件代码移植到加密锁中,进而加大了加密锁对软件的保护力度。

Description

一种软件保护的方法
技术领域
本发明涉及软件保护技术,特别是涉及一种利用软件加密锁对软件进行保护的方法。
背景技术
在与硬件结合的软件保护技术中,为了提高软件保护的力度,可以将要保护软件的关键代码移植到独立于软件目标平台的加密锁中。所谓加密锁,是一种有一定处理能力的硬件系统,可以和软件目标平台通过接口相连。软件在目标平台上运行的过程中,需要执行关键代码时,由目标平台向加密锁发送调用参数,加密锁根据调用参数,在加密锁内部执行关键代码进行处理,然后将处理结果返回给目标平台。这样,必须同时拥有正确的加密锁硬件,才能在目标平台上运行软件,从而实现了对软件的保护。
现有技术在实现这种保护方案的时候,通常采用虚拟机机制。虚拟机机制为移植到加密锁中的软件代码提供一个虚拟的标准化的平台,这个平台就是虚拟机,虚拟机还负责加密锁内部资源的调度。采用虚拟机机制,可以从代码角度保证被保护软件的关键代码的安全性。也就是说,被移植到加密锁中的被保护软件的关键代码,是无法通过编写特定的代码从加密锁中读出的。但是,在虚拟机机制下,移植到加密锁中的软件代码在执行的时候,需要先由虚拟机转化成加密锁的处理器能够识别的形式,然后再由加密锁的处理器执行,这样就会降低加密锁的处理速度。相对于目标平台而言,加密锁的处理能力本来就很弱;虚拟机机制的采用,更使得在不对软件的运行速度造成太大影响的前提下,只能将少量的软件代码移植到加密锁中。而从软件保护的角度来说,移植到加密锁中的代码越多,保护的力度才越大。
因此,现有技术的缺点是,虚拟机机制的采用,限制了加密锁处理软件代码的速度,限制了所能移植到加密锁中的软件代码量,从而导致加密锁对软件的保护力度不能进一步提高;而如果不采用虚拟机机制,又无法保证移植到加密锁中的软件代码的安全性。
发明内容
有鉴于此,本发明的主要目的在于提供一种软件保护的方法,以在保证移植到加密锁中的软件代码的安全性的前提下,提高在加密锁中运行软件代码的速度,使得可以将更多的代码移植到加密锁中运行,从而进一步提高软件保护的力度。
为了达到上述目的,本发明提供了一种软件保护的方法,将被保护软件的部分代码编译成加密锁处理器可以识别的形式后移植到加密锁中,在目标平台上运行被保护软件时,该方法包括:
A、在需要执行被移植代码时,触发加密锁执行被移植代码;
B、加密锁处理器执行被移植代码,并将被移植代码的执行结果返回给目标平台。
其中,将加密锁的存储区分为系统存储区和用户存储区,在所述将被保护软件的部分代码编译成加密锁处理器可以识别的形式后移植到加密锁之前,该方法进一步包括:
将负责加密锁内部资源调度的系统代码存储在系统存储区,并且运行系统代码;
所述将被保护软件的部分代码编译成加密锁处理器可以识别的形式后移植到加密锁中为:
将被保护软件的部分代码编译成加密锁处理器可以识别的形式后,移植到加密锁中的用户存储区;
在目标平台上运行被保护软件时,在步骤A之前,该方法进一步包括:
运行系统代码。
其中,步骤A所述触发加密锁执行被移植代码为:
目标平台向加密锁发出执行被移植代码的指令,并且给出执行被移植代码所需要的参数。
其中,步骤B在所述加密锁处理器执行被移植代码之前进一步包括:
B11、系统代码计算出用户代码所在的存储地址;
B12、系统代码中断自身的运行,并跳转到用户代码所在的存储地址;
步骤B在所述加密锁处理器执行被移植代码,和将被移植代码的执行结果返回给目标平台之间进一步包括:
B13、用户代码向系统代码返回运行结果,并且结束自身的运行。
其中,在加密锁内部设置虚拟存储区,步骤B在所述触发加密锁处理器执行被移植代码包括:
B21、系统代码计算出用户代码所在的存储地址;
B22、将用户代码所在的存储地址映射到虚拟存储区;
B23、系统代码中断自身的运行,并跳转到虚拟存储区;
步骤B在所述加密锁处理器执行被移植代码,和将被移植代码的执行结果返回给目标平台之间进一步包括:
B24、用户代码向系统代码返回运行结果,并且结束自身的运行。
其中,在加密锁处理器执行被移植代码之前,该方法进一步包括:
加密锁处理器确定将要执行的代码位于用户存储区,将加密锁的部分资源设置为不能被将要执行的代码访问;
在加密锁处理器执行被移植代码之后,该方法进一步包括:
加密锁处理器确定将要执行的代码位于系统存储区,将设置为不可访问的资源恢复为可以被将要执行的代码访问。
其中,在加密锁处理器执行被移植代码之前,该方法进一步包括:
系统代码设置加密锁的部分资源不能被将要执行的代码访问;
在加密锁处理器执行被移植代码之后,该方法进一步包括:
系统代码将被设置为不可访问的资源恢复为可以被将要执行的代码访问。
其中,为加密锁处理器设置用以指示处理器运行在系统模式还是用户模式的标志位,在加密锁处理器执行被移植代码之前,该方法进一步包括:
系统代码修改加密锁处理器的标志位为用户模式;
在加密锁处理器执行被移植代码之后,该方法进一步包括:
系统代码修改加密锁处理器的标志位为系统模式。
采用本发明所提供的技术方案,将运行在加密锁中的代码分为两部分,一部分作为系统级代码,负责加密锁的初始化以及加密锁内部资源的调度;另一部分作为用户级代码,负责对外提供服务,也就是被移植到加密锁中的要保护软件的关键代码。系统级代码是固化在加密锁中的,而由用户下载的代码只能作为用户级代码运行。系统级代码可以根据安全需要,限制用户级代码所能访问的资源,例如,令某个用户级代码段不能访问系统存储区和其他用户级代码段所在的用户存储区。这样就可以防止通过让加密锁执行特定用户代码的方式,来读出移植到加密锁中的软件代码,从而保证了安全性。而无论是系统级代码还是用户级代码,都是以能够被加密锁的处理器识别的形式存储在加密锁的存储区中的,在运行时直接运行在加密锁的处理器上,而无需经过虚拟机的转换。这样就大大提高了加密锁执行被移植的软件代码的速度,从而使得可以将更多的软件代码移植到加密锁中,进而加大了加密锁对于软件的保护力度。
附图说明
图1是本发明提供的软件保护方法中下载代码时的流程图;
图2是本发明提供的软件保护方法中使用软件时实施例一的流程图;
图3是本发明提供的软件保护方法中使用软件时实施例二的流程图。
具体实施方式
本发明的核心思想在于:将运行在加密锁内部的代码分为系统级和用户级两部分,负责加密锁的初始化以及加密锁内部资源的调度的代码运行在系统级;移植到加密锁中的要保护软件代码运行在用户级。无论是系统级代码还是用户级代码都直接运行在加密锁的处理器上。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
请参考图1,图1是本发明提供的软件保护方法中下载代码的流程图,在下载代码时本方法包括:
步骤101:将加密锁的代码存储器划分为系统存储区和用户存储区。
这里所说的系统存储区和用户存储区,可以是位于不同的物理存储器上,也可以是位于同一个物理存储器的不同存储区。
步骤102:将系统代码存储在系统存储区。
将加密锁内的代码分为系统代码和用户代码的目的在于增强加密锁的安全性。系统代码可以自由访问加密锁内部的所有硬件资源,而用户代码只能访问系统代码允许其访问的资源。
步骤103:运行系统代码。
在系统代码启动以后,就由系统代码负责加密锁与外界的通信,以及加密锁内部资源的调度。
步骤104:将希望移植到加密锁中的软件代码编译成加密锁的处理器可以识别的形式。
由于软件代码是为目标平台开发的,因此被编译成了目标平台的处理器可以识别的形式。为了将软件代码移植到加密锁中,并且可以直接运行在加密锁的处理器上,就需要将待移植的软件代码重新编译成加密锁的处理器可以识别的形式。
步骤105:将步骤104中得到的编译后的代码下载到用户存储区中的指定位置。
存储步骤104中所得到的用户代码的位置可以是由系统代码根据实际情况指定的,也可以是由用户指定的。无论对于哪种情况,所指定的位置都必须是在步骤101所划分的用户存储区内。
所下载的用户代码通常可以完成相对完整的功能,因此可以被看作是一个函数。当然,也可以下载分别完成不同功能的多个代码段到加密锁的用户存储区中,每个代码段存储在用户代码区内的不同位置。
步骤106:将移植到加密锁中的软件代码从将要运行在目标平台上的软件版本中去掉。
请参考图2,是本发明提供的软件保护方法中使用软件时实施例一的流程图。在这种实施例中,加密锁的系统存储区和用户存储区在物理上是两个存储器,或者是同一个存储器的两个不同的存储区。当在目标平台上使用被保护软件,需要调用移植到加密锁中的软件代码时,该实施例包括以下步骤:
步骤201:向加密锁发出执行用户代码的指令。
加密锁连接到目标平台以后,由系统代码负责与目标平台的通信。因此执行用户代码的指令会由系统代码加以处理。
在执行用户代码的指令中,需要指明要运行哪一段用户代码。在对步骤106的描述中提到,用户代码可以被看作一个个函数。因此,可以通过指定函数名来指明要运行的用户代码。在执行用户代码的指令中还需要提供调用该函数所需要的参数。
步骤202:系统代码计算出用户代码所在的地址。
步骤203:系统代码中断自身运行,并记录下中断位置,然后跳转到用户代码所在的地址。
在此之前,系统代码拥有对加密锁处理器的控制权;在此之后,用户代码就接管了加密锁的处理器。
系统代码可以在向用户代码移交加密锁处理器的控制权之前,将加密锁内的一些资源设置为不可访问,从而阻止用户代码对这些资源的访问。例如,将加密锁的存储区都设置为不可访问。这样加密锁处理器将要执行的代码,也就是用户代码,就无法读取存储于加密锁的被移植代码,从而保证了被移植代码的安全性。如果被下载到加密锁中的用户代码分为多个代码段,那么这里也可以限制将要执行的代码段只能访问该代码段自身所在的存储位置,而将除所述将要执行的代码段自身所在的存储位置以外的存储区设置为不可访问。
或者,加密锁的处理器根据将要执行的代码的存储位置来决定将要执行的代码所能访问的资源。如果将要执行的代码位于系统存储区,则加密锁处理器允许代码访问所有资源;如果将要执行的代码位于用户存储区,则加密锁处理器只允许代码访问有限的资源。
步骤204:加密锁处理器执行用户代码。
由于下载到加密锁中的用户代码已经被编译成加密锁处理器可以识别的形式,因此用户代码是直接运行在加密锁处理器上的。
有时候,系统代码除了进行资源调度以外,还可以提供一些常用的例程。这种例程通常是用于完成一些常用的算法,并且这些算法用硬件的方法实现比用软件的方法实现具有更高的性能,例如数据加密标准(DES,DataEncryption Standard)加/解密。在执行用户代码的过程当中,需要用到这些例程的时候,也可以调用对应的系统代码。但是,用户代码仍然拥有对加密锁处理器的控制权。
步骤205:用户代码向系统代码返回运行结果后结束自身的运行。
这个时候,加密锁处理器的控制权又被用户代码交回给系统代码。如果在步骤203中,由系统代码将加密锁内的一些资源设置为不可访问,则此时仍然由系统代码恢复这些资源为可以访问。
步骤206:系统代码向目标平台返回运行结果。
这样就实现了在密码锁中完成被保护软件中的关键代码的运行。
请参考图3,是本发明提供的软件保护方法中使用软件时实施例二的流程图。在这种实施例中,不区分系统代码和用户代码的存储空间,也就是说,不特别要求加密锁的系统存储区和用户存储区是在物理上不同的两个存储器,或者是同一个物理存储器的不同部分。在本实施例中,为加密锁处理器设定一个标志位,用以指示加密锁处理器是运行在系统模式还是运行在用户模式,也就是告知加密锁处理器当前要执行的代码是系统代码还是用户代码。例如,以该标志位为0表示运行在系统模式,以该标志位为1表示运行在用户模式。同时,在本实施例中,还支持内存管理单元(MMU,MemoryManaging Unit)功能,可以将物理的存储区域映射到虚拟的存储区域。
当在目标平台上使用被保护软件,需要调用移植到加密锁中的软件代码时,本实施例包括以下步骤:
步骤301和步骤302与实施例一中的步骤201和步骤202对应相同。
步骤303:将用户代码所在的物理存储区映射到虚拟存储区。
前面已经说明过,用户代码可能包括很多个独立的代码段,每个代码段存储在用户代码区内的不同位置。而将每个代码段的物理存储区映射到虚拟存储区后,所有的代码段都在虚拟存储区里具有相同的起始地址。
步骤304:设置处理器标志位为用户模式。
这样就相当于告知加密锁处理器,接下来将要运行的代码是用户代码。加密锁处理器会限制用户代码访问某些资源。
步骤305:系统代码中断自身运行,然后跳转到虚拟存储区中的用户代码。
在对步骤303的描述中已经说明,不同的用户代码段映射在经过物理存储区到虚拟存储区后,具有相同的起始地址。这样,每次执行用户代码都可以直接跳转到虚拟存储区的相同地址开始执行。
在此之前,系统代码拥有对加密锁处理器的控制权;在此之后,用户代码就接管了加密锁的处理器。
步骤306:加密锁处理器执行用户代码。
由于下载到加密锁中的用户代码已经被编译成加密锁处理器可以识别的形式,因此用户代码是直接运行在加密锁处理器上的。
有时候,系统代码除了进行资源调度以外,还可以提供一些常用的例程。这种例程通常是用于完成一些常用的算法,并且这些算法用硬件的方法实现比用软件的方法实现具有更高的性能,例如数据加密标准(DES,DataEncryption Standard)加/解密。在执行用户代码的过程当中,需要用到这些例程的时候,也可以调用对应的系统代码。但是,用户代码仍然拥有对加密锁处理器的控制权。
步骤307:用户代码向系统代码返回运行结果后结束自身的运行。
这个时候,加密锁处理器的控制权又被用户代码交回给系统代码。
步骤308:设置处理器标志位为系统模式。
这样就相当于告知加密锁处理器,接下来将要运行的代码是系统代码。加密锁处理器会解除对于某些资源的访问限制。
步骤309:系统代码向目标平台返回运行结果。
这样就实现了在密码锁中完成被保护软件中的关键代码的运行。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1、一种软件保护的方法,其特征在于,将被保护软件的部分代码编译成加密锁处理器可以识别的形式后移植到加密锁中,在目标平台上运行被保护软件时,该方法包括:
A、在需要执行被移植代码时,触发加密锁执行被移植代码;
B、加密锁处理器执行被移植代码,并将被移植代码的执行结果返回给目标平台。
2、根据权利要求1所述的软件保护的方法,其特征在于,将加密锁的存储区分为系统存储区和用户存储区,在所述将被保护软件的部分代码编译成加密锁处理器可以识别的形式后移植到加密锁之前,该方法进一步包括:
将负责加密锁内部资源调度的系统代码存储在系统存储区,并且运行系统代码;
所述将被保护软件的部分代码编译成加密锁处理器可以识别的形式后移植到加密锁中为:
将被保护软件的部分代码编译成加密锁处理器可以识别的形式后,移植到加密锁中的用户存储区;
在目标平台上运行被保护软件时,在步骤A之前,该方法进一步包括:
运行系统代码。
3、根据权利要求1或2所述的软件保护的方法,其特征在于,步骤A所述触发加密锁执行被移植代码为:
目标平台向加密锁发出执行被移植代码的指令,并且给出执行被移植代码所需要的参数。
4、根据权利要求2所述的软件保护的方法,其特征在于,步骤B在所述加密锁处理器执行被移植代码之前进一步包括:
B11、系统代码计算出用户代码所在的存储地址;
B12、系统代码中断自身的运行,并跳转到用户代码所在的存储地址;
步骤B在所述加密锁处理器执行被移植代码,和将被移植代码的执行结果返回给目标平台之间进一步包括:
B13、用户代码向系统代码返回运行结果,并且结束自身的运行。
5、根据权利要求2所述的软件保护的方法,其特征在于,在加密锁内部设置虚拟存储区,步骤B在所述触发加密锁处理器执行被移植代码包括:
B21、系统代码计算出用户代码所在的存储地址;
B22、将用户代码所在的存储地址映射到虚拟存储区;
B23、系统代码中断自身的运行,并跳转到虚拟存储区;
步骤B在所述加密锁处理器执行被移植代码,和将被移植代码的执行结果返回给目标平台之间进一步包括:
B24、用户代码向系统代码返回运行结果,并且结束自身的运行。
6、根据权利要求2所述的软件保护的方法,其特征在于,在加密锁处理器执行被移植代码之前,该方法进一步包括:
加密锁处理器确定将要执行的代码位于用户存储区,将加密锁的部分资源设置为不能被将要执行的代码访问;
在加密锁处理器执行被移植代码之后,该方法进一步包括:
加密锁处理器确定将要执行的代码位于系统存储区,将设置为不可访问的资源恢复为可以被将要执行的代码访问。
7、根据权利要求2所述的软件保护的方法,其特征在于,在加密锁处理器执行被移植代码之前,该方法进一步包括:
系统代码设置加密锁的部分资源不能被将要执行的代码访问;
在加密锁处理器执行被移植代码之后,该方法进一步包括:
系统代码将被设置为不可访问的资源恢复为可以被将要执行的代码访问。
8、根据权利要求2所述的软件保护的方法,其特征在于,为加密锁处理器设置用以指示处理器运行在系统模式还是用户模式的标志位,在加密锁处理器执行被移植代码之前,该方法进一步包括:
系统代码修改加密锁处理器的标志位为用户模式;
在加密锁处理器执行被移植代码之后,该方法进一步包括:
系统代码修改加密锁处理器的标志位为系统模式。
CNB2006100648236A 2006-03-14 2006-03-14 一种软件保护的方法 Expired - Fee Related CN100452070C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100648236A CN100452070C (zh) 2006-03-14 2006-03-14 一种软件保护的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100648236A CN100452070C (zh) 2006-03-14 2006-03-14 一种软件保护的方法

Publications (2)

Publication Number Publication Date
CN101038611A true CN101038611A (zh) 2007-09-19
CN100452070C CN100452070C (zh) 2009-01-14

Family

ID=38889507

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100648236A Expired - Fee Related CN100452070C (zh) 2006-03-14 2006-03-14 一种软件保护的方法

Country Status (1)

Country Link
CN (1) CN100452070C (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009086777A1 (zh) * 2007-12-29 2009-07-16 Senselock Software Technology Co., Ltd 基于加密锁的软件版权保护方法和系统及加密锁
CN101344906B (zh) * 2008-05-19 2010-06-23 北京深思洛克软件技术股份有限公司 一种分块式的远程更新方法
CN102136052A (zh) * 2011-04-29 2011-07-27 北京深思洛克软件技术股份有限公司 一种软件的保护方法
CN102214281A (zh) * 2011-04-27 2011-10-12 北京深思洛克软件技术股份有限公司 一种软件保护方法和装置
CN102236759A (zh) * 2011-07-29 2011-11-09 飞天诚信科技股份有限公司 一种调整加密锁模块授权的方法和装置
CN102521541A (zh) * 2011-12-09 2012-06-27 台达电子企业管理(上海)有限公司 加密狗装置及其软件保护方法
CN102760072A (zh) * 2012-05-12 2012-10-31 北京深思洛克软件技术股份有限公司 软件保护装置与计算机配合执行cpu指令的方法
CN102831342A (zh) * 2012-07-28 2012-12-19 北京深思洛克软件技术股份有限公司 一种提高安卓系统中应用程序保护强度的方法
CN103425911A (zh) * 2013-08-07 2013-12-04 北京深思数盾科技有限公司 一种增强软件保护易用性的方法
CN103838995A (zh) * 2014-03-19 2014-06-04 北京深思数盾科技有限公司 可自定义设置的信息安全设备
CN104462882A (zh) * 2014-12-18 2015-03-25 北京深思数盾科技有限公司 软件保护方法、硬件加密设备以及包括其的软件保护系统
CN110162937A (zh) * 2018-02-09 2019-08-23 黄冈职业技术学院 基于网络通讯实现计算机软件保护的方法
WO2021129714A1 (zh) * 2019-12-26 2021-07-01 郑珂威 基于完全同态加密技术的中间代码加密方法及密文虚拟机系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2372721Y (zh) * 1999-06-18 2000-04-05 北京深思洛克数据保护中心 可编程的软件加密锁
US6925599B2 (en) * 2002-10-04 2005-08-02 Clinisys, Inc. Methodology for performing validated clinical studies of pharmeceutical related products
EP1631881A4 (en) * 2003-06-02 2008-07-16 Infocus Corp DATA SECURITY IN A NETWORK
CN2682465Y (zh) * 2004-02-19 2005-03-02 曾胡 一种用于电子文档真实时间标记的加密锁装置

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216873B (zh) * 2007-12-29 2012-12-19 北京深思洛克软件技术股份有限公司 基于加密锁的软件版权保护方法和系统及加密锁
WO2009086777A1 (zh) * 2007-12-29 2009-07-16 Senselock Software Technology Co., Ltd 基于加密锁的软件版权保护方法和系统及加密锁
CN101344906B (zh) * 2008-05-19 2010-06-23 北京深思洛克软件技术股份有限公司 一种分块式的远程更新方法
CN102214281A (zh) * 2011-04-27 2011-10-12 北京深思洛克软件技术股份有限公司 一种软件保护方法和装置
WO2012146080A1 (zh) * 2011-04-27 2012-11-01 北京深思洛克软件技术股份有限公司 一种软件保护方法和装置
CN102136052A (zh) * 2011-04-29 2011-07-27 北京深思洛克软件技术股份有限公司 一种软件的保护方法
CN102236759A (zh) * 2011-07-29 2011-11-09 飞天诚信科技股份有限公司 一种调整加密锁模块授权的方法和装置
CN102236759B (zh) * 2011-07-29 2013-11-13 飞天诚信科技股份有限公司 一种调整加密锁模块授权的方法和装置
CN102521541A (zh) * 2011-12-09 2012-06-27 台达电子企业管理(上海)有限公司 加密狗装置及其软件保护方法
CN102521541B (zh) * 2011-12-09 2015-04-01 台达电子企业管理(上海)有限公司 加密狗装置及其软件保护方法
CN102760072A (zh) * 2012-05-12 2012-10-31 北京深思洛克软件技术股份有限公司 软件保护装置与计算机配合执行cpu指令的方法
CN102760072B (zh) * 2012-05-12 2015-12-16 北京深思数盾科技有限公司 软件保护装置与计算机配合执行cpu指令的方法
CN102831342A (zh) * 2012-07-28 2012-12-19 北京深思洛克软件技术股份有限公司 一种提高安卓系统中应用程序保护强度的方法
CN102831342B (zh) * 2012-07-28 2016-01-06 北京深思数盾科技有限公司 一种提高安卓系统中应用程序保护强度的方法
CN103425911A (zh) * 2013-08-07 2013-12-04 北京深思数盾科技有限公司 一种增强软件保护易用性的方法
CN103838995A (zh) * 2014-03-19 2014-06-04 北京深思数盾科技有限公司 可自定义设置的信息安全设备
CN104462882A (zh) * 2014-12-18 2015-03-25 北京深思数盾科技有限公司 软件保护方法、硬件加密设备以及包括其的软件保护系统
CN104462882B (zh) * 2014-12-18 2018-07-06 北京深思数盾科技股份有限公司 软件保护方法、硬件加密设备以及包括其的软件保护系统
CN110162937A (zh) * 2018-02-09 2019-08-23 黄冈职业技术学院 基于网络通讯实现计算机软件保护的方法
CN110162937B (zh) * 2018-02-09 2024-02-02 黄冈职业技术学院 基于网络通讯实现计算机软件保护的方法
WO2021129714A1 (zh) * 2019-12-26 2021-07-01 郑珂威 基于完全同态加密技术的中间代码加密方法及密文虚拟机系统

Also Published As

Publication number Publication date
CN100452070C (zh) 2009-01-14

Similar Documents

Publication Publication Date Title
CN101038611A (zh) 一种软件保护的方法
CN1290007C (zh) 实现可移植内容保护以保护机密安全
CN1242323C (zh) 源程序转换方法和装置
CN1282092C (zh) 一种信息处理设备的启动方法
CN100346255C (zh) 提取部分代码至加密装置中的软件版权保护方法
CN1924815A (zh) 用于在子上下文之间控制存储器访问的装置、系统和方法
CN1885275A (zh) 一种嵌入式系统及其实时内存监控处理方法
CN1834978A (zh) 访问控制装置以及访问控制方法
US10528729B2 (en) Methods and systems for defending against cyber-attacks
CN1196524A (zh) 存储器存取控制电路
CN1786916A (zh) 安全引导设备和方法
CN1920780A (zh) 访问临界区的方法和系统
CN1285038C (zh) 控制装置对内存的访问以提供增强的内存访问安全的系统与方法
CN1892602A (zh) 一种二进制翻译中库函数调用的处理方法
CN1763729A (zh) 用于闪速存储器的数据处理设备和方法
CN1788251A (zh) 处理安全消息认证控制指令
CN1573694A (zh) 初始化包括主和协处理器系统中的协处理器的装置和方法
CN101051291A (zh) 一种智能卡与u盘复合设备及其通过认证程序控制闪存读写的方法
CN1477495A (zh) 程序开发方法、程序开发支援装置及程序安装方法
CN101030149A (zh) 快速的基于补丁的方法调用
CN1841329A (zh) 对目标文件进行定位的方法和装置
CN1100299C (zh) 面向对象系统中对被保护对象进行访问控制的系统和方法
CN1866231A (zh) 在嵌入式实时操作系统中实现逻辑中断优先级的方法
CN1687910A (zh) 连续访问环境下的中断恢复方法及装置
CN1912828A (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
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: Beijing City, Haidian District Zhongguancun South Street No. 6 Zhucheng building block B room 1201 zip code: 100086

Patentee after: Beijing Senselock Software Technology Co.,Ltd.

Address before: Beijing City, Haidian District Zhongguancun South Street No. 6 Zhucheng building block B room 1201 zip code: 100086

Patentee before: Beijing ponder Rock Software Technology Co.,Ltd.

Address after: Beijing City, Haidian District Zhongguancun South Street No. 6 Zhucheng building block B room 1201 zip code: 100086

Patentee after: Beijing ponder Rock Software Technology Co.,Ltd.

Address before: Room 1201, building B, building 6, Zhongguancun South Avenue, Beijing, Haidian District, China: 100086

Patentee before: Beijing Senselock Software Technology Co.,Ltd.

C56 Change in the name or address of the patentee

Owner name: BEIJING SHENSILUOKE SOFTWARE TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: BEIJING SHENSILUOKE DATA PROTECTION CENTER

ASS Succession or assignment of patent right

Owner name: BEIJING SHENSI SHUDUN SCIENCE + TECHNOLOGY CO., LT

Free format text: FORMER OWNER: BEIJING SENSELOCK SOFTWARE TECHNOLOGY CO., LTD.

Effective date: 20150109

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100086 HAIDIAN, BEIJING TO: 100872 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20150109

Address after: 100872 room 1706, building 59, Zhongguancun street, Haidian District, Beijing

Patentee after: BEIJING SHENSI SHUDUN TECHNOLOGY Co.,Ltd.

Address before: 100086 Beijing City, Haidian District Zhongguancun South Street No. 6 Zhucheng building block B room 1201

Patentee before: Beijing Senselock Software Technology Co.,Ltd.

C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: 100193 Beijing, Haidian District, East West Road, No. 10, East Hospital, building No. 5, floor 5, layer 510

Patentee after: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

Address before: 100872 room 1706, building 59, Zhongguancun street, Haidian District, Beijing

Patentee before: BEIJING SHENSI SHUDUN TECHNOLOGY Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090114

CF01 Termination of patent right due to non-payment of annual fee