CN100452070C - Software protection method - Google Patents

Software protection method Download PDF

Info

Publication number
CN100452070C
CN100452070C CNB2006100648236A CN200610064823A CN100452070C CN 100452070 C CN100452070 C CN 100452070C CN B2006100648236 A CNB2006100648236 A CN B2006100648236A CN 200610064823 A CN200610064823 A CN 200610064823A CN 100452070 C CN100452070 C CN 100452070C
Authority
CN
China
Prior art keywords
code
encryption lock
work
personal code
code work
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.)
Expired - Fee Related
Application number
CNB2006100648236A
Other languages
Chinese (zh)
Other versions
CN101038611A (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.)
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/en
Publication of CN101038611A publication Critical patent/CN101038611A/en
Application granted granted Critical
Publication of CN100452070C publication Critical patent/CN100452070C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses a software protection method, in which partial code of the protected software are compiled to a format that can be recognized by an encryption lock and transplanted thereto, the method for operating the protected software on a target platform comprising: A. Triggering the encryption and executing the transplanted code when the transplanted code is to be executed; B. The encryption lock processor executing the transplanted code and returning the executed result to the target platform. By using the technical scheme, the transplanted code is stored in a format that can be recognized by the encryption lock processor to the storage area of the encryption lock and operated on the processor directly, accordingly the velocity executed of the software code by the encryption lock is enhanced, therefore the software codes can be transplanted into the encryption lock, thereby the protection of the software by using the encryption is improved.

Description

A kind of method of software protection
Technical field
The present invention relates to Software Protection Technique, particularly relate to a kind of method of utilizing the software cryptography lock that software is protected.
Background technology
With the Software Protection Technique of combination of hardware in, in order to improve the dynamics of software protection, can protect the key code of software to be transplanted in the encryption lock that is independent of the software object platform.So-called encryption lock is a kind of hardware system that certain processing power is arranged, and can link to each other by interface with the software object platform.In the process that software moves on target platform, when needing to carry out key code, send call parameters by target platform to encryption lock, encryption lock is according to call parameters, handle at the inner key code of carrying out of encryption lock, then result is returned to target platform.Like this, must have correct encryption lock hardware simultaneously, could be on target platform operating software, thereby realized protection to software.
Prior art adopts virtual machine mechanism usually when realizing this protection scheme.Virtual machine mechanism provides a virtual standardized platform for the software code of being transplanted in the encryption lock, and this platform is exactly a virtual machine, and virtual machine also is responsible for the scheduling of encryption lock internal resource.Employing virtual machine mechanism can guarantee the security of the key code of protected software from the code angle.That is to say, be transplanted to the key code of the protected software in the encryption lock, is to read from encryption lock by writing specific code.But, under virtual machine mechanism, be transplanted to software code in the encryption lock when carrying out, need earlier to change into the form that the processor of encryption lock can be discerned by virtual machine, and then carry out by the processor of encryption lock, will reduce the processing speed of encryption lock like this.For target platform, the processing power of encryption lock is original just very weak; The employing of virtual machine mechanism more feasiblely causes under the prerequisite of too big influence in the travelling speed to software not, a spot of software code can only be transplanted in the encryption lock.And from the angle of software protection, the code of being transplanted in the encryption lock is many more, and the dynamics of protection is just big more.
Therefore, the shortcoming of prior art is, the employing of virtual machine mechanism has limited the speed of encryption lock processing software code, has limited the software code amount that can be transplanted in the encryption lock, thereby has caused encryption lock can not further improve the protection of software; And if do not adopt virtual machine mechanism, can't guarantee to be transplanted to the security of the software code in the encryption lock again.
Summary of the invention
In view of this; fundamental purpose of the present invention is to provide a kind of method of software protection; with under the prerequisite of the security that guarantees to be transplanted to the software code in the encryption lock; the speed of raising operating software code in encryption lock; make more code to be transplanted in the encryption lock and move, thereby further improve the dynamics of software protection.
In order to achieve the above object, the invention provides a kind of method of software protection, the code that operates in encryption lock inside is divided into system code and personal code work two parts, is transplanted in the encryption lock as personal code work after the partial code of protected software is compiled into the form that the encryption lock processor can discern; During the protected software of operation, this method comprises on target platform:
Steps A, when needs are carried out transplanted code, trigger encryption lock and carry out described personal code work;
Step B, encryption lock processor are carried out described personal code work, and the execution result of described personal code work is returned to target platform.
Wherein, be system memory block and user storage area with the memory partitioning of encryption lock, after described personal code work is compiled into the partial code of protected software the form that the encryption lock processor can discern, be transplanted to encryption lock before, this method further comprises:
The system code of being responsible for the scheduling of encryption lock internal resource is stored in the system memory block, and moves described system code;
Described partial code with protected software is compiled into after the form that the encryption lock processor can discern to be transplanted in the encryption lock as personal code work:
The partial code of protected software is compiled into after the form that the encryption lock processor can discern as personal code work is transplanted to user storage area in the encryption lock;
During the protected software of operation, before described steps A, this method further comprises: move described system code on target platform.
Wherein, the described triggering encryption lock of steps A is carried out described personal code work and is:
Target platform sends the instruction of carrying out described personal code work to encryption lock, and provides the described personal code work parameters needed of execution.
Wherein, step B further comprised before described encryption lock processor is carried out described personal code work:
B11, system code calculate the memory address at personal code work place;
B12, system code interrupt the operation of self, and jump to the memory address at personal code work place;
Step B carries out described personal code work at described encryption lock processor, and the execution result of described personal code work returned between the target platform further comprises:
B13, personal code work return operation result to system code, and finish the operation of self.
Wherein, in encryption lock inside virtual storage region is set, step B carries out described personal code work at described triggering encryption lock processor and comprises:
B21, system code calculate the memory address at personal code work place;
B22, the memory address at personal code work place is mapped to virtual storage region;
B23, system code interrupt the operation of self, and jump to virtual storage region;
Step B carries out described personal code work at described encryption lock processor, and the execution result of described personal code work returned between the target platform further comprises:
B24, personal code work return operation result to system code, and finish the operation of self.
Wherein, before the encryption lock processor was carried out described personal code work, this method further comprised:
The encryption lock processor determines that the code that will carry out is positioned at user storage area, and the part resource of encryption lock is set to can not be by the code access that will carry out;
After the encryption lock processor was carried out described personal code work, this method further comprised:
The encryption lock processor determines that the code that will carry out is positioned at the system memory block, is can be by the code access that will carry out with the resource recovery that is set to inaccessible.
Wherein, before the encryption lock processor was carried out described personal code work, this method further comprised:
System code is provided with the part resource of encryption lock can not be by the code access that will carry out;
After the encryption lock processor was carried out described personal code work, this method further comprised:
The resource recovery that system code will be set to inaccessible is can be by the code access that will carry out.
Wherein, for the setting of encryption lock processor operates in the zone bit that system model still is a user model in order to instruction processorunit, before the encryption lock processor was carried out described personal code work, this method further comprised:
The zone bit that system code is revised the encryption lock processor is a user model;
After the encryption lock processor was carried out described personal code work, this method further comprised:
The zone bit that system code is revised the encryption lock processor is a system model.
Adopt technical scheme provided by the present invention, the code that operates in the encryption lock is divided into two parts, a part is responsible for the initialization of encryption lock and the scheduling of encryption lock internal resource as system level code; Another part is responsible for service externally is provided as the user class code, just is transplanted to the key code that will protect software in the encryption lock.System level code is solidificated in the encryption lock, and can only be moved as the user class code by the code of user's download.System level code can be according to security needs, and limited subscriber level code institute can accessed resources, for example, make certain user class code segment can not the access system memory block and the user storage area at other user class code segment places.So just can prevent to read the software code of being transplanted in the encryption lock, thereby guaranteed security by allowing encryption lock carry out the mode of specific user's code.And no matter be system level code or user class code, all be that form with processor identification that can encrypted lock is stored in the memory block of encryption lock, when operation, run directly on the processor of encryption lock, and need not conversion through virtual machine.So just improved encryption lock greatly and carried out the speed of described user's software code, thereby made and more software code can be transplanted in the encryption lock, and then strengthened the protection of encryption lock for software.
Description of drawings
Fig. 1 is the process flow diagram during download code in the method for protecting software provided by the invention;
Fig. 2 is the process flow diagram of embodiment one when using software in the method for protecting software provided by the invention;
Fig. 3 is the process flow diagram of embodiment two when using software in the method for protecting software provided by the invention.
Embodiment
Core concept of the present invention is: the code that will operate in encryption lock inside is divided into system-level and user class two parts, and the code of the initialization of responsible encryption lock and the scheduling of encryption lock internal resource operates in system-level; The software code of being transplanted in the encryption lock of will protecting operates in user class.Be that system level code or user class code all run directly on the processor of encryption lock.
For making the purpose, technical solutions and advantages of the present invention clearer, the present invention is described in further detail below in conjunction with drawings and the specific embodiments.
Please refer to Fig. 1, Fig. 1 is the process flow diagram of download code in the method for protecting software provided by the invention, and this method comprises when download code:
Step 101: the code memory of encryption lock is divided into system memory block and user storage area.
Here said system memory block and user storage area can be to be positioned on the different physical storages, also can be the different memory areas that is positioned at same physical storage.
Step 102: system code is stored in the system memory block.
The purpose that code in the encryption lock is divided into system code and personal code work is to strengthen the security of encryption lock.System code can free access encryption lock inside all hardware resource, and personal code work can only allow its accessed resources by the access system code.
Step 103: operational system code.
After system code starts, just be responsible for encryption lock and extraneous communicating by letter by system code, and the scheduling of encryption lock internal resource.
Step 104: the form that processor that software code in the encryption lock is compiled into encryption lock can be discerned is transplanted in hope.
Because software code is the target platform exploitation, therefore be compiled into the form that the processor of target platform can be discerned.For software code is transplanted in the encryption lock, and can run directly on the processor of encryption lock, just need will be to be transplanted software code recompilate into the form that the processor of encryption lock can be discerned.
Step 105: the code after the compiling that obtains in the step 104 is downloaded to assigned address in the user storage area.
The position of resulting personal code work can be by system code according to the actual conditions appointment in the storing step 104, also can be by user's appointment.No matter for which kind of situation, specified position all must be in the user storage area that step 101 is divided.
The personal code work of being downloaded can be finished complete relatively function usually, therefore can be counted as a function.Certainly, also can download finish difference in functionality respectively a plurality of code segments in the user storage area of encryption lock, each code segment is stored in the diverse location in the personal code work district.
Step 106: the software code that will be transplanted in the encryption lock will remove from will operate in the software version on the target platform.
Please refer to Fig. 2, is the process flow diagram of embodiment one when using software in the method for protecting software provided by the invention.In such an embodiment, the system memory block of encryption lock and user storage area are two storeies physically, or two different memory blocks of same storer.When use protected software on target platform, in the time of need calling the software code of being transplanted in the encryption lock, this embodiment may further comprise the steps:
Step 201: send the instruction of carrying out personal code work to encryption lock.
Encryption lock is connected to after the target platform, is responsible for and the communicating by letter of target platform by system code.Therefore the instruction meeting of carrying out personal code work is handled by system code.
In the instruction of carrying out personal code work, need indicate and to move which section personal code work.Mention in the description to step 106, personal code work can be counted as function one by one.Therefore, can indicate the personal code work that will move by the specified function name.In the instruction of carrying out personal code work, also need to provide and call this function parameters needed.
Step 202: system code calculates the address at personal code work place.
Step 203: system code interrupts self-operating, and notes interruption position, jumps to the address at personal code work place then.
Before this, system code has the control to the encryption lock processor; After this, personal code work has just been taken over the processor of encryption lock.
System code can be before transferring the control of encryption lock processor to personal code work, and some resources in the encryption lock are set to inaccessible, thereby stop the visit of personal code work to these resources.For example, the memory block with encryption lock all is set to inaccessible.The code that will carry out of encryption lock processor like this, just personal code work just can't read the described personal code work that is stored in encryption lock, thereby has guaranteed the security of transplanted code.If the personal code work that is downloaded in the encryption lock is divided into a plurality of code segments, so here also can limit the memory location that the code segment that will carry out can only be visited this code segment self place, and the memory block except that the memory location at the described code segment that will carry out self place is set to inaccessible.
Perhaps, the processor of encryption lock decides the code institute energy accessed resources that will carry out according to the memory location of the code that will carry out.If the code that will carry out is positioned at the system memory block, then the encryption lock processor allows all resources of code access; If the code that will carry out is positioned at user storage area, then the encryption lock processor only allows the code access Limited resources.
Step 204: the encryption lock processor is carried out personal code work.
Because the personal code work that downloads in the encryption lock has been compiled into the form that the encryption lock processor can be discerned, so personal code work runs directly on the encryption lock processor.
Sometimes, system code can also provide some routines commonly used except carrying out scheduling of resource.This routine normally is used to finish some algorithms commonly used, and the method that these algorithms compare with software with the method realization of hardware realizes having higher performance, for example data encryption standards (DES, DataEncryption Standard) enciphering/deciphering.In the middle of the process of carrying out personal code work, when need use these routines, also can call corresponding system code.But personal code work still has the control to the encryption lock processor.
Step 205: personal code work finishes the operation of self after system code returns operation result.
In this time, the control of encryption lock processor is returned to system code by personal code work again.If in step 203, be set to inaccessible by some resources in the system code encryption lock, then still recover these resources for visiting this moment by system code.
Step 206: system code returns operation result to target platform.
So just realized in coded lock, finishing the operation of the key code in the protected software.
Please refer to Fig. 3, is the process flow diagram of embodiment two when using software in the method for protecting software provided by the invention.In such an embodiment, the storage space of compartment system code and personal code work not, that is to say that the system memory block of special requirement encryption lock is not two different physically storeies with user storage area, or the different piece of same physical storage.In the present embodiment,, operate in system model or operate in user model, inform that just the current code that will carry out of encryption lock processor is system code or personal code work in order to indication encryption lock processor for the encryption lock processor is set a zone bit.For example, be that 0 expression operates in system model with this zone bit, be that 1 expression operates in user model with this zone bit.Simultaneously, in the present embodiment, also support memory management unit (MMU, MemoryManaging Unit) function, the storage area of physics can be mapped to virtual storage area.
When use protected software on target platform, in the time of need calling the software code of being transplanted in the encryption lock, present embodiment may further comprise the steps:
Step 301 and step 302 are corresponding identical with step 201 and step 202 among the embodiment one.
Step 303: the physical storage area at personal code work place is mapped to virtual storage region.
The front illustrated that personal code work may comprise a lot of independently code segments, and each code segment is stored in the diverse location in the personal code work district.And after the physical storage area of each code segment was mapped to virtual storage region, all code segments all had identical start address in virtual storage region.
Step 304: set handling device zone bit is a user model.
So just be equivalent to inform the encryption lock processor, next the code that will move is a personal code work.The encryption lock processor can some resource of limited subscriber code access.
Step 305: system code interrupts self-operating, jumps to the personal code work in the virtual storage region then.
Illustrate that in description different personal code work sections is mapped in through physical storage area behind virtual storage region, has identical start address to step 303.Carry out the identical address that personal code work can directly jump to virtual storage region begins to carry out like this, at every turn.
Before this, system code has the control to the encryption lock processor; After this, personal code work has just been taken over the processor of encryption lock.
Step 306: the encryption lock processor is carried out personal code work.
Because the personal code work that downloads in the encryption lock has been compiled into the form that the encryption lock processor can be discerned, so personal code work runs directly on the encryption lock processor.
Sometimes, system code can also provide some routines commonly used except carrying out scheduling of resource.This routine normally is used to finish some algorithms commonly used, and the method that these algorithms compare with software with the method realization of hardware realizes having higher performance, for example data encryption standards (DES, DataEncryption Standard) enciphering/deciphering.In the middle of the process of carrying out personal code work, when need use these routines, also can call corresponding system code.But personal code work still has the control to the encryption lock processor.
Step 307: personal code work finishes the operation of self after system code returns operation result.
In this time, the control of encryption lock processor is returned to system code by personal code work again.
Step 308: set handling device zone bit is a system model.
So just be equivalent to inform the encryption lock processor, next the code that will move is a system code.The encryption lock processor can be removed the restrict access for some resource.
Step 309: system code returns operation result to target platform.
So just realized in coded lock, finishing the operation of the key code in the protected software.
The above is preferred embodiment of the present invention only, is not to be used to limit protection scope of the present invention.Within the spirit and principles in the present invention all, any modification of being done, be equal to replacement, improvement etc., all should be included within protection scope of the present invention.

