CN107688728A - Program safety encryption method and device - Google Patents
Program safety encryption method and device Download PDFInfo
- Publication number
- CN107688728A CN107688728A CN201610638651.2A CN201610638651A CN107688728A CN 107688728 A CN107688728 A CN 107688728A CN 201610638651 A CN201610638651 A CN 201610638651A CN 107688728 A CN107688728 A CN 107688728A
- Authority
- CN
- China
- Prior art keywords
- encipheror
- terminal
- program
- virtual environment
- safety encryption
- 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 31
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 230000006978 adaptation Effects 0.000 claims description 4
- 206010048669 Terminal state Diseases 0.000 claims 1
- 230000001960 triggered effect Effects 0.000 claims 1
- 238000005336 cracking Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 239000011800 void material Substances 0.000 description 4
- 230000032683 aging Effects 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
The present invention provides program safety encryption method and device, including:Source program compiling is turned into the encipheror based on fictitious order;The encipheror is sent to terminal, to cause the terminal is explained in the virtual environment being adapted to the fictitious order to perform the encipheror.Described program safe encryption method and device can lift the security of program.
Description
Technical field
The present invention relates to information security field, more particularly to program safety encryption method and device.
Background technology
With the development of network and information technology, occur increasing program can for selection by the user, but simultaneously, how
Ensure the safety of program, in particular how ensure that the program safety under network environment turns into a problem.
The security of program of the prior art has to be hoisted.
The content of the invention
Present invention solves the technical problem that it is the security for lifting program.
In order to solve the above technical problems, the embodiment of the present invention provides a kind of program safety encryption method, including:By source program
Compiling turns into the encipheror based on fictitious order;The encipheror is sent to terminal, with cause the terminal with it is described
Explained in the virtual environment of fictitious order adaptation and perform the encipheror.
Optionally, it is described also to include source program compiling as the encipheror based on fictitious order:When the source program
After renewal, the source program after renewal is recompilated, to update the encipheror.
Optionally, described program safe encryption method can also include:The virtual environment is sent to the terminal.
Optionally, the transmission encipheror to the step of terminal is that the request sent by the terminal triggers.
The embodiment of the present invention also provides another program safety encryption method, including:Encipheror is received to terminal, it is described
Encipheror is the encipheror based on fictitious order of the compiled formation of source program;Explained in the virtual environment of the terminal
The encipheror is performed, the virtual environment is adapted to the fictitious order.
Optionally, the virtual environment runs on the processor of the terminal, and the processor includes following any:
X 86 processor, arm processor, MIPS processors.
Optionally, the virtual environment runs on web environment.
The embodiment of the present invention also provides a kind of program safety encryption device, including:Compilation unit, suitable for source program is compiled
As the encipheror based on fictitious order;Encipheror transmitting element, suitable for sending the encipheror to terminal, to cause
The terminal is explained in the virtual environment being adapted to the fictitious order performs the encipheror.
Optionally, the compilation unit is further adapted for after the source update, and the source program after renewal is recompilated,
To update the encipheror.
Optionally, the safe encryption device of described program can also include:Virtual environment transmitting element, suitable for the terminal
Send the virtual environment.
Optionally, the safe encryption device of described program can also include:Trigger element, suitable for the request according to the terminal
Trigger the encipheror transmitting element and send the encipheror to terminal.
The embodiment of the present invention also provides another program safety encryption device, including:Encipheror receiving unit, suitable for connecing
Encipheror is received to terminal, the encipheror is the encipheror based on fictitious order of the compiled formation of source program;Explain
Execution unit, the encipheror is performed suitable for being explained in the virtual environment of the terminal, the virtual environment and the void
Pseudoinstruction is adapted to.
Optionally, the virtual environment runs on the processor of the terminal, and the processor includes following any:
X 86 processor, arm processor, MIPS processors.
Optionally, the virtual environment runs on web environment.
Compared with prior art, the technical scheme of the embodiment of the present invention has the advantages that:
Fictitious order is difficult to be known by third party used by due to compiling source program to encipheror, therefore will be by source program
After compiling turns into the encipheror based on fictitious order, third party is difficult to crack encipheror, adds so as to be lifted
The security of close program.Terminal explains execution to encipheror in the virtual environment being adapted in the fictitious order, can
Bottom after the only explanation seen performs order, so as to also be difficult to inversely be cracked.Thus, the program in the embodiment of the present invention
Safe encryption method security is higher.
Further, due to that can recompilate what is obtained to the source program after renewal after the source update
Encipheror after renewal, so that encipheror has ageing, and then encipheror can be more difficult to
It is cracked.
Brief description of the drawings
Fig. 1 is a kind of flow chart of program safety encryption method in the embodiment of the present invention;
Fig. 2 is the flow chart of another program safety encryption method in the embodiment of the present invention;
Fig. 3 is a kind of structural representation of program safety encryption device in the embodiment of the present invention;
Fig. 4 is the structural representation of another program safety encryption device in the embodiment of the present invention.
Embodiment
As it was previously stated, with the development of network and information technology, occur increasing program can for selection by the user, but
Meanwhile how to ensure the safety of program, in particular how ensure that the program safety under network environment turns into a problem.Existing skill
The security of program in art has to be hoisted.
In embodiments of the present invention, because the side of cracking is difficult to know the instruction set for the fictitious order that compiling uses, therefore by source
After program compiling turns into the encipheror based on fictitious order, the side of cracking is difficult to crack encipheror, so as to carry
Rise the security of encryption sequence.Terminal explains execution to encipheror in the virtual environment being adapted in the fictitious order,
Visible is only that the bottom after explaining performs order, so as to also be difficult to inversely be cracked.Thus, the journey in the embodiment of the present invention
Sequence safe encryption method security is higher.
It is understandable to enable above-mentioned purpose, feature and the beneficial effect of the present invention to become apparent, below in conjunction with the accompanying drawings to this
The specific embodiment of invention is described in detail.
Fig. 1 is that a kind of flow chart of program safety encryption method, this method can be held by server in the embodiment of the present invention
OK, such as by cloud server perform.
In step s 11, source program compiling is turned into the encipheror based on fictitious order.
Source program can be multiple programs, can be local program or the journey from other program suppliers
Sequence;The function that source program is realized can also be diversified.In specific implementation, source program compiling is turned into based on virtually finger
The encipheror of order can be completed by server, and source program can be the program of server local, can also derive from server
Program suppliers in addition.
In specific implementation, fictitious order can be custom instruction or can also be various appropriate universal commands.
Because the species of universal command is more, the side of cracking is difficult to know specific using that when source program is encrypted for certain
Universal command;Further, custom instruction is privately owned instruction, and can carry out a variety of changes, is more difficult to the side of being cracked
Know.Therefore after source program to be compiled into the encipheror based on fictitious order, it is difficult to be cracked so that the security of source program is more
It is high.
One in the specific implementation, source program compiling is turned into the encipheror based on fictitious order to include:Work as institute
After stating source update, the source program after renewal is recompilated, to update the encipheror.
The renewal of source program can be that the renewal of version, optimization of function etc. update or based on security consideration
Renewal, such as can be checksum update etc..
Due to can be after the source update, after obtained renewal is recompilated to the source program after renewal
Encipheror so that encipheror have it is ageing, encipheror renewal after, the side of cracking is to the encryption before renewal
What program was carried out cracks and cannot be used for cracking to the encipheror after renewal so that encipheror be more difficult to by
Crack, lift the security of encipheror.
In step s 12, the encipheror is sent to terminal, to cause the terminal to be adapted to the fictitious order
Virtual environment in explain and perform the encipheror.
In specific implementation, terminal can be the equipment for needing to perform the source program, such as can be computer, flat board
The equipment such as computer, smart mobile phone.It can be that aforementioned server sends described add by network to send the encipheror to terminal
Close program.
Terminal is when performing the encipheror, in the virtual environment being adapted to the fictitious order, by the encryption
The bottom instruction that interpretation of programs is adapted into the instruction set with terminal, and from encipheror described in bottom instruction reverse engineered almost
It is impossible, so as to which the security of the encipheror in the embodiment of the present invention is higher.
One in the specific implementation, the step of sending encipheror to terminal can be the request triggering sent by the terminal
's.
In specific implementation, user terminal can send to server when needing to perform and ask, and trigger server to end
Encipheror corresponding to the transmission of end.
In a non-limiting example, after user terminal sends request when needing to perform to server, server
The encipheror to the terminal sent can be the encipheror being updated recently.So that what terminal performed every time
Encipheror both corresponds to newest source program.
Terminal is explained in the virtual environment being adapted to the fictitious order performs the encipheror, so that
Terminal need not be reinstalled in each source update, and then can lift the efficiency of terminal, can further carry
Rise the experience of terminal user.
In specific implementation, program safety encryption method can also include sending the virtual environment to the terminal.
It can be sent by server to send virtual environment to terminal, and sending the virtual environment can be with sending described add
Close program, can also be from sending the encipheror in different transmission process in same transmission process.
One in the specific implementation, when source program compiling is turned into the encipheror based on fictitious order, can use different
Fictitious order, and can be when source program is encrypted replacing fictitious order, to terminal transmission and the fictitious order phase changed
Consistent virtual environment.In this way, it can further lift the security of encipheror.
The embodiment of the present invention also provides another program safety encryption method, and its flow chart is referring to Fig. 2.
In the step s 21, encipheror is received to terminal, and the encipheror is the compiled formation of source program based on void
The encipheror of pseudoinstruction.
Can be that terminal receives encipheror from server, source program is compiled to be formed based on virtual in specific implementation
The process of the encipheror of instruction may refer to program safety encryption method as shown in Figure 1, will not be repeated here.
In step S22, explained in the virtual environment of the terminal and perform the encipheror, the virtual environment with
The fictitious order adaptation.
In specific implementation, terminal can be sent to server and ask, and encipheror is sent to terminal to trigger server,
Encipheror in response to above-mentioned request is sent to terminal from server again.
Can be the encryption journey for sending corresponding different source program because server to terminal when sending encipheror
Sequence, such as can be the source program after version updating.And terminal is explained in its virtual environment and performs the encipheror, therefore can
To realize that the heat to source program updates, i.e., encryption corresponding with the source program updated can be run immediately by being loaded without terminal
Program, so as to lift the Consumer's Experience of terminal user.In addition, for source program supplier, can also be more easily right
Source program is updated.
One in the specific implementation, the virtual environment of terminal can come from server, and can be virtual in server update
After instruction, the virtual environment being adapted with the fictitious order of server of reloading.In this way, it can further lift encipheror
Security.
In specific implementation, virtual environment can run on the processor of the terminal, for example, it may be following any one
Kind processor:X 86 processor, arm processor, MIPS processors.
Another in the specific implementation, the virtual environment can run on web environment.Because many contents are in webpage
Based on plaintext, such as webpage based on JavaScript etc., therefore the program for running on web environment is very easily reversed work
Journey and crack.
And in embodiments of the present invention, virtual environment can be run in web environment, and the execution of encipheror is in void
Explain what is performed in near-ring border, the instruction after explanation is adapted for the instruction of the low level of web environment, and the instruction of low level is difficult
Cracked with being reversed, therefore the encipheror in the embodiment of the present invention can run on web environment, and be difficult to be cracked, and then
The security of web environment intermediate range sort run can be lifted.
In a non-limiting example, web environment is based on JavaScript, and the instruction after explanation can be level
Relatively low JavaScript instructions.For example, JavaScript web environments, which are virtual machine, distributes array as the virtual of virtual machine
Internal memory, when needing to read and write the internal storage data for the virtual machine for running on JavaScript web environments, explaining the instruction of execution is
Above-mentioned array is operated, instruction level is lower.
Due to when virtual machine runs on JavaScript web environments, explaining that it is that will encrypt journey to perform the encipheror
Sequence explains that turn into level instructs than relatively low JavaScript, therefore the side of cracking can be difficult to according to level than relatively low
JavaScript instructions carry out reverse engineered, can further lift the safety that program is run under JavaScript web environments
Property.
In an embodiment of the present invention, terminal can be sent by double-clicking some icon to server and be asked, such as can be with
It is after some icon is double-clicked, triggers the proof of identity to active user.Server can incite somebody to action after the request of terminal is received
The encipheror of the program of corresponding proof of identity is sent to terminal.
Now, the server can be the server or cloud server of proof of identity program provider, identity
The server of checking routine provider can be updated to proof of identity program, can also provide redaction to cloud server
Proof of identity program.
Server to the encipheror that terminal is sent can be newest proof of identity program is compiled to be formed plus
Close program, and then the side of cracking can be caused to be difficult to crack encipheror.Terminal is held when explaining execution to encipheror
Row instruction corresponds to newest proof of identity program, it is also possible that the security of proof of identity program is higher, and then causes non-
Method user is difficult to pass through proof of identity.
Program safety encryption method as shown in Figure 2 can run on terminal, and it is implemented and beneficial effect can join
See program safety encryption method as shown in Figure 1, will not be repeated here.
The embodiment of the present invention also provides a kind of program safety encryption device, and its structural representation is referring to Fig. 3.
Program safety encryption device as shown in Figure 3 can include:
Compilation unit 31, suitable for source program compiling is turned into the encipheror based on fictitious order;
Encipheror transmitting element 32, suitable for sending the encipheror to terminal, with cause the terminal with it is described
Explained in the virtual environment of fictitious order adaptation and perform the encipheror.
In specific implementation, the compilation unit 31 is further adapted for after the source update, to the source program after renewal
Recompilate, to update the encipheror.
In specific implementation, the safe encryption device of described program can also include:Virtual environment transmitting element 33, suitable for
The terminal sends the virtual environment.
In specific implementation, the safe encryption device of described program can also include:Trigger element 34, suitable for according to the end
The request at end triggers the encipheror transmitting element 32 and sends the encipheror to terminal.
The specific implementation of program safety encryption device as shown in Figure 3 and beneficial effect may refer to journey as shown in Figure 1
Sequence safe encryption method, will not be repeated here.
The embodiment of the present invention also provides another program safety encryption device, and its structural representation is referring to Fig. 4.
Program safety encryption device as shown in Figure 4 can include:
Encipheror receiving unit 41, suitable for receiving encipheror to terminal, the encipheror is that source program is compiled
The encipheror based on fictitious order formed
Execution unit 42 is explained, the encipheror, the void are performed suitable for being explained in the virtual environment of the terminal
Near-ring border is adapted to the fictitious order.
In specific implementation, the virtual environment can run on the processor of the terminal, the processor include with
Under it is any:X 86 processor, arm processor, MIPS processors.
In specific implementation, the virtual environment can run on web environment.
The specific implementation of program safety encryption device as shown in Figure 4 and beneficial effect may refer to journey as shown in Figure 2
Sequence safe encryption method, will not be repeated here.
One of ordinary skill in the art will appreciate that all or part of step in the various methods of above-described embodiment is can
To instruct the hardware of correlation to complete by program, the program can be stored in a computer-readable recording medium, storage
Medium can include:ROM, RAM, disk or CD etc..
Although present disclosure is as above, the present invention is not limited to this.Any those skilled in the art, this is not being departed from
In the spirit and scope of invention, it can make various changes or modifications, therefore protection scope of the present invention should be with claim institute
The scope of restriction is defined.
Claims (14)
- A kind of 1. program safety encryption method, it is characterised in that including:Source program compiling is turned into the encipheror based on fictitious order;The encipheror is sent to terminal, to cause the terminal to be explained in the virtual environment being adapted to the fictitious order Perform the encipheror.
- 2. program safety encryption method according to claim 1, it is characterised in that described turn into source program compiling is based on The encipheror of fictitious order also includes:After the source update, the source program after renewal is recompilated, with more The new encipheror.
- 3. program safety encryption method according to claim 1, it is characterised in that also include:Institute is sent to the terminal State virtual environment.
- 4. program safety encryption method according to claim 1, it is characterised in that described to send the encipheror to end The step of end is that the request sent by the terminal triggers.
- A kind of 5. program safety encryption method, it is characterised in that including:Encipheror is received to terminal, the encipheror is the encryption journey based on fictitious order of the compiled formation of source program Sequence;Explained in the virtual environment of the terminal and perform the encipheror, the virtual environment is fitted with the fictitious order Match somebody with somebody.
- 6. program safety encryption method according to claim 5, it is characterised in that the virtual environment runs on the end The processor at end, the processor include following any:X 86 processor, arm processor, MIPS processors.
- 7. program safety encryption method according to claim 5, it is characterised in that the virtual environment runs on webpage ring Border.
- A kind of 8. program safety encryption device, it is characterised in that including:Compilation unit, suitable for source program compiling is turned into the encipheror based on fictitious order;Encipheror transmitting element, suitable for sending the encipheror to terminal, to cause the terminal virtually to refer to described Make and the execution encipheror is explained in the virtual environment of adaptation.
- 9. program safety encryption device according to claim 8, it is characterised in that the compilation unit is further adapted for described After source update, the source program after renewal is recompilated, to update the encipheror.
- 10. program safety encryption device according to claim 8, it is characterised in that also include:Virtual environment sends single Member, suitable for sending the virtual environment to the terminal.
- 11. program safety encryption device according to claim 8, it is characterised in that also include:Trigger element, suitable for root The encipheror transmitting element, which is triggered, according to the request of the terminal sends the encipheror to terminal.
- A kind of 12. program safety encryption device, it is characterised in that including:Encipheror receiving unit, suitable for receiving encipheror to terminal, the encipheror is the compiled formation of source program Encipheror based on fictitious order;Execution unit is explained, the encipheror, the virtual environment are performed suitable for being explained in the virtual environment of the terminal It is adapted to the fictitious order.
- 13. program safety encryption device according to claim 12, it is characterised in that the virtual environment runs on described The processor of terminal, the processor include following any:X 86 processor, arm processor, MIPS processors.
- 14. program safety encryption device according to claim 12, it is characterised in that the virtual environment runs on webpage Environment.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610638651.2A CN107688728A (en) | 2016-08-05 | 2016-08-05 | Program safety encryption method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610638651.2A CN107688728A (en) | 2016-08-05 | 2016-08-05 | Program safety encryption method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107688728A true CN107688728A (en) | 2018-02-13 |
Family
ID=61151173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610638651.2A Pending CN107688728A (en) | 2016-08-05 | 2016-08-05 | Program safety encryption method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107688728A (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216775A (en) * | 2008-01-03 | 2008-07-09 | 北京深思洛克数据保护中心 | Software program protection method, device and system |
CN105046117A (en) * | 2015-06-30 | 2015-11-11 | 西北大学 | Code virtualization software protection system realizing instruction set randomization |
-
2016
- 2016-08-05 CN CN201610638651.2A patent/CN107688728A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216775A (en) * | 2008-01-03 | 2008-07-09 | 北京深思洛克数据保护中心 | Software program protection method, device and system |
CN105046117A (en) * | 2015-06-30 | 2015-11-11 | 西北大学 | Code virtualization software protection system realizing instruction set randomization |
Non-Patent Citations (1)
Title |
---|
舒柏程等: "基于虚拟机的软件保护技术研究", 《计算机工程与科学》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104063239B (en) | Application program update method and server, the client of mobile terminal | |
CN103065178B (en) | A kind of Quick Response Code sharing apparatus, access means and sharing method | |
CN103812914B (en) | A kind of method and device for following the trail of promoter | |
CN106095533B (en) | Method of server expansion and device | |
CN105357323A (en) | HTML5 page debugging method and device in APP | |
US10432613B2 (en) | HTTPS enabled client tool | |
US20170147471A1 (en) | Isolating production environment debugging sessions | |
CN103248711A (en) | File uploading method and server | |
CN103716295B (en) | A kind of network system | |
CN109802919B (en) | Web page access intercepting method and device | |
CN103207863A (en) | Page cross-domain interacting method and terminal | |
CN103955495B (en) | The method for down loading and device of page child resource | |
CN106708715A (en) | Automatic test method and device | |
TW201814509A (en) | Method and device for implementing communication of web page and local application and electronic equipment | |
CN110958217B (en) | Method and device for remotely controlling server, computer equipment and storage medium | |
US9483287B2 (en) | Communication infrastructure for virtual machines | |
CN102546594B (en) | Network resource access control method, device and related equipment | |
CN104424224B (en) | A kind of file index storage method and device | |
CN103281297A (en) | Enterprise information security management system and method | |
WO2015195125A1 (en) | Install runtime agent for security test | |
CN106131109B (en) | The method and apparatus that APP embeds any cost caching in webpage are realized based on http protocol | |
CN106254411B (en) | For providing system, server system and the method for service | |
CN104834594A (en) | Method and apparatus for testing web system | |
CN107688728A (en) | Program safety encryption method and device | |
CN104301419A (en) | Non-local-machine remote download control system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180213 |