CN110909319B - Application processing method and related product - Google Patents

Application processing method and related product Download PDF

Info

Publication number
CN110909319B
CN110909319B CN201911205743.1A CN201911205743A CN110909319B CN 110909319 B CN110909319 B CN 110909319B CN 201911205743 A CN201911205743 A CN 201911205743A CN 110909319 B CN110909319 B CN 110909319B
Authority
CN
China
Prior art keywords
target
binary data
application
installation
free
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.)
Active
Application number
CN201911205743.1A
Other languages
Chinese (zh)
Other versions
CN110909319A (en
Inventor
黄哲东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oppo Chongqing Intelligent Technology Co Ltd
Original Assignee
Oppo Chongqing Intelligent 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 Oppo Chongqing Intelligent Technology Co Ltd filed Critical Oppo Chongqing Intelligent Technology Co Ltd
Priority to CN201911205743.1A priority Critical patent/CN110909319B/en
Publication of CN110909319A publication Critical patent/CN110909319A/en
Application granted granted Critical
Publication of CN110909319B publication Critical patent/CN110909319B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation

Abstract

The embodiment of the application discloses an application processing method and a related product, which are applied to electronic equipment, wherein the method comprises the following steps: acquiring a target installation-free application at an installation-free platform, wherein the target installation-free application comprises a target glue code and target binary data, and the target binary data is encrypted data; loading the target binary data through the target glue code; carrying out decryption operation on the target binary data to obtain non-encrypted binary data; and compiling the non-encrypted binary data to obtain a first service code corresponding to the target installation-free application. By adopting the method and the device, the probability that the installation-free application is cracked can be reduced.

Description

Application processing method and related product
Technical Field
The present application relates to the field of electronic technologies, and in particular, to an application processing method and a related product.
Background
With the widespread use of electronic devices (such as mobile phones, tablet computers, and the like), the electronic devices have more and more applications and more powerful functions, and the electronic devices are developed towards diversification and personalization, and become indispensable electronic products in the life of users.
At present, in the existing installation-free application, for example, a game (H5 game/fast game, etc.), during the development and operation process, an interpreted language (JavaScript) is used, and the application runs on a browser or an installation-free platform, although the code is obfuscated and compressed, the code can still be seen and understood in the clear, the code is easy to be cracked and copied, so that the cost of the game being embezzled is very low, and therefore, the problem of how to prevent the installation-free application from being cracked needs to be solved urgently.
Disclosure of Invention
The embodiment of the application provides an application processing method and a related product, and the probability that an installation-free application is cracked can be reduced.
In a first aspect, an embodiment of the present application provides an application processing method, where the method includes:
acquiring a target installation-free application at an installation-free platform, wherein the target installation-free application comprises a target glue code and target binary data, and the target binary data is encrypted data;
loading the target binary data through the target glue code;
carrying out decryption operation on the target binary data to obtain non-encrypted binary data;
and compiling the non-encrypted binary data to obtain a first service code corresponding to the target installation-free application.
In a second aspect, an embodiment of the present application provides an application processing apparatus, where the apparatus includes: an acquisition unit, a loading unit, a decryption unit and a compilation unit, wherein,
the acquiring unit is used for acquiring a target installation-free application on an installation-free platform, wherein the target installation-free application comprises a target glue code and target binary data, and the target binary data is encrypted data;
the loading unit is used for loading the target binary data through the target glue code;
the decryption unit is used for decrypting the target binary data to obtain unencrypted binary data;
and the compiling unit is used for compiling the unencrypted binary data to obtain a first service code corresponding to the target installation-free application.
In a third aspect, an embodiment of the present application provides an electronic device, including a processor, a memory, a communication interface, and one or more programs, where the one or more programs are stored in the memory and configured to be executed by the processor, and the program includes instructions for executing the steps in the first aspect of the embodiment of the present application.
In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program for electronic data exchange, where the computer program enables a computer to perform some or all of the steps described in the first aspect of the embodiment of the present application.
In a fifth aspect, embodiments of the present application provide a computer program product, where the computer program product includes a non-transitory computer-readable storage medium storing a computer program, where the computer program is operable to cause a computer to perform some or all of the steps as described in the first aspect of the embodiments of the present application. The computer program product may be a software installation package.
The embodiment of the application has the following beneficial effects:
it can be seen that the application processing method and the related product described in the embodiments of the present application are applied to an electronic device, and a target installation-free application is obtained on an installation-free platform, where the target installation-free application includes a target glue code and target binary data, the target binary data is encrypted data, and the target binary data is loaded through the target glue code; the method comprises the steps of carrying out decryption operation on target binary data to obtain unencrypted binary data, compiling the unencrypted binary data to obtain a first service code corresponding to a target installation-free application, calling the encrypted binary data through a glue code, and carrying out decryption and compilation to obtain a final service code.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1A is a schematic structural diagram of an electronic device according to an embodiment of the present disclosure;
fig. 1B is a schematic flowchart of an application processing method provided in an embodiment of the present application;
fig. 1C is a schematic flow chart of another application processing method provided in the embodiment of the present application;
fig. 1D is a schematic flow chart diagram of another application processing method provided in the embodiment of the present application;
FIG. 2 is a schematic flow chart diagram of another application processing method provided in the embodiments of the present application;
fig. 3 is a schematic structural diagram of another electronic device provided in an embodiment of the present application;
fig. 4A is a block diagram of functional units of an application processing apparatus according to an embodiment of the present application;
fig. 4B is a block diagram of functional units of another application processing apparatus according to an embodiment of the present disclosure;
fig. 4C is a block diagram of functional units of another application processing apparatus according to an embodiment of the present disclosure.
Detailed Description
In order to make the technical solutions of the present application better understood, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The terms "first," "second," and the like in the description and claims of the present application and in the above-described drawings are used for distinguishing between different objects and not for describing a particular order. Furthermore, the terms "include" and "have," as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those steps or elements listed, but may alternatively include other steps or elements not listed, or inherent to such process, method, article, or apparatus.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the application. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. It is explicitly and implicitly understood by one skilled in the art that the embodiments described herein can be combined with other embodiments.
The electronic device related to the embodiment of the present application may include various handheld devices (smart phones, tablet computers, etc.) having a wireless communication function, vehicle-mounted devices (navigators, vehicle-mounted refrigerators, vehicle-mounted dust collectors, etc.), wearable devices (smart watches, smart bracelets, wireless headsets, augmented reality/virtual reality devices, smart glasses), computing devices or other processing devices connected to wireless modems, and various forms of User Equipment (UE), Mobile Stations (MS), terminal devices (terminal device), and the like. For convenience of description, the above-mentioned devices are collectively referred to as electronic devices.
The following describes embodiments of the present application in detail.
Referring to fig. 1A, fig. 1A is a schematic structural diagram of an electronic device disclosed in an embodiment of the present application, the electronic device 100 includes a storage and processing circuit 110, and a sensor 170 connected to the storage and processing circuit 110, where:
the electronic device 100 may include control circuitry, which may include storage and processing circuitry 110. The storage and processing circuitry 110 may be a memory, such as a hard drive memory, a non-volatile memory (e.g., flash memory or other electronically programmable read-only memory used to form a solid state drive, etc.), a volatile memory (e.g., static or dynamic random access memory, etc.), etc., and the embodiments of the present application are not limited thereto. Processing circuitry in storage and processing circuitry 110 may be used to control the operation of electronic device 100. The processing circuitry may be implemented based on one or more microprocessors, microcontrollers, digital signal processors, baseband processors, power management units, audio codec chips, application specific integrated circuits, display driver integrated circuits, and the like.
The storage and processing circuitry 110 may be used to run software in the electronic device 100, such as an Internet browsing application, a Voice Over Internet Protocol (VOIP) telephone call application, an email application, a media playing application, operating system functions, and so forth. Such software may be used to perform control operations such as, for example, camera-based image capture, ambient light measurement based on an ambient light sensor, proximity sensor measurement based on a proximity sensor, information display functionality based on status indicators such as status indicator lights of light emitting diodes, touch event detection based on a touch sensor, functionality associated with displaying information on multiple (e.g., layered) display screens, operations associated with performing wireless communication functionality, operations associated with collecting and generating audio signals, control operations associated with collecting and processing button press event data, and other functions in the electronic device 100, to name a few.
The electronic device 100 may include input-output circuitry 150. The input-output circuit 150 may be used to enable the electronic device 100 to input and output data, i.e., to allow the electronic device 100 to receive data from an external device and also to allow the electronic device 100 to output data from the electronic device 100 to the external device. The input-output circuit 150 may further include a sensor 170. The sensor 170 may include an ultrasonic module, and may further include an ambient light sensor, a proximity sensor based on light and capacitance, a touch sensor (for example, based on a light touch sensor and/or a capacitive touch sensor, where the touch sensor may be a part of a touch display screen, or may be used independently as a touch sensor structure), an acceleration sensor, a temperature sensor, and other sensors.
Input-output circuit 150 may also include one or more display screens, such as display screen 130. The display 130 may include one or a combination of liquid crystal display, organic light emitting diode display, electronic ink display, plasma display, display using other display technologies. The display screen 130 may include an array of touch sensors (i.e., the display screen 130 may be a touch display screen). The touch sensor may be a capacitive touch sensor formed by a transparent touch sensor electrode (e.g., an Indium Tin Oxide (ITO) electrode) array, or may be a touch sensor formed using other touch technologies, such as acoustic wave touch, pressure sensitive touch, resistive touch, optical touch, and the like, and the embodiments of the present application are not limited thereto.
The electronic device 100 may also include an audio component 140. The audio component 140 may be used to provide audio input and output functionality for the electronic device 100. The audio components 140 in the electronic device 100 may include a speaker, a microphone, a buzzer, a tone generator, and other components for generating and detecting sound.
The communication circuit 120 may be used to provide the electronic device 100 with the capability to communicate with external devices. The communication circuit 120 may include analog and digital input-output interface circuits, and wireless communication circuits based on radio frequency signals and/or optical signals. The wireless communication circuitry in communication circuitry 120 may include radio-frequency transceiver circuitry, power amplifier circuitry, low noise amplifiers, switches, filters, and antennas. For example, the wireless Communication circuitry in Communication circuitry 120 may include circuitry to support Near Field Communication (NFC) by transmitting and receiving Near Field coupled electromagnetic signals. For example, the communication circuit 120 may include a near field communication antenna and a near field communication transceiver. The communications circuitry 120 may also include a cellular telephone transceiver and antenna, a wireless local area network transceiver circuitry and antenna, and so forth.
The electronic device 100 may further include a battery, power management circuitry, and other input-output units 160. The input-output unit 160 may include buttons, joysticks, click wheels, scroll wheels, touch pads, keypads, keyboards, cameras, light emitting diodes and other status indicators, and the like.
A user may input commands through input-output circuitry 150 to control the operation of electronic device 100, and may use output data of input-output circuitry 150 to enable receipt of status information and other outputs from electronic device 100.
The electronic device described above with reference to fig. 1A may be configured to implement the following functions:
acquiring a target installation-free application at an installation-free platform, wherein the target installation-free application comprises a target glue code and target binary data, and the target binary data is encrypted data;
loading the target binary data through the target glue code;
carrying out decryption operation on the target binary data to obtain non-encrypted binary data;
and compiling the non-encrypted binary data to obtain a first service code corresponding to the target installation-free application.
It can be seen that the electronic device described in the embodiment of the present application can obtain a target installation-free application on an installation-free platform, where the target installation-free application includes a target glue code and target binary data, the target binary data is encrypted data, and the target binary data is loaded through the target glue code; the method comprises the steps of carrying out decryption operation on target binary data to obtain unencrypted binary data, compiling the unencrypted binary data to obtain a first service code corresponding to a target installation-free application, calling the encrypted binary data through a glue code, and carrying out decryption and compilation to obtain a final service code.
Referring to fig. 1B, fig. 1B is a schematic flowchart of an application processing method according to an embodiment of the present application, and as shown in the drawing, the application processing method is applied to the electronic device shown in fig. 1A, and the application processing method includes:
101. and acquiring a target installation-free application at an installation-free platform, wherein the target installation-free application comprises a target glue code and target binary data, and the target binary data is encrypted data.
The installation-free application can be understood as an application that can be run when the website is started and that does not need to be installed, and the function corresponding to the application can be quickly implemented, for example, a game (H5 game/fast game, etc.), and the installation-free platform can be understood as a platform that can implement the operation of the installation-free application. The target installation-free application may be at least one of: the game application, the meal ordering application, the payment application, the office application, the mailbox application, and the like are not limited herein, and the installation-free platform may be a wechat platform, a paypal platform, a fast application platform, and the like, and is not limited herein.
In the programming arts, glue codes may also be referred to as adhesive codes, which may be used to adhere to codes that may be incompatible. For example, the glue code may be written in the same language as the code glued together, or in a separate glue language, which may not implement any functionality required by the program, which is typically present in code, enabling existing libraries or programs to interoperate in an external function interface (e.g., a Java native interface), which can be very efficient in a rapid prototyping environment, allowing several components to be quickly integrated into a single language or framework.
In this embodiment of the application, the electronic device may obtain the target installation-free application on the installation-free platform, the target installation-free application may include a target glue code and target binary data, the target binary data may be encrypted data, and a data mode of the target binary data may be at least one of the following: a symmetric encryption mode or an asymmetric encryption mode, wherein the symmetric encryption mode may be at least one of the following: DES, 3DES, TDEA, Blowfish, RC2, RC4, RC5, IDEA, SKIPJACK, AES, etc., and the asymmetric encryption mode can be as follows: RSA encryption, shift-first and xor-second encryption, etc., and the like, but are not limited thereto. The target glue code is used for realizing code reading loading or realizing pre-starting, for example, the target glue code may be responsible for driving the whole code to run, the target glue code may read binary data, integrate platform capabilities, and encrypt and compile an interface provided to the platform together, and the binary code may be used for realizing platform capability calling.
In one possible example, platform capabilities may be understood as business logic, the platform capabilities being at least one of: file capability, network capability, audio capability, video capability, drawing capability, each platform capability may correspond to a calling interface.
102. And loading the target binary data through the target glue code.
In the embodiment of the application, the electronic device can load the target binary data through the target glue code.
103. And carrying out decryption operation on the target binary data to obtain unencrypted binary data.
In specific implementation, because the target binary data is encrypted data, the probability that the target installation-free application is cracked can be reduced, the application safety is improved, and the copyright protection capability is favorably improved. Furthermore, the electronic device can perform decryption operation by adopting a decryption mode corresponding to the original encryption mode to obtain the binary data without encryption.
In a possible example, when the target binary data is encrypted by using a shift operation and then using an exclusive-or operation, the step 103 of decrypting the target binary data to obtain unencrypted binary data may include the following steps:
31. performing exclusive-or operation on the target binary data to obtain intermediate binary data;
32. and carrying out shift operation on the intermediate binary data to obtain the unencrypted binary data.
In the specific implementation, the target binary data is encrypted by the exclusive-or operation and then by the shift operation, so that the electronic equipment can perform the exclusive-or operation on the target binary data to obtain intermediate binary data, and the intermediate binary data is only the data encrypted by the shift operation and is subjected to the shift operation to obtain unencrypted binary data.
104. And compiling the non-encrypted binary data to obtain a first service code corresponding to the target installation-free application.
In specific implementation, the electronic device may obtain the first service code corresponding to the target installation-free application for the unencrypted binary data, and may further run the first service code. The compiling process may include two processes of compiling and linking, where a compiling part may be understood as converting a source file (code) into a binary language recognizable by a machine, and linking may be understood as combining a binary file generated by compiling into an executable file executable by a system, and these two parts are also called compiling as a whole. That is, a broad compilation is a conversion of code into an executable file. After compiling, the first service code can be run, so that the installation-free application can realize platform capability calling. Running is understood to mean the process of running a compiled executable file in a system, called running of a program.
Taking the game application as an example, because the business logic code of the game is not exposed in a plaintext mode any more, the code is prevented from being cracked and copied, and the difficulty of code understanding is increased; the logic of the code is not easily understood, reducing the possibility of game cheating.
In a possible example, in step 104, after compiling and running the binary data without encryption to obtain the first service code corresponding to the target installation-free application, the following steps may be further included:
a1, establishing a mapping relation between platform capability and a calling interface of binary data based on the first service code;
a2, acquiring a target calling interface corresponding to the unencrypted binary data;
a3, calling the target platform capability based on the target calling interface.
The first service code is realized based on an installation-free platform, and corresponds to the binary data without encryption, so that the first service code inevitably calls platform capacity to realize a series of operations, and thus, a mapping relation between the platform capacity and a calling interface of the binary data inevitably exists, and further, the electronic equipment can obtain a target calling interface corresponding to the binary data without encryption, and further, can call the target platform capacity based on the target calling interface.
In one possible example, before the installation-free platform acquires the target installation-free application in step 101, the following steps may be further included:
b1, acquiring a first business code corresponding to the target installation-free application, wherein the first business code is realized based on a first language supported by an engine in an application development engine tool;
b2, converting the first service code from the first language into a second service code realized based on a second language supported by the LLVM of the bottom layer virtual machine;
b3, compiling the second service code to obtain the unencrypted binary data and the target glue code;
b4, encrypting the binary data without encryption to obtain the target binary data;
b5, packaging the target binary data and the target glue code to obtain the target installation-free application.
In a specific implementation, before obtaining a target installation-free application, an electronic device may obtain a first service code corresponding to the target installation-free application, where the first service code is implemented based on a first language supported by an engine in an application development engine tool, and may convert the first service code from the first language into a second service code implemented based on a second language supported by a bottom level virtual machine (LLVM), where the first language is, for example, C #, and the second language is C + +, the first service code implemented by C # may be converted into the second service code implemented by C + +, and the second service code may be compiled to obtain unencrypted binary data and the target glue code, where the target glue code is used to implement read loading or pre-boot, and the second code may be used to implement platform capability invocation, and encrypting the non-encrypted binary data to obtain target binary data, and packaging the target binary data and the target glue code by a packaging tool to obtain the target installation-free application.
In a possible example, in a specific implementation, taking a game application as an example, the embodiment of the present application may be implemented based on a development platform and a user side, as shown in fig. 1C, specifically as follows:
aiming at the development platform side: includes the following steps S1-S3:
s1, the developer uses the language supported by the engine to write and develop the game business code in the game engine tool, for example: c #, Java, etc.;
s2, converting the game service logic code written by the engine development language directly or indirectly into the language of C + +, C and other common LLVM supporting compilation;
s3, compiling service logic codes written by languages supported by LLVM such as C + + and the like according to specified specifications to generate binary data and glue codes, encrypting the binary data, including shifting and the like, and performing confusion compression on the glue codes;
for the client side, the following steps S4-S5 are included:
s4, the generated glue code is responsible for reading and loading the encrypted binary data, and the read code content is sent to an installation-free platform;
and S5, the installation-free platform decrypts and compiles the binary data to obtain the binary code for running the game.
Among them, in steps S1 and S2, if the developer uses an interpreted language (Java, C #, etc.), the compilation tool (Mono, etc.) can compile it into a language supported by LLVM. If a language supported by the LLVM compilation tool is used (e.g., C, C + +, Rust, etc.), no further compilation may be required.
Further, in step S3, during the process of compiling the languages (C + +, C, etc.) supported by the LLVM into binary data, a glue code may be extracted, where the glue code may inject the basic capabilities (network, file system, audio, drawing, etc.) provided by the installation-free platform into the memory corresponding to the binary data for the binary code to call. At this point, the binary code may be intermodulated with platform capabilities during operation.
In step S4, the glue code may be responsible for driving the whole code to run, and the glue code may read the binary code data, integrate the platform capabilities, and perform encryption and compilation on the interface provided to the platform.
In step S5, the interface provided by the platform for running the binary data is called, and first, the binary data in the memory can be decrypted, mainly by performing decryption methods such as xor and shift, and the decrypted binary data is compiled, and the platform capability object is mapped in the memory with the address called by the binary data, so that the service logic code in the game can call the capability provided by the platform, and thus, the platform capability of the installation-free platform can be called by the installation-free application.
Further, as shown in fig. 1D, in this embodiment of the application, the installation-free platform may run the glue code by using platform capabilities, where the platform capabilities are as follows: the game service code can be used for intermodulation of platform capability and binary data.
In a possible example, between the step 101 and the step 102, the following steps may be further included:
c1, acquiring target identity information of the target object;
c2, verifying the target identity information;
c3, when the target identity information is successfully verified, executing the step of loading the target binary data by the target glue code.
Wherein, the target identity information may be at least one of the following: the fingerprint image, the iris image, the face image, the vein image, etc. may be stored in the electronic device in advance without limitation. In a specific implementation, the electronic device may obtain target identity information of the target object, match the target identity information with preset identity information, and when the target identity information and the preset identity information are successfully matched, determine that the target identity information is successfully verified, otherwise, determine that the target identity information is failed to be verified.
Further, when the preset identity information is the target face image and the preset identity information is the preset face image, in a possible example, the following steps may be further included between the above steps C1-C2:
c4, determining the first definition corresponding to the target face image;
c5, dividing the target face image into a plurality of areas;
c6, determining the distribution density of the characteristic points corresponding to each of the multiple areas to obtain multiple distribution densities of the characteristic points;
c7, performing mean square error operation according to the distribution density of the plurality of characteristic points to obtain a target mean square error;
c8, determining a target definition adjusting coefficient corresponding to the target mean square error according to a mapping relation between a preset mean square error and a definition adjusting coefficient;
c9, adjusting the first definition according to the target definition adjusting coefficient to obtain a second definition;
and C10, determining the image quality evaluation value corresponding to the second definition according to the preset mapping relation between the definition and the image quality evaluation value.
And C11, when the image quality evaluation value is lower than a preset threshold value, performing image enhancement processing on the target face image to obtain an enhanced target face image.
Then, step C2, verifying the target identity information, may be implemented as follows:
and matching the enhanced target face image with the preset face image, and confirming that the target identity information is successfully verified when the matching value between the enhanced target face image and the preset face image is greater than a preset matching threshold value.
The preset threshold and the preset matching threshold can be set by a user or default by a system, the electronic device can determine the first definition corresponding to the target face image, the target face image can be divided into a plurality of regions, the area of each region in the plurality of regions can be the same or different, the number of feature points in each region in the plurality of regions can be determined, and the distribution density of the feature points corresponding to each region in the plurality of regions can be determined according to the number of the feature points and the area of each region, so that the distribution density of the plurality of feature points can be obtained.
Furthermore, the electronic device may perform a mean square error operation according to the distribution density of the plurality of feature points to obtain a target mean square error, a mapping relationship between a preset mean square error and a definition adjustment coefficient may be pre-stored in the electronic device, a value range of the definition adjustment coefficient may be-0.35 to 0.35, a target definition adjustment coefficient corresponding to the target mean square error may be determined according to the mapping relationship between the preset mean square error and the definition adjustment coefficient, and the first definition may be adjusted according to the target definition adjustment coefficient to obtain a second definition, i.e., a second definition (1+ target definition adjustment coefficient) first definition, a mapping relationship between the preset definition and an image quality evaluation value may be pre-stored in the electronic device, i.e., a mapping relationship between the preset definition and the image quality evaluation value may be pre-stored in the electronic device, and determining the image quality evaluation value corresponding to the second definition. On the one hand, the preliminary image quality evaluation can be preliminarily evaluated through definition, on the other hand, the preliminary image quality evaluation result can be adjusted through the relevance (mean square error) between neighborhoods, and finally, the normalization processing is carried out through the mapping relation between the preset definition and the image quality evaluation value, namely, the image quality evaluation value is restricted in a certain range, for example, 0-1 range or 0-100 range, so that the image quality evaluation can be accurately realized to a certain degree, furthermore, when the image quality evaluation value is lower than a preset threshold value, the electronic equipment can carry out image enhancement processing on the target image to obtain an enhanced target face image, and the image enhancement processing can be at least one of the following: gray level stretching, histogram equalization, wavelet transformation and the like are not limited, otherwise, the target face image is not subjected to image enhancement processing, but is directly matched with the preset face image.
Furthermore, the enhanced target face image can be matched with the preset face image, when the matching value between the enhanced target face image and the preset face image is greater than a preset matching threshold value, the verification of the target identity information is successful, otherwise, the verification of the target identity information is failed, so that the image quality can be accurately evaluated, the image enhancement processing is reasonably carried out on the image, and the face recognition efficiency is favorably improved.
It can be seen that the application processing method described in the embodiment of the present application is applied to an electronic device, and obtains a target installation-free application on an installation-free platform, where the target installation-free application includes a target glue code and target binary data, the target binary data is encrypted data, and the target binary data is loaded by the target glue code; the method comprises the steps of carrying out decryption operation on target binary data to obtain unencrypted binary data, compiling the unencrypted binary data to obtain a first service code corresponding to a target installation-free application, calling the encrypted binary data through a glue code, and carrying out decryption and compilation to obtain a final service code.
Referring to fig. 2, in accordance with the embodiment shown in fig. 1B, fig. 2 is a schematic flowchart of an application processing method provided in the embodiment of the present application, and as shown in the drawing, the application processing method is applied to the electronic device shown in fig. 1A, and the application processing method includes:
201. the method comprises the steps of obtaining a first business code corresponding to a target installation-free application, wherein the first business code is realized based on a first language supported by an engine in an application development engine tool.
202. And converting the first service code from the first language into a second service code realized based on a second language supported by the LLVM of the bottom layer virtual machine.
203. And compiling the second service code to obtain non-encrypted binary data and a target glue code.
204. And encrypting the binary data without encryption to obtain target binary data.
205. And packaging the target binary data and the target glue code to obtain the target installation-free application.
206. And acquiring the target installation-free application at an installation-free platform, wherein the target installation-free application comprises the target glue code and the target binary data, and the target binary data is encrypted data.
207. And loading the target binary data through the target glue code.
208. And carrying out decryption operation on the target binary data to obtain the non-encrypted binary data.
209. And compiling the non-encrypted binary data to obtain a first service code corresponding to the target installation-free application.
For the detailed description of the steps 201 to 209, reference may be made to corresponding steps of the application processing method described in fig. 1B, which are not described herein again.
It can be seen that the application processing method described in the embodiment of the present application is applied to an electronic device, and is configured to obtain a first service code corresponding to a target installation-free application, where the first service code is implemented based on a first language supported by an engine in an application development engine tool, convert the first service code from the first language into a second service code implemented based on a second language supported by a bottom layer virtual machine LLVM, compile the second service code to obtain unencrypted binary data and a target glue code, encrypt the unencrypted binary data to obtain target binary data, package the target binary data and the target glue code to obtain the target installation-free application, obtain the target installation-free application on an installation-free platform, where the target installation-free application includes the target glue code and the target binary data, and the target binary data is encrypted data, loading target binary data through the target glue code; the method comprises the steps of carrying out decryption operation on target binary data to obtain unencrypted binary data, compiling the unencrypted binary data to obtain a first service code corresponding to a target installation-free application, calling the encrypted binary data through a glue code, and carrying out decryption and compilation to obtain a final service code.
In accordance with the foregoing embodiments, please refer to fig. 3, fig. 3 is a schematic structural diagram of an electronic device according to an embodiment of the present application, and as shown in the drawing, the electronic device includes a processor, a memory, a communication interface, and one or more programs, the one or more programs are stored in the memory and configured to be executed by the processor, and in an embodiment of the present application, the programs include instructions for performing the following steps:
acquiring a target installation-free application at an installation-free platform, wherein the target installation-free application comprises a target glue code and target binary data, and the target binary data is encrypted data;
loading the target binary data through the target glue code;
carrying out decryption operation on the target binary data to obtain non-encrypted binary data;
and compiling the non-encrypted binary data to obtain a first service code corresponding to the target installation-free application.
It can be seen that, in the electronic device described in the embodiment of the present application, a target installation-free application is obtained on an installation-free platform, where the target installation-free application includes a target glue code and target binary data, the target binary data is encrypted data, and the target binary data is loaded through the target glue code; the method comprises the steps of carrying out decryption operation on target binary data to obtain unencrypted binary data, compiling the unencrypted binary data to obtain a first service code corresponding to a target installation-free application, calling the encrypted binary data through a glue code, and carrying out decryption and compilation to obtain a final service code.
In one possible example, the target binary data is encrypted by a shift operation and then an exclusive-or operation, and the program includes instructions for performing the following steps in the decryption operation on the target binary data to obtain unencrypted binary data:
performing exclusive-or operation on the target binary data to obtain intermediate binary data;
and carrying out shift operation on the intermediate binary data to obtain the unencrypted binary data.
In one possible example, after the non-encrypted binary data is compiled to obtain the first service code corresponding to the target installation-free application, the program further includes instructions for performing the following steps:
based on the first service code, establishing a mapping relation between platform capacity and a calling interface of binary data;
acquiring a target calling interface corresponding to the non-encrypted binary data;
and calling the target platform capability based on the target calling interface.
In one possible example, the platform capability is at least one of: file capability, network capability, audio capability, video capability, drawing capability.
In one possible example, before the obtaining the target install-free application at the install-free platform, the program further includes instructions for:
acquiring a first service code corresponding to the target installation-free application, wherein the first service code is realized based on a first language supported by an engine in an application development engine tool;
converting the first service code from the first language into a second service code realized based on a second language supported by the LLVM of the bottom layer virtual machine;
compiling the second service code to obtain the non-encrypted binary data and the target glue code;
encrypting the binary data without encryption to obtain the target binary data;
and packaging the target binary data and the target glue code to obtain the target installation-free application.
The above description has introduced the solution of the embodiment of the present application mainly from the perspective of the method-side implementation process. It is understood that the electronic device comprises corresponding hardware structures and/or software modules for performing the respective functions in order to realize the above-mentioned functions. Those of skill in the art will readily appreciate that the present application is capable of hardware or a combination of hardware and computer software implementing the various illustrative elements and algorithm steps described in connection with the embodiments provided herein. Whether a function is performed as hardware or computer software drives hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiment of the present application, the electronic device may be divided into the functional units according to the method example, for example, each functional unit may be divided corresponding to each function, or two or more functions may be integrated into one processing unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit. It should be noted that the division of the unit in the embodiment of the present application is schematic, and is only a logic function division, and there may be another division manner in actual implementation.
Fig. 4A is a block diagram of functional units of the application processing apparatus 400 according to the embodiment of the present application. The application processing apparatus 400 is applied to an electronic device, and the apparatus includes: an acquisition unit 401, a loading unit 402, a decryption unit 403, and a compilation unit 404, wherein,
the obtaining unit 401 is configured to obtain a target installation-free application on an installation-free platform, where the target installation-free application includes a target glue code and target binary data, and the target binary data is encrypted data;
the loading unit 402 is configured to load the target binary data through the target glue code;
the decryption unit 403 is configured to perform decryption operation on the target binary data to obtain unencrypted binary data;
the compiling unit 404 is configured to compile the unencrypted binary data to obtain a first service code corresponding to the target installation-free application.
It can be seen that the application processing apparatus described in the embodiment of the present application is applied to an electronic device, and obtains a target installation-free application on an installation-free platform, where the target installation-free application includes a target glue code and target binary data, the target binary data is encrypted data, and the target binary data is loaded by the target glue code; the method comprises the steps of carrying out decryption operation on target binary data to obtain unencrypted binary data, compiling the unencrypted binary data to obtain a first service code corresponding to a target installation-free application, calling the encrypted binary data through a glue code, and carrying out decryption and compilation to obtain a final service code.
In a possible example, the target binary data is encrypted by using a shift operation and then using an exclusive-or operation, and in terms of performing a decryption operation on the target binary data to obtain unencrypted binary data, the decryption unit 403 is specifically configured to:
performing exclusive-or operation on the target binary data to obtain intermediate binary data;
and carrying out shift operation on the intermediate binary data to obtain the unencrypted binary data.
In one possible example, as shown in fig. 4B, fig. 4B is a further modified structure of the application processing apparatus shown in fig. 4A, which may further include, compared with fig. 4A: the establishing unit 405 and the calling unit 406 are specifically as follows:
an establishing unit 405, configured to establish a mapping relationship between a platform capability and a call interface of binary data based on the first service code;
the obtaining unit 401 is further configured to obtain a target call interface corresponding to the unencrypted binary data;
a calling unit 406, configured to call a target platform capability based on the target calling interface.
In one possible example, the platform capability is at least one of: file capability, network capability, audio capability, video capability, drawing capability.
In one possible example, as shown in fig. 4C, fig. 4C is a further modified structure of the application processing apparatus shown in fig. 4A, which may further include, compared with fig. 4A: the conversion unit 407, the encryption unit 408, and the packaging unit 409 are specifically as follows:
the obtaining unit 401 is further configured to obtain a first service code corresponding to the target installation-free application, where the first service code is implemented based on a first language supported by an engine in an application development engine tool;
the converting unit 407 is configured to convert the first service code from the first language into a second service code implemented based on a second language supported by the underlying virtual machine LLVM;
the compiling unit 404 is further configured to compile the second service code to obtain the unencrypted binary data and the target glue code;
the encrypting unit 408 is configured to encrypt the unencrypted binary data to obtain the target binary data;
the packaging unit 409 is configured to package the target binary data and the target glue code to obtain the target installation-free application.
It is to be understood that the functions of each program module of the application processing apparatus in this embodiment may be specifically implemented according to the method in the foregoing method embodiment, and the specific implementation process may refer to the relevant description of the foregoing method embodiment, which is not described herein again.
Embodiments of the present application also provide a computer storage medium, where the computer storage medium stores a computer program for electronic data exchange, the computer program enabling a computer to execute part or all of the steps of any one of the methods described in the above method embodiments, and the computer includes an electronic device.
Embodiments of the present application also provide a computer program product comprising a non-transitory computer readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps of any of the methods as described in the above method embodiments. The computer program product may be a software installation package, the computer comprising an electronic device.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present application is not limited by the order of acts described, as some steps may occur in other orders or concurrently depending on the application. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required in this application.
In the foregoing embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus may be implemented in other manners. For example, the above-described embodiments of the apparatus are merely illustrative, and for example, the above-described division of the units is only one type of division of logical functions, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection of some interfaces, devices or units, and may be an electric or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit may be stored in a computer readable memory if it is implemented in the form of a software functional unit and sold or used as a stand-alone product. Based on such understanding, the technical solution of the present application may be substantially implemented or a part of or all or part of the technical solution contributing to the prior art may be embodied in the form of a software product stored in a memory, and including several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the above-mentioned method of the embodiments of the present application. And the aforementioned memory comprises: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
Those skilled in the art will appreciate that all or part of the steps in the methods of the above embodiments may be implemented by associated hardware instructed by a program, which may be stored in a computer-readable memory, which may include: flash Memory disks, Read-Only memories (ROMs), Random Access Memories (RAMs), magnetic or optical disks, and the like.
The foregoing detailed description of the embodiments of the present application has been presented to illustrate the principles and implementations of the present application, and the above description of the embodiments is only provided to help understand the method and the core concept of the present application; meanwhile, for a person skilled in the art, according to the idea of the present application, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present application.

Claims (9)

1. An application processing method, characterized in that the method comprises:
acquiring a target installation-free application at an installation-free platform, wherein the target installation-free application comprises a target glue code and target binary data, the target binary data is encrypted data, and the target installation-free application is an application which runs when a website is started and does not need to be installed;
loading the target binary data through the target glue code;
carrying out decryption operation on the target binary data to obtain non-encrypted binary data;
wherein, prior to the obtaining of the target install-free application at the install-free platform, the method further comprises:
acquiring a first service code corresponding to the target installation-free application, wherein the first service code is realized based on a first language supported by an engine in an application development engine tool;
converting the first service code from the first language into a second service code realized based on a second language supported by the LLVM of the bottom layer virtual machine;
compiling the second service code to obtain the non-encrypted binary data and the target glue code;
encrypting the binary data without encryption to obtain the target binary data;
and packaging the target binary data and the target glue code to obtain the target installation-free application.
2. The method of claim 1, wherein the target binary data is encrypted by a shift operation and then an exclusive-or operation, and the decrypting the target binary data to obtain unencrypted binary data comprises:
performing exclusive-or operation on the target binary data to obtain intermediate binary data;
and carrying out shift operation on the intermediate binary data to obtain the unencrypted binary data.
3. The method according to claim 1 or 2, characterized in that the method further comprises:
establishing a mapping relation between platform capacity and a calling interface of binary data;
acquiring a target calling interface corresponding to the non-encrypted binary data;
and calling the target platform capability based on the target calling interface.
4. The method of claim 3, wherein the platform capability is at least one of: file capability, network capability, audio capability, video capability, drawing capability.
5. An application processing apparatus, characterized in that the apparatus comprises: an acquisition unit, a loading unit and a decryption unit, wherein,
the system comprises an acquisition unit, a display unit and a display unit, wherein the acquisition unit is used for acquiring a target installation-free application on an installation-free platform, the target installation-free application comprises a target glue code and target binary data, the target binary data is encrypted data, and the target installation-free application is an application which runs when a website is started and does not need to be installed;
the loading unit is used for loading the target binary data through the target glue code;
the decryption unit is used for decrypting the target binary data to obtain unencrypted binary data;
before the installation-free platform acquires the target installation-free application, the device is further specifically configured to:
acquiring a first service code corresponding to the target installation-free application, wherein the first service code is realized based on a first language supported by an engine in an application development engine tool;
converting the first service code from the first language into a second service code realized based on a second language supported by the LLVM of the bottom layer virtual machine;
compiling the second service code to obtain the non-encrypted binary data and the target glue code;
encrypting the binary data without encryption to obtain the target binary data;
and packaging the target binary data and the target glue code to obtain the target installation-free application.
6. The apparatus of claim 5, wherein the target binary data is encrypted by a shift operation and then by an exclusive-or operation, and the decryption unit is specifically configured to, in the aspect of performing the decryption operation on the target binary data to obtain unencrypted binary data:
performing exclusive-or operation on the target binary data to obtain intermediate binary data;
and carrying out shift operation on the intermediate binary data to obtain the unencrypted binary data.
7. The apparatus of claim 5 or 6, further comprising:
the establishing unit is used for establishing a mapping relation between the platform capability and a calling interface of the binary data;
the obtaining unit is further configured to obtain a target call interface corresponding to the unencrypted binary data;
and the calling unit is used for calling the target platform capability based on the target calling interface.
8. An electronic device comprising a processor, a memory for storing one or more programs and configured for execution by the processor, the programs comprising instructions for performing the steps in the method of any of claims 1-4.
9. A computer-readable storage medium, characterized in that a computer program for electronic data exchange is stored, wherein the computer program causes a computer to perform the method according to any one of claims 1-4.
CN201911205743.1A 2019-11-29 2019-11-29 Application processing method and related product Active CN110909319B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911205743.1A CN110909319B (en) 2019-11-29 2019-11-29 Application processing method and related product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911205743.1A CN110909319B (en) 2019-11-29 2019-11-29 Application processing method and related product

Publications (2)

Publication Number Publication Date
CN110909319A CN110909319A (en) 2020-03-24
CN110909319B true CN110909319B (en) 2022-03-29

Family

ID=69820842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911205743.1A Active CN110909319B (en) 2019-11-29 2019-11-29 Application processing method and related product

Country Status (1)

Country Link
CN (1) CN110909319B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112102623A (en) * 2020-08-24 2020-12-18 深圳云天励飞技术股份有限公司 Traffic violation identification method and device and intelligent wearable device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101482817A (en) * 2008-12-18 2009-07-15 浙江大学 Large-particle Java component assembly method based on black box
CN103177199A (en) * 2011-12-22 2013-06-26 盛乐信息技术(上海)有限公司 Webpage application code protective method and system, and executive speed-up method and system
CN103176807A (en) * 2011-12-22 2013-06-26 盛乐信息技术(上海)有限公司 Method and system for acceleration of Webpage application execution
US8626919B1 (en) * 2008-11-07 2014-01-07 Google Inc. Installer-free applications using native code modules and persistent local storage
CN104572278A (en) * 2014-12-22 2015-04-29 百度在线网络技术(北京)有限公司 Method, device and equipment for light application to call local end capability
CN109408357A (en) * 2017-12-04 2019-03-01 深圳市珍爱网信息技术有限公司 A kind of automatic interface testing method and device
CN109885302A (en) * 2019-01-29 2019-06-14 维沃移动通信有限公司 A kind of methods of exhibiting and terminal device applied fastly

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104883384B (en) * 2015-03-25 2018-09-07 百度在线网络技术(北京)有限公司 A kind of method and apparatus for the end ability that client is provided for light application
CN106708580A (en) * 2016-12-27 2017-05-24 北京奇虎科技有限公司 Free-installation application program operating method, system and intelligent terminal
CN107122172B (en) * 2017-03-23 2020-05-22 广州神马移动信息科技有限公司 Light application processing method, light application running method, light application equipment and light application equipment
CN109408150A (en) * 2018-10-30 2019-03-01 维沃移动通信有限公司 It is a kind of to apply loading method and mobile terminal fastly
CN110389936B (en) * 2019-07-25 2021-05-14 上海连尚网络科技有限公司 Method, equipment and computer storage medium for starting small program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8626919B1 (en) * 2008-11-07 2014-01-07 Google Inc. Installer-free applications using native code modules and persistent local storage
CN101482817A (en) * 2008-12-18 2009-07-15 浙江大学 Large-particle Java component assembly method based on black box
CN103177199A (en) * 2011-12-22 2013-06-26 盛乐信息技术(上海)有限公司 Webpage application code protective method and system, and executive speed-up method and system
CN103176807A (en) * 2011-12-22 2013-06-26 盛乐信息技术(上海)有限公司 Method and system for acceleration of Webpage application execution
CN104572278A (en) * 2014-12-22 2015-04-29 百度在线网络技术(北京)有限公司 Method, device and equipment for light application to call local end capability
CN109408357A (en) * 2017-12-04 2019-03-01 深圳市珍爱网信息技术有限公司 A kind of automatic interface testing method and device
CN109885302A (en) * 2019-01-29 2019-06-14 维沃移动通信有限公司 A kind of methods of exhibiting and terminal device applied fastly

Also Published As

Publication number Publication date
CN110909319A (en) 2020-03-24

Similar Documents

Publication Publication Date Title
US11057216B2 (en) Protection method and protection system of system partition key data and terminal
US9703971B2 (en) Sensitive operation verification method, terminal device, server, and verification system
RU2628488C2 (en) Method, terminal device and server for nfc data transfer
CN107766747B (en) Method for verifying integrity of application program installation package, mobile terminal and server
CN110417543B (en) Data encryption method, device and storage medium
WO2021115113A1 (en) Data processing method and device, and storage medium
EP3407177B1 (en) Method for capturing fingerprint and associated products
CN111142930B (en) Installation package file packaging method and device, terminal device and storage medium
WO2017211205A1 (en) Method and device for updating whitelist
CN107103211B (en) SDK send, using publication, using operation method and device
WO2020125134A1 (en) Customized model tamper-proof method and apparatus, terminal device and storage medium
CN104978176A (en) Application program interface calling method and device
CN107911818B (en) Method and device for data transmission between mobile terminals and mobile terminal
CN112035897A (en) Block chain evidence storage method and related device
CN106778295B (en) File storage method, file display method, file storage device, file display device and terminal
CN108475304A (en) A kind of method, apparatus and mobile terminal of affiliate application and biological characteristic
CN106445743A (en) Data backup transmission method and mobile terminal
WO2023151677A1 (en) Method and apparatus for determining file integrity in file system, and electronic device
CN104700003A (en) File shell adding and shell removing method, device and system
CN106713319B (en) Remote control method, device and system between terminals and mobile terminal
CN106447325B (en) NFC communication-based processing method and device and mobile terminal
CN107592409A (en) Application control method and device
CN110909319B (en) Application processing method and related product
CN107577933B (en) Application login method and device, computer equipment and computer readable storage medium
CN107102913B (en) Data back up method, device and computer equipment

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
GR01 Patent grant
GR01 Patent grant