Claims (8)

1, a kind of method of software protection, it is characterized in that, the code that operates in encryption lock inside is divided into system code and personal code work two parts, is transplanted in the encryption lock as personal code work after the partial code of protected software is compiled into the form that the encryption lock processor can discern; During the protected software of operation, this method comprises on target platform:
Steps A, when needs are carried out transplanted code, trigger encryption lock and carry out described personal code work;
Step B, encryption lock processor are carried out described personal code work, and the execution result of described personal code work is returned to target platform.
2, the method for software protection according to claim 1 is characterized in that, is system memory block and user storage area with the memory partitioning of encryption lock, and before described personal code work was transplanted to encryption lock, this method further comprised:
The system code of being responsible for the scheduling of encryption lock internal resource is stored in the system memory block, and moves described system code;
Described partial code with protected software is compiled into after the form that the encryption lock processor can discern to be transplanted in the encryption lock as personal code work:
The partial code of protected software is compiled into after the form that the encryption lock processor can discern as personal code work is transplanted to user storage area in the encryption lock;
During the protected software of operation, before described steps A, this method further comprises on target platform:
Move described system code.
3, the method for software protection according to claim 1 and 2; it is characterized in that; the described triggering encryption lock of steps A is carried out described personal code work and is: target platform sends the instruction of carrying out described personal code work to encryption lock, and provides the transplanted code parameters needed of execution.
4, the method for software protection according to claim 2 is characterized in that, step B further comprised before described encryption lock processor is carried out described personal code work:
B11, system code calculate the memory address at personal code work place;
B12, system code interrupt the operation of self, and jump to the memory address at personal code work place;
Step B carries out described personal code work at described encryption lock processor, and the execution result of described personal code work returned between the target platform further comprises:
B13, personal code work return operation result to system code, and finish the operation of self.
5, the method for software protection according to claim 2 is characterized in that, in encryption lock inside virtual storage region is set, and step B carries out described personal code work at described triggering encryption lock processor and comprises:
B21, system code calculate the memory address at personal code work place;
B22, the memory address at personal code work place is mapped to virtual storage region;
B23, system code interrupt the operation of self, and jump to virtual storage region;
Step B carries out described personal code work at described encryption lock processor, and the execution result of described personal code work returned between the target platform further comprises:
B24, personal code work return operation result to system code, and finish the operation of self.
6, the method for software protection according to claim 2 is characterized in that, before the encryption lock processor was carried out described personal code work, this method further comprised:
The encryption lock processor determines that the code that will carry out is positioned at user storage area, and the part resource of encryption lock is set to can not be by the code access that will carry out;
After the encryption lock processor was carried out described personal code work, this method further comprised:
The encryption lock processor determines that the code that will carry out is positioned at the system memory block, is can be by the code access that will carry out with the resource recovery that is set to inaccessible.
7, the method for software protection according to claim 2 is characterized in that, before the encryption lock processor was carried out described personal code work, this method further comprised:
System code is provided with the part resource of encryption lock can not be by the code access that will carry out;
After the encryption lock processor was carried out described personal code work, this method further comprised:
The resource recovery that system code will be set to inaccessible is can be by the code access that will carry out.
8, the method for software protection according to claim 2; it is characterized in that; for the setting of encryption lock processor operates in the zone bit that system model still is a user model in order to instruction processorunit, before the encryption lock processor was carried out described personal code work, this method further comprised:
The zone bit that system code is revised the encryption lock processor is a user model;
After the encryption lock processor was carried out described personal code work, this method further comprised:
The zone bit that system code is revised the encryption lock processor is a system model.
CNB2006100648236A 2006-03-14 2006-03-14 Software protection method Expired - Fee Related CN100452070C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100648236A CN100452070C (en) 2006-03-14 2006-03-14 Software protection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100648236A CN100452070C (en) 2006-03-14 2006-03-14 Software protection method

