CN112765633A - Reinforcing technology for virtualization of mobile application codes - Google Patents
Reinforcing technology for virtualization of mobile application codes Download PDFInfo
- Publication number
- CN112765633A CN112765633A CN202110106192.4A CN202110106192A CN112765633A CN 112765633 A CN112765633 A CN 112765633A CN 202110106192 A CN202110106192 A CN 202110106192A CN 112765633 A CN112765633 A CN 112765633A
- Authority
- CN
- China
- Prior art keywords
- instruction
- file
- app
- virtualization
- code
- 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
- 230000003014 reinforcing effect Effects 0.000 title description 4
- 238000000034 method Methods 0.000 claims abstract description 12
- 238000006243 chemical reaction Methods 0.000 claims abstract description 6
- 230000002787 reinforcement Effects 0.000 claims abstract description 6
- 238000005336 cracking Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 239000012634 fragment Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
The invention discloses a reinforcement technology for virtualization of mobile application codes, which comprises the following steps of S1: taking an original APP file and acquiring a code file of the original APP file; s2: analyzing the instruction information in the code file according to an instruction set of the mobile terminal operating system to obtain the specific information of the instruction needing virtualization; s3: performing virtualization conversion on the obtained instruction, namely converting the system specified instruction obtained in the step S2 into a custom instruction; s4: encrypting the converted user-defined instruction and storing the encrypted user-defined instruction in an APP file; s5: after the APP runs, firstly reading a stored user-defined instruction encryption file, and carrying out decryption operation on the user-defined instruction encryption file; s6: running a custom instruction analysis engine; s7: the engine finishes the explanation and returns the execution result, and the operation of the VMP is finished. According to the invention, the safety reinforcement strength of the APP code is improved; the method effectively aims at the code cracking and restoring means of the APP.
Description
Technical Field
The invention relates to the technical field of information security, in particular to a reinforcing technology for virtualization of mobile application codes.
Background
With the high-speed development of the mobile internet, the mobile terminal APP becomes a necessity in the life of people; APP of various industries and companies form rich mobile life scenes, and great convenience is brought to the life of people. In the process of APP conversion of various services, a large number of security problems emerge, wherein the security problems relate to source code leakage risk, core technology leakage, user fund security, user personal information leakage and the like; during this process countries are constantly perfecting and enacting industry regulations and laws restricting the mobile internet industry. In the process of safety regulation and constraint of industries through policy means, the participation of technical means is required, and a plurality of mobile safety APP reinforcement technical schemes are appeared on the market to protect the safety of mobile APP, wherein the confidentiality of an APP code belongs to one of the most basic protection means, the confidentiality of the code is generally ensured by wholly encrypting the code, but the code needs to be wholly decrypted and restored in the running process of the code, a plaintext code exists in a running memory, and is easy to be intercepted by malicious personnel to obtain the whole plaintext code, a higher-level code protection means is proposed later, the code is not wholly encrypted, the function in the code is independently encrypted, only the corresponding function is run to be decrypted and restored, and the technical means is greatly improved, an attacker cannot acquire the whole code file at one time, but the problem that the codes are restored in a memory still exists, all function code fragments can be acquired through technical means, and then the function code fragments are combined to acquire most function codes.
In summary, the original code protection means has shown limitation, and the strength is not high enough, and it can be decrypted and restored by a certain technical means. The VMP (virtual machine protection) technology can achieve a good protection effect under the situation, the VMP technology of the mobile end code can virtualize the code obtaining instruction, directly run the virtual instruction set during running, do not perform code restoration operation any more, can prevent the memory restoration operation of the code from the root, and greatly improve the encryption strength of the mobile code.
Disclosure of Invention
The invention aims to provide a reinforcing technology for virtualization of mobile application codes, and aims to solve the problems that in the prior art, code protection means have limitation and low strength, and can be decrypted and restored by certain technical means.
In order to achieve the purpose, the invention provides the following technical scheme: a hardening technique for mobile application code virtualization, comprising the steps of:
s1: taking an original APP file and acquiring a code file of the original APP file;
s2: analyzing the instruction information in the code file according to an instruction set of the mobile terminal operating system to obtain the specific information of the instruction needing virtualization;
s3: performing virtualization conversion on the obtained instruction, namely converting the system specified instruction obtained in the step S2 into a custom instruction;
s4: encrypting the converted user-defined instruction and storing the encrypted user-defined instruction in an APP file;
s5: after the APP runs, firstly reading a stored user-defined instruction encryption file, and carrying out decryption operation on the user-defined instruction encryption file;
s6: running a custom instruction analysis engine;
s7: the engine finishes the explanation and returns the execution result, and the operation of the VMP is finished.
Preferably, the custom instruction parsing engine in step S6 interprets and executes the custom instruction.
Preferably, the standard of the custom instruction parsing engine is to achieve the same execution result as the original instruction of the system.
Compared with the prior art, the invention has the beneficial effects that: the safety reinforcement strength of the APP code is improved; the code cracking and restoring method for the APP is effectively used; the self-defined instruction represents an instruction set which uses a completely self-defined instruction to represent code meaning and needs to be matched with a matched interpreter for operation; the custom instruction analysis engine, namely an interpreter, also called a VMP analysis engine, aligns to perform analysis operation according to a custom instruction agreed in advance, and finally needs to ensure that the operation result is consistent with the operation result of the code original instruction.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention and not to limit the invention. In the drawings:
FIG. 1 is a flow chart of VMP consolidation processing of the present invention.
FIG. 2 is a flowchart of the APP runtime of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be described clearly and completely with reference to the accompanying drawings of the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all embodiments of the present invention. All other embodiments, which can be obtained by a person skilled in the art without any inventive step based on the embodiments of the present invention, are within the scope of the present invention. Thus, the following detailed description of the embodiments of the present invention, presented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. All other embodiments, which can be obtained by a person skilled in the art without any inventive step based on the embodiments of the present invention, are within the scope of the present invention.
Referring to fig. 1-2, in an embodiment of the present invention, a reinforcement technique for virtualization of mobile application code includes the following steps:
s1: taking an original APP file and acquiring a code file of the original APP file;
s2: analyzing the instruction information in the code file according to an instruction set of the mobile terminal operating system to obtain the specific information of the instruction needing virtualization;
s3: performing virtualization conversion on the obtained instruction, namely converting the system specified instruction obtained in the step S2 into a custom instruction;
s4: encrypting the converted user-defined instruction and storing the encrypted user-defined instruction in an APP file;
s5: after the APP runs, firstly reading a stored user-defined instruction encryption file, and carrying out decryption operation on the user-defined instruction encryption file;
s6: the user-defined instruction analysis engine is operated, so that the user-defined instruction can be interpreted and executed, and the execution result same as the original instruction of the system is achieved;
s7: the engine finishes the explanation and returns the execution result, and the operation of the VMP is finished.
The working principle of the invention is as follows: taking an original APP file and acquiring a code file of the original APP file; analyzing the instruction information in the code file according to an instruction set of the mobile terminal operating system to obtain the specific information of the instruction needing virtualization; performing virtualization conversion on the obtained instruction, namely converting the obtained system specified instruction into a self-defined instruction; encrypting the converted user-defined instruction and storing the encrypted user-defined instruction in an APP file; after the APP runs, firstly reading a stored user-defined instruction encryption file, and carrying out decryption operation on the user-defined instruction encryption file; the user-defined instruction analysis engine is operated, so that the user-defined instruction can be interpreted and executed, and the execution result same as the original instruction of the system is achieved; the engine finishes the explanation and returns the execution result, and the operation of the VMP is finished.
Finally, it should be noted that: although the present invention has been described in detail with reference to the foregoing embodiments, it will be apparent to those skilled in the art that changes may be made in the embodiments and/or equivalents thereof without departing from the spirit and scope of the invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims (3)
1. A reinforcement technique for virtualization of mobile application code, characterized by: the method comprises the following steps:
s1: taking an original APP file and acquiring a code file of the original APP file;
s2: analyzing the instruction information in the code file according to an instruction set of the mobile terminal operating system to obtain the specific information of the instruction needing virtualization;
s3: performing virtualization conversion on the obtained instruction, namely converting the system specified instruction obtained in the step S2 into a custom instruction;
s4: encrypting the converted user-defined instruction and storing the encrypted user-defined instruction in an APP file;
s5: after the APP runs, firstly reading a stored user-defined instruction encryption file, and carrying out decryption operation on the user-defined instruction encryption file;
s6: running a custom instruction analysis engine;
s7: the engine finishes the explanation and returns the execution result, and the operation of the VMP is finished.
2. The hardening technique for mobile application code virtualization according to claim 1, wherein: the custom instruction parsing engine in step S6 interprets and executes the custom instruction.
3. A hardening technique for virtualization of mobile application code according to claim 1 or 2, characterized in that: the standard of the custom instruction parsing engine is to achieve the same execution result as the original instruction of the system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110106192.4A CN112765633A (en) | 2021-01-26 | 2021-01-26 | Reinforcing technology for virtualization of mobile application codes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110106192.4A CN112765633A (en) | 2021-01-26 | 2021-01-26 | Reinforcing technology for virtualization of mobile application codes |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112765633A true CN112765633A (en) | 2021-05-07 |
Family
ID=75707489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110106192.4A Pending CN112765633A (en) | 2021-01-26 | 2021-01-26 | Reinforcing technology for virtualization of mobile application codes |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112765633A (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130079004A (en) * | 2012-01-02 | 2013-07-10 | (주)소만사 | Mobile data loss prevention system and method for providing virtual security environment using file system virtualization on smart phone |
CN112052459A (en) * | 2020-08-05 | 2020-12-08 | 北京智游网安科技有限公司 | Code virtualization encryption method, terminal and storage medium |
CN112163195A (en) * | 2020-10-14 | 2021-01-01 | 北京邮电大学 | Novel virtual machine software protection method based on stack hiding |
-
2021
- 2021-01-26 CN CN202110106192.4A patent/CN112765633A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130079004A (en) * | 2012-01-02 | 2013-07-10 | (주)소만사 | Mobile data loss prevention system and method for providing virtual security environment using file system virtualization on smart phone |
CN112052459A (en) * | 2020-08-05 | 2020-12-08 | 北京智游网安科技有限公司 | Code virtualization encryption method, terminal and storage medium |
CN112163195A (en) * | 2020-10-14 | 2021-01-01 | 北京邮电大学 | Novel virtual machine software protection method based on stack hiding |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Abadi et al. | The applied pi calculus: Mobile values, new names, and secure communication | |
CN108595989B (en) | Mobile APP safety protection system and method under iOS | |
CN110069905A (en) | A kind of device and method of Springboot program encryption and decryption | |
CN103218549B (en) | A kind of method of Java source code encryption and decryption and device | |
CN110929234B (en) | Python program encryption protection system and method based on code virtualization | |
CN104680039B (en) | A kind of data guard method and device of application program installation kit | |
CN105095771B (en) | A kind of guard method of shared file destination and device | |
CN108363911B (en) | Python script obfuscating and watermarking method and device | |
CN110008745B (en) | Encryption method, computer equipment and computer storage medium | |
CN108399319B (en) | Source code protection method, application server and computer readable storage medium | |
CN111639306A (en) | Offline software authorization method, device, equipment and storage medium | |
US7970133B2 (en) | System and method for secure and flexible key schedule generation | |
JPH10301774A (en) | Method for providing software package and provider station and user station for realizing the same method and basic software package | |
CN111159662A (en) | Data processing method and device | |
CN113055152B (en) | Intermediate code encryption method based on completely homomorphic encryption technology and ciphertext virtual machine system | |
CN104573427A (en) | Confusing method and device of executable application | |
CN110704854B (en) | Stream type encryption method aiming at text data reserved format | |
CN104573426A (en) | Confusing method and device of executable application | |
CN111523120A (en) | Python source code security protection implementation method and system | |
CN110472425A (en) | Unity plug-in unit encryption method based on Mono, storage medium | |
CN109784071A (en) | A kind of encryption method of picture, decryption method and processing system | |
CN112765633A (en) | Reinforcing technology for virtualization of mobile application codes | |
CN113836495A (en) | Method for equivalently converting Java code into C + + code | |
CN109995526A (en) | A kind of storage method of key and the call method and device of device, key | |
JP2005049925A (en) | Device, program, and method for making program difficult to be read |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210507 |
|
RJ01 | Rejection of invention patent application after publication |