CN107688728A - Program safety encryption method and device - Google Patents

Program safety encryption method and device Download PDF

Info

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
Application number
CN201610638651.2A
Other languages
Chinese (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.)
Shanghai Wooden Chicken Network Technology Co Ltd
Original Assignee
Shanghai Wooden Chicken Network Technology Co Ltd
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 Shanghai Wooden Chicken Network Technology Co Ltd filed Critical Shanghai Wooden Chicken Network Technology Co Ltd
Priority to CN201610638651.2A priority Critical patent/CN107688728A/en
Publication of CN107688728A publication Critical patent/CN107688728A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting 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

Program safety encryption method and device
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)

  1. 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. 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. 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. 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.
  5. 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. 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. 7. program safety encryption method according to claim 5, it is characterised in that the virtual environment runs on webpage ring Border.
  8. 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. 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. 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. 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.
  12. 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. 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. 14. program safety encryption device according to claim 12, it is characterised in that the virtual environment runs on webpage Environment.
CN201610638651.2A 2016-08-05 2016-08-05 Program safety encryption method and device Pending CN107688728A (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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