CN112765633A - Reinforcing technology for virtualization of mobile application codes - Google Patents

Reinforcing technology for virtualization of mobile application codes Download PDF

Info

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
Application number
CN202110106192.4A
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 Manxi Technology Co ltd
Original Assignee
Shanghai Manxi 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 Manxi Technology Co ltd filed Critical Shanghai Manxi Technology Co ltd
Priority to CN202110106192.4A priority Critical patent/CN112765633A/en
Publication of CN112765633A publication Critical patent/CN112765633A/en
Pending legal-status Critical Current

Links

Images

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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

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

Reinforcing technology for virtualization of mobile application codes
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.
CN202110106192.4A 2021-01-26 2021-01-26 Reinforcing technology for virtualization of mobile application codes Pending CN112765633A (en)

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)

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

Patent Citations (3)

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