Publications (2)

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

Family

ID=38889507

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100648236A Expired - Fee Related CN100452070C (en) 2006-03-14 2006-03-14 Software protection method

Country Status (1)

Country Link
CN (1) CN100452070C (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216873B (en) * 2007-12-29 2012-12-19 北京深思洛克软件技术股份有限公司 A software copyright protection method and system based on encryption lock, and encryption lock
CN101344906B (en) * 2008-05-19 2010-06-23 北京深思洛克软件技术股份有限公司 Sectional type remote updating method
CN102214281A (en) * 2011-04-27 2011-10-12 北京深思洛克软件技术股份有限公司 Software protecting method and device
CN102136052A (en) * 2011-04-29 2011-07-27 北京深思洛克软件技术股份有限公司 Software protecting method
CN102236759B (en) * 2011-07-29 2013-11-13 飞天诚信科技股份有限公司 Method and device for adjusting authorization of encryption lock module
CN102521541B (en) * 2011-12-09 2015-04-01 台达电子企业管理(上海)有限公司 Softdog device and software protection method thereof
CN102760072B (en) * 2012-05-12 2015-12-16 北京深思数盾科技有限公司 Software protecting equipment coordinates the method performing cpu instruction with computing machine
CN102831342B (en) * 2012-07-28 2016-01-06 北京深思数盾科技有限公司 A kind of method improving application program protection intensity in Android system
CN103425911B (en) * 2013-08-07 2017-04-19 北京深思数盾科技股份有限公司 Method for enhancing software protection usability
CN103838995B (en) * 2014-03-19 2018-04-27 北京深思数盾科技股份有限公司 It can customize the information safety devices of setting
CN104462882B (en) * 2014-12-18 2018-07-06 北京深思数盾科技股份有限公司 Method for protecting software, hardware encryption device and include its security system for software
CN110162937B (en) * 2018-02-09 2024-02-02 黄冈职业技术学院 Method for realizing computer software protection based on network communication
CN113055152B (en) * 2019-12-26 2022-10-18 郑珂威 Intermediate code encryption method based on completely homomorphic encryption technology and ciphertext virtual machine system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2372721Y (en) * 1999-06-18 2000-04-05 北京深思洛克数据保护中心 Programmable software enciphered lock
US20050005109A1 (en) * 2003-06-02 2005-01-06 Joseph Castaldi Security of data over a network
CN2682465Y (en) * 2004-02-19 2005-03-02 曾胡 Cryptographic lock device for actual time mark of electronic document
US20050210026A1 (en) * 2002-10-04 2005-09-22 Clinisys, Inc. Software architecture and system for performing validated clinical studies of pharmaceutical related products

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2372721Y (en) * 1999-06-18 2000-04-05 北京深思洛克数据保护中心 Programmable software enciphered lock
US20050210026A1 (en) * 2002-10-04 2005-09-22 Clinisys, Inc. Software architecture and system for performing validated clinical studies of pharmaceutical related products
US20050005109A1 (en) * 2003-06-02 2005-01-06 Joseph Castaldi Security of data over a network
CN2682465Y (en) * 2004-02-19 2005-03-02 曾胡 Cryptographic lock device for actual time mark of electronic document

Also Published As

Publication number Publication date
CN101038611A (en) 2007-09-19

Similar Documents

Publication Publication Date Title
CN100452070C (en) Software protection method
CN101281506B (en) Memory domain based security control within data processing system
JP4172745B2 (en) Method and monitoring apparatus for monitoring execution of instruction sequence by processor
CN102132289B (en) Method and device for code obfuscation
JP6227772B2 (en) Method and apparatus for protecting a dynamic library
CN100492294C (en) Program dynamic loading method
KR100714710B1 (en) Apparatus and method for forcibly terminating thread blocked by i/o operation
CN104246727B (en) Data handling system and the method for operating data processing system
CN104520872A (en) Methods and apparatus to protect memory regions during low-power states
CN104685508A (en) Exception handling in a data processing apparatus having a secure domain and a less secure domain
CN102222196A (en) Method, device and computer program support for verification of checksums for self-modified computer code
CN103413073A (en) Method and equipment for protecting JAVA executable program
CN103413075A (en) Method and device for protecting JAVA executable program through virtual machine
US10528729B2 (en) Methods and systems for defending against cyber-attacks
CN106650340A (en) Binary software protection method by means of dynamic fine-grained code hiding and obfuscating technology
CN101853357A (en) Software protection method
CN104903906A (en) Binary translator driven program state relocation
CN101303721A (en) Reducing information leakage between processes sharing a cache
CN101847096B (en) Optimization method of stack variable-containing function
CN104054087A (en) Control device monitoring system and monitoring method for control device
CN104657258A (en) Method and device for injecting Java bit codes into target process
EP1305708B1 (en) Sequence numbering mechanism to ensure execution order integrity of inter-dependent smart card applications
CN101520754A (en) Method and device for positioning function and/or task violating memory access
CN103186746A (en) Protection method and system of executable file
CN107577925B (en) Based on the virtual Android application program guard method of dual ARM instruction

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