Application processing method and related product

A technology for application processing and calling interfaces, applied in the electronic field, can solve problems such as easy code cracking, plagiarism, and low game cost, and achieve the effects of not being easy to understand, reducing theft, and avoiding cracking and plagiarism

Active Publication Date: 2020-03-24
OPPO CHONGQING INTELLIGENT TECH CO LTD
12 Cites 1 Cited by

AI-Extracted Technical Summary

Problems solved by technology

[0003] At present, existing installation-free applications, such as games (H5 games/quick games, etc.), use interpreted language (JavaScript) during development and operation, and run on browsers or installation-free platforms. Although the code has been obfuscated...
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Method used

Further, the enhanced target human face image can be matched with the preset human face image, and when the matching value between the enhanced target human face image and the preset human face image is greater than the preset matching threshold, It is confirmed that the target identity information has been successfully verified, otherwise, it is confirmed that the target identity information has failed to be verified. In this way, the image quality can be accurately evaluated, and image enhancement processing can be reasonably performed on the image, which is helpful to improve the efficiency of face recognition.
[0053] In the fi...
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Abstract

The embodiment of the invention discloses an application processing method and a related product, being applied to electronic equipment. The application processing method comprises the steps: 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; loading the target binary data through the target glue code; decrypting the target binary data to obtain unencrypted binary data; and compiling the unencrypted binary data to obtain a first service code corresponding to the target installation-free application. By adopting the embodiment of the invention, the cracking probability of the installation-free application can be reduced.

Application Domain

Technology Topic

Image

  • Application processing method and related product
  • Application processing method and related product
  • Application processing method and related product

Examples

  • Experimental program(1)

Example Embodiment

[0030] In order to enable those skilled in the art to better understand the solution of the application, the technical solutions in the embodiments of the application will be clearly and completely described below in conjunction with the drawings in the embodiments of the application. Obviously, the described embodiments are only It is a part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the protection scope of this application.
[0031] The terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish different objects, rather than to describe a specific sequence. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes unlisted steps or units, or optionally also includes Other steps or units inherent to these processes, methods, products or equipment.
[0032] Reference to "embodiments" herein means that a specific feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art clearly and implicitly understand that the embodiments described herein can be combined with other embodiments.
[0033] The electronic devices involved in the embodiments of this application may include various handheld devices (smartphones, tablet computers, etc.) with wireless communication functions, vehicle-mounted devices (navigators, vehicle-mounted refrigerators, vehicle-mounted vacuum cleaners, etc.), wearable devices (smart phones, etc.) 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 (mobile station, MS), terminal device, etc. For ease of description, the devices mentioned above are collectively referred to as electronic devices.
[0034] The following describes the embodiments of the present application in detail.
[0035] See Figure 1A , Figure 1A It 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, wherein:
[0036] The electronic device 100 may include a control circuit, and the control circuit may include a storage and processing circuit 110. The storage and processing circuit 110 can be a memory, such as a hard disk drive memory, a non-volatile memory (such as flash memory or other electronic programmable read-only memory used to form a solid-state drive, etc.), and a volatile memory (such as static or dynamic random access memory). Access to memory, etc.), etc., are not limited in the embodiment of the present application. The processing circuit in the storage and processing circuit 110 may be used to control the operation of the electronic device 100. The processing circuit can 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, etc.
[0037] The storage and processing circuit 110 can be used to run software in the electronic device 100, such as Internet browsing applications, Voice over Internet Protocol (VOIP) telephone calling applications, email applications, media playback applications, and operating system functions Wait. These softwares can be used to perform some control operations, for example, camera-based image capture, ambient light measurement based on ambient light sensors, proximity sensor measurement based on proximity sensors, and information based on status indicators such as LED status indicators Display functions, touch event detection based on touch sensors, functions associated with displaying information on multiple (for example, layered) display screens, operations associated with performing wireless communication functions, and functions associated with collecting and generating audio signals Operations, control operations associated with collecting and processing button press event data, and other functions in the electronic device 100 are not limited in the embodiment of the present application.
[0038] The electronic device 100 may include an input-output circuit 150. The input-output circuit 150 can be used to enable the electronic device 100 to input and output data, that is, allow the electronic device 100 to receive data from an external device and also 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, an ambient light sensor, a proximity sensor based on light and capacitance, a touch sensor (for example, a light-based touch sensor and/or a capacitive touch sensor, where the touch sensor may be a touch screen Part of it can also be used independently as a touch sensor structure), acceleration sensor, temperature sensor and other sensors. The ultrasonic module can be integrated under the screen, which is not limited here. The ultrasonic module can be used to collect fingerprint images.
[0039] The input-output circuit 150 may also include one or more display screens, such as the display screen 130. The display screen 130 may include one or a combination of a liquid crystal display screen, an organic light emitting diode display screen, an electronic ink display screen, a plasma display screen, and a display screen using other display technologies. The display screen 130 may include a touch sensor array (ie, the display screen 130 may be a touch display screen). The touch sensor can be a capacitive touch sensor formed by an array of transparent touch sensor electrodes (such as indium tin oxide (ITO) electrodes), or can be a touch sensor formed using other touch technologies, such as sonic touch, pressure-sensitive touch, and resistance Touch, optical touch, etc., are not limited in the embodiment of the present application.
[0040] The electronic device 100 may also include an audio component 140. The audio component 140 may be used to provide audio input and output functions for the electronic device 100. The audio component 140 in the electronic device 100 may include a speaker, a microphone, a buzzer, a tone generator, and other components for generating and detecting sounds.
[0041] The communication circuit 120 may be used to provide the electronic device 100 with the ability 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 circuit in the communication circuit 120 may include a radio frequency transceiver circuit, a power amplifier circuit, a low noise amplifier, a switch, a filter, and an antenna. For example, the wireless communication circuit in the communication circuit 120 may include a circuit for supporting 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 communication circuit 120 may also include a cellular phone transceiver and antenna, a wireless local area network transceiver circuit and antenna, and so on.
[0042] The electronic device 100 may further include a battery, a power management circuit, 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.
[0043] The user can input commands through the input-output circuit 150 to control the operation of the electronic device 100, and can use the output data of the input-output circuit 150 to realize receiving status information and other outputs from the electronic device 100.
[0044] Based on the above Figure 1A The described electronic equipment can be used to realize the following functions:
[0045] Acquiring a target free installation application on the free installation platform, the target free installation application including a target glue code and target binary data, and the target binary data is encrypted data;
[0046] Loading the target binary data through the target glue code;
[0047] Performing a decryption operation on the target binary data to obtain unencrypted binary data;
[0048] Compiling the unencrypted binary data to obtain the first service code corresponding to the target installation-free application.
[0049] It can be seen that the electronic device described in the embodiment of this application can obtain the target free installation application on the free installation platform. The target free installation application includes the target glue code and the target binary data. The target binary data is encrypted data. The code loads the target binary data; the target binary data is decrypted to obtain unencrypted binary data, and the unencrypted binary data is compiled to obtain the first business code corresponding to the target installation-free application, because the installation-free application includes encrypted binary data and glue code , Call the encrypted binary data through glue code, decrypt and compile it, and get the final business code. In this way, the business logic code is no longer exposed in plain text, avoiding code cracking and plagiarism, and increasing the difficulty of code understanding. The logic of the code is not easy to understand, reducing the possibility of the game being stolen and reducing the probability of cracking the installation-free application.
[0050] See Figure 1B , Figure 1B It is a schematic flow diagram of an application processing method provided by an embodiment of this application. Figure 1A For the electronic device shown, the application processing method includes:
[0051] 101. Obtain a target free installation application on the free installation platform, where the target free installation application includes a target glue code and target binary data, and the target binary data is encrypted data.
[0052] Among them, an installation-free application can be understood as an application that can be run when the URL is started and does not need to be installed, which can quickly implement the corresponding functions of the application, for example, games (H5 games/quick games, etc.), and installation-free platforms can understand To be able to realize the platform for running free installation applications. The target installation-free application can be at least one of the following applications: game application, meal ordering application, payment application, office application, email application, etc., which are not limited here. The installation-free platform can be WeChat platform, Alipay platform, quick application platform, etc. Wait, it is not limited here.
[0053] In the field of programming, glue code can also be called glue code, which can be used to glue code that may not be compatible. For example, it can be written in the same language as the code glued together, or it can be written in a separate glue language. The glue code may not implement any function required by the program. It usually appears in the code, making the existing library or program external Interoperability in functional interfaces (such as Java native interfaces), glue code can be very efficient in a rapid prototyping environment, allowing several components to be quickly integrated into a single language or framework.
[0054] In the embodiment of the application, the electronic device can obtain the target free installation application on the free installation platform. The target free installation application may include the target glue code and target binary data. The target binary data may be encrypted data, and the target binary data may be At least one of the following: symmetric encryption or asymmetric encryption, where the symmetric encryption can be at least one of the following: DES, 3DES, TDEA, Blowfish, RC2, RC4, RC5, IDEA, SKIPJACK, AES, etc., asymmetric The encryption method can be: RSA encryption, first shift operation and then exclusive OR operation encryption, etc., which are not limited here. The target glue code is used to achieve code reading and loading or to achieve pre-start. For example, the target glue code can be responsible for driving the entire code to run, and the target glue code can read binary data and integrate the platform capabilities to provide the platform together The interface is encrypted and compiled, and the binary code can be used to implement platform capability calls.
[0055] In a possible example, platform capabilities can be understood as business logic. The platform capabilities are at least one of the following: file capabilities, network capabilities, audio capabilities, video capabilities, and graphics capabilities. Each platform capability can correspond to a call interface .
[0056] 102. Load the target binary data through the target glue code.
[0057] Among them, in the embodiment of the present application, the electronic device can load the target binary data through the target glue code.
[0058] 103. Perform a decryption operation on the target binary data to obtain unencrypted binary data.
[0059] In specific implementation, since the target binary data is encrypted data, the probability of the target free installation application being cracked can be reduced, application security is improved, and copyright protection capabilities are improved. Furthermore, the electronic device can perform a decryption operation using a decryption method corresponding to the original encryption method to obtain unencrypted binary data.
[0060] In a possible example, where the target binary data is data encrypted by first using a shift operation and then an exclusive OR operation, in step 103, the target binary data is decrypted to obtain unencrypted binary data. Including the following steps:
[0061] 31. Perform an exclusive OR operation on the target binary data to obtain intermediate binary data;
[0062] 32. Perform a shift operation on the intermediate binary data to obtain the unencrypted binary data.
[0063] In the specific implementation, since the target binary data is encrypted by the exclusive OR operation and then the shift operation, the electronic device can perform the exclusive OR operation on the target binary data to obtain intermediate binary data, and the intermediate binary data is only encrypted by the shift operation Shift the intermediate binary data to obtain unencrypted binary data.
[0064] 104. Compile the unencrypted binary data to obtain the first service code corresponding to the target installation-free application.
[0065] In a specific implementation, the electronic device may first obtain the first service code corresponding to the target installation-free application by performing unencrypted binary data, and then may run the first service code. Among them, compilation can include two processes: compilation and linking. The compilation part can be understood as converting the source file (code) into a binary language that can be recognized by the machine, and linking can be understood as combining the compiled binary files into a system. Executable files, these two parts are also called compilation. In other words, compilation in a broad sense is to convert code into an executable file. After compilation, the first service code can also be run, so that the installation-free application can implement platform capability calls. Running can be understood as the process of running the compiled executable file in the system, called the running of the program.
[0066] Taking the game application as an example, since the business logic code of the game is no longer exposed in plaintext, the code is prevented from being cracked and plagiarized, which increases the difficulty of code understanding; the logic of the code is not easy to understand, reducing the possibility of the game being stolen.
[0067] In a possible example, in step 104, after compiling and running the unencrypted binary data to obtain the first service code corresponding to the target installation-free application, the following steps may be further included:
[0068] A1, based on the first service code, establish a mapping relationship between platform capabilities and the calling interface of binary data;
[0069] A2. Obtain the target calling interface corresponding to the unencrypted binary data;
[0070] A3. Call the target platform capabilities based on the target call interface.
[0071] Among them, since the first service code is implemented on a platform without installation, and the first service code corresponds to unencrypted binary data, the first service code will inevitably call the platform capabilities to implement a series of operations. In this way, there must also be platform capabilities and binary data The mapping relationship between the calling interfaces, and further, the electronic device can take the target calling interface corresponding to the unencrypted binary data, and further, can call the target platform capabilities based on the target calling interface.
[0072] In a possible example, in step 101, before the free installation platform obtains the target free installation application, the following steps may also be included:
[0073] B1. Obtain the first service code corresponding to the target installation-free application, where the first service code is implemented based on the first language supported by the engine in the application development engine tool;
[0074] B2. Convert the first service code from the first language into a second service code implemented based on the second language supported by the underlying virtual machine LLVM;
[0075] B3. Compile the second service code to obtain the unencrypted binary data and the target glue code;
[0076] B4. Encrypt the unencrypted binary data to obtain the target binary data;
[0077] B5. Pack the target binary data and the target glue code to obtain the target installation-free application.
[0078] In specific implementation, before obtaining the target installation-free application, the electronic device can obtain the first service code corresponding to the target installation-free application. The first service code is implemented based on the first language supported by the engine in the application development engine tool. Convert the first business code from the first language to the second business code based on the second language supported by the low level virtual machine (LLVM). For example, if the first language is C# and the second language is C++, then you can The first business code implemented by C# is converted into the second business code implemented by C++, and the second business code can be compiled to obtain unencrypted binary data and the target glue code. The target glue code is used for reading and loading Or to achieve pre-boot, the binary code can be used to implement platform capability calls, encrypt unencrypted binary data to obtain target binary data, and package the target binary data and target glue code through a packaging tool to obtain the target installation-free application.
[0079] In a possible example, in a specific implementation, a game application is taken as an example. The embodiments of the present application can be implemented based on a development platform and a user terminal, such as Figure 1C As shown, the details are as follows:
[0080] For the development platform side: include the following steps S1-S3:
[0081] S1. Developers use the language supported by the engine to write and develop game business code in game engine tools, such as C#, Java, etc.;
[0082] S2, directly or indirectly convert the game business logic code written in the language developed by the engine into C++, C and other commonly used languages ​​supported by LLVM;
[0083] S3. Compile the business logic code written in C++ and other languages ​​supported by LLVM according to the specified specifications to generate binary data and glue code, encrypt the binary data, including shifting, etc., and obfuscate and compress the glue code;
[0084] For the client side, the following steps S4-S5 are included:
[0085] S4. The generated glue code is responsible for reading and loading the encrypted binary data, and sending the read code content to the installation-free platform;
[0086] S5. The installation-free platform decrypts and compiles the binary data to achieve the binary code for running the game.
[0087] Among them, in step S1 and step S2, if the developer uses an interpreted language (Java, C#, etc.), the compiler tool (Mono, etc.) can compile it into a language supported by LLVM. If you are using a language supported by the LLVM compilation tool (such as: C, C++, Rust, etc.), you do not need to compile it again.
[0088] Further, in step S3, in the process of compiling languages ​​(C++, C, etc.) supported by LLVM into binary data, a glue code can be extracted, where the glue code can integrate the basic capabilities provided by the installation-free platform ( Network, file system, audio, graphics, etc.) are injected into the memory corresponding to the binary data for the binary code to call. At this time, during the running process, the binary code can be intermodulated with the platform capabilities.
[0089] Among them, in step S4, the glue code can be responsible for driving the entire code to run, and the glue code can read binary code data, integrate platform capabilities, and encrypt and compile the interface provided by the platform.
[0090] Among them, in step S5, the interface for running binary data provided by the platform is called. First, the binary data in the memory can be decrypted, mainly by XOR, shift and other decryption methods, and the decrypted binary data is compiled. The platform capability object is mapped to the address called by the binary data in the memory, so that the business logic code in the game can be called to the capability provided by the platform, so that the platform capability of the installation-free application calling the installation-free platform can be realized.
[0091] Further, as Figure 1D As shown, in the embodiment of this application, the installation-free platform can use platform capabilities to run glue code. Platform capabilities include file capabilities, network capabilities, audio capabilities, and drawing capabilities. Binary data is loaded through glue code, and binary data is compiled and run through platform capabilities. Data to obtain a game service code, which can intermodulate platform capabilities and intermodulate binary data.
[0092] In a possible example, between the above step 101 and step 102, the following steps may also be included:
[0093] C1. Obtain the target identity information of the target object;
[0094] C2. Verify the target identity information;
[0095] C3. When the target identity information is successfully verified, execute the step of loading the target binary data through the target glue code.
[0096] Wherein, the target identity information may be at least one of the following: fingerprint image, iris image, face image, vein image, etc., which are not limited here, and preset identity information may be pre-stored in the electronic device. In specific implementation, the electronic device can obtain the target identity information of the target object, and match the target identity information with the preset identity information. When the two match successfully, it will confirm that the target identity information has been successfully verified. Otherwise, the target identity information will be confirmed. The identity information failed to be verified.
[0097] Further, when the preset identity information is a target face image and the preset identity information is a preset face image, in a possible example, the steps C1-C2 may further include the following steps:
[0098] C4. Determine the first definition corresponding to the target face image;
[0099] C5. Divide the target face image into multiple regions;
[0100] C6. Determine the distribution density of feature points corresponding to each of the multiple regions to obtain the distribution density of multiple feature points;
[0101] C7. Perform the mean square error operation according to the distribution density of the multiple feature points to obtain the target mean square error;
[0102] C8. Determine the target sharpness adjustment coefficient corresponding to the target mean square error according to the preset mapping relationship between the mean square error and the sharpness adjustment coefficient;
[0103] C9. Adjust the first definition according to the target definition adjustment coefficient to obtain a second definition;
[0104] C10. Determine the image quality evaluation value corresponding to the second definition according to the preset mapping relationship between the definition and the image quality evaluation value.
[0105] C11. When the image quality evaluation value is lower than a preset threshold, perform image enhancement processing on the target face image to obtain an enhanced target face image.
[0106] Then, step C2, verifying the target identity information, can be implemented as follows:
[0107] Matching the enhanced target face image 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 , It is confirmed that the target identity information is successfully verified.
[0108] Wherein, the above preset threshold and preset matching threshold can be set by the user or the system defaults. The electronic device can determine the first definition corresponding to the target face image, and can divide the target face image into multiple regions. The area of ​​each area in each area can be the same or different, and the number of feature points in each area in multiple areas can also be determined. According to the number of feature points in each area and the area area, each area in multiple areas can be determined Corresponding to the distribution density of feature points, obtain the distribution density of multiple feature points.
[0109] Further, the electronic device can perform the mean square error calculation according to the distribution density of multiple feature points to obtain the target mean square error. The electronic device can also pre-store a preset mapping relationship between the mean square error and the sharpness adjustment coefficient, and the sharpness adjustment coefficient The value range of can be -0.35~0.35. Furthermore, the target sharpness adjustment coefficient corresponding to the target mean square error can be determined according to the mapping relationship between the preset mean square error and the sharpness adjustment coefficient, and further, the target sharpness adjustment coefficient can be determined according to the target clarity The degree adjustment coefficient adjusts the first definition to obtain the second definition, that is, the second definition=(1+target definition adjustment coefficient)*the first definition, and the preset definition can also be stored in advance in the electronic device The mapping relationship with the image quality evaluation value, that is, the image quality evaluation value corresponding to the second definition can be determined according to the preset mapping relationship between the definition and the image quality evaluation value. On the one hand, the preliminary image quality can be evaluated by the sharpness, and on the other hand, the preliminary image quality evaluation results can be adjusted by the correlation (mean square error) between the neighborhoods. Finally, through the preset sharpness and image The mapping relationship between the quality evaluation values ​​is normalized, that is, the image quality evaluation value can be restricted to a certain range, for example, the range of 0 to 1 or the range of 0 to 100. In this way, the image quality evaluation can be accurately achieved to a certain extent. Furthermore, when the image quality evaluation value is lower than the preset threshold, the electronic device may perform image enhancement processing on the target image to obtain an enhanced target face image. The image enhancement processing may be at least one of the following: grayscale stretching, histogram Image equalization, wavelet transform, etc., are not limited here. On the contrary, the target face image may not be image-enhanced, but directly matched with the preset face image.
[0110] Further, the enhanced target face image can be matched with a preset face image. When the matching value between the enhanced target face image and the preset face image is greater than the preset matching threshold, the target is confirmed The identity information is verified successfully, otherwise, it is confirmed that the target identity information has failed to be verified. In this way, the image quality can be accurately evaluated, and the image can be properly enhanced, which helps to improve the efficiency of face recognition.
[0111] It can be seen that the application processing method described in the embodiment of this application is applied to electronic devices to obtain the target free installation application on the free installation platform. The target free installation application includes the target glue code and target binary data, and the target binary data is encrypted Data, load the target binary data through the target glue code; decrypt the target binary data to obtain unencrypted binary data, compile the unencrypted binary data, and obtain the first business code corresponding to the target installation-free application, because the installation-free application includes encrypted Binary data and glue code, use glue code to call encrypted binary data, decrypt and compile it, and get the final business code. In this way, business logic code is no longer exposed in plain text, avoiding code cracking and plagiarism. It is difficult to understand the code and the logic of the code is not easy to understand, reducing the possibility of the game being stolen and reducing the chance of cracking the installation-free application.
[0112] With the above Figure 1B The illustrated embodiment is consistent, please refer to figure 2 , figure 2 It is a schematic flow diagram of an application processing method provided by an embodiment of this application. Figure 1A For the electronic device shown, the application processing method includes:
[0113] 201. Acquire 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.
[0114] 202. 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.
[0115] 203. Compile the second service code to obtain unencrypted binary data and target glue code.
[0116] 204. Encrypt the unencrypted binary data to obtain target binary data.
[0117] 205. Pack the target binary data and the target glue code to obtain the target installation-free application.
[0118] 206. 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.
[0119] 207. Load the target binary data through the target glue code.
[0120] 208. Perform a decryption operation on the target binary data to obtain the unencrypted binary data.
[0121] 209. Compile the unencrypted binary data to obtain the first service code corresponding to the target installation-free application.
[0122] Among them, the detailed description of the above steps 201-209 can refer to Figure 1B The corresponding steps of the described application processing method will not be repeated here.
[0123] It can be seen that the application processing method described in the embodiment of this application is applied to electronic devices to obtain the first service code corresponding to the target installation-free application. The first service code is implemented based on the first language supported by the engine in the application development engine tool. , Convert the first business code from the first language to the second business code based on the second language supported by the underlying virtual machine LLVM, and compile the second business code to obtain the unencrypted binary data and the target glue code. The binary data is encrypted to obtain the target binary data, the target binary data and the target glue code are packaged to obtain the target free installation application, and the target free installation application is obtained on the free installation platform. The target free installation application includes the target glue code and the target binary data. The target binary data is encrypted data. The target binary data is loaded through the target glue code; the target binary data is decrypted to obtain the unencrypted binary data, and the unencrypted binary data is compiled to obtain the first business code corresponding to the target installation-free application. The installation-free application includes encrypted binary data and glue code. The encrypted binary data is called by the glue code, decrypted and compiled, and the final business code is obtained. In this way, the business logic code is no longer exposed in plain text, avoiding the code Being cracked and plagiarized increases the difficulty of understanding the code, and the logic of the code is not easy to understand, reducing the possibility of the game being stolen and reducing the probability of cracking the free installation application.
[0124] Consistent with the above example, please refer to image 3 , image 3 It is a schematic structural diagram of an electronic device provided by an embodiment of the present application. As shown in the figure, the electronic device includes a processor, a memory, a communication interface, and one or more programs, and the one or more programs are stored in the memory. , And is configured to be executed by the foregoing processor. In the embodiment of the present application, the foregoing program includes instructions for executing the following steps:
[0125] Acquiring a target free installation application on the free installation platform, the target free installation application including a target glue code and target binary data, and the target binary data is encrypted data;
[0126] Loading the target binary data through the target glue code;
[0127] Performing a decryption operation on the target binary data to obtain unencrypted binary data;
[0128] Compiling the unencrypted binary data to obtain the first service code corresponding to the target installation-free application.
[0129] It can be seen that the electronic device described in the embodiment of the application obtains the target free installation application on the free installation platform. The target free installation application includes the target glue code and the target binary data. The target binary data is encrypted data, and the target glue code is passed Load the target binary data; decrypt the target binary data to obtain unencrypted binary data, compile the unencrypted binary data, and obtain the first business code corresponding to the target installation-free application. Since the installation-free application includes encrypted binary data and glue code, Call the encrypted binary data through the glue code, decrypt and compile it, and get the final business code. In this way, the business logic code is no longer exposed in plain text, avoiding code cracking and plagiarism, and increasing the difficulty of code understanding. The logic of is not easy to understand, reducing the possibility of the game being stolen and reducing the probability of cracking the free installation application.
[0130] In a possible example, the target binary data is data that is encrypted using a shift operation and then an exclusive OR operation. In terms of decrypting the target binary data to obtain unencrypted binary data, the above program Include instructions to perform the following steps:
[0131] Perform an exclusive OR operation on the target binary data to obtain intermediate binary data;
[0132] Performing a shift operation on the intermediate binary data to obtain the unencrypted binary data.
[0133] In a 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 executing the following steps:
[0134] Based on the first service code, establishing a mapping relationship between platform capabilities and the calling interface of binary data;
[0135] Obtaining the target calling interface corresponding to the unencrypted binary data;
[0136] Call the target platform capabilities based on the target call interface.
[0137] In a possible example, the platform capability is at least one of the following: file capability, network capability, audio capability, video capability, and drawing capability.
[0138] In a possible example, before the free installation platform obtains the target free installation application, the above program further includes instructions for executing the following steps:
[0139] Acquiring the first service code corresponding to the target installation-free application, where the first service code is implemented based on the first language supported by the engine in the application development engine tool;
[0140] Transforming the first service code from the first language into a second service code implemented based on the second language supported by the underlying virtual machine LLVM;
[0141] Compiling the second service code to obtain the unencrypted binary data and the target glue code;
[0142] Encrypting the unencrypted binary data to obtain the target binary data;
[0143] The target binary data and the target glue code are packaged to obtain the target installation-free application.
[0144] The foregoing mainly introduces the solution of the embodiment of the present application from the perspective of the execution process on the method side. It can be understood that, in order to implement the above-mentioned functions, an electronic device includes hardware structures and/or software modules corresponding to each function. Those skilled in the art should easily realize that in combination with the units and algorithm steps of the examples described in the embodiments provided herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed by hardware or computer software-driven hardware depends on the specific application and design constraint conditions of the technical solution. Professionals and technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered beyond the scope of this application.
[0145] The embodiment of the present application may divide the electronic device into functional units according to the foregoing method examples. 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 above-mentioned integrated unit can be implemented in the form of hardware or software functional unit. It should be noted that the division of units in the embodiments of the present application is illustrative, and is only a logical function division, and there may be other division methods in actual implementation.
[0146] Figure 4A It is a block diagram of the functional unit composition of the application processing device 400 involved in the embodiment of the present application. The application processing apparatus 400 is applied to electronic equipment, and the apparatus includes: an acquisition unit 401, a loading unit 402, a decryption unit 403, and a compiling unit 404, wherein:
[0147] The obtaining unit 401 is configured to obtain a target installation-free application on an installation-free platform, the target installation-free application including a target glue code and target binary data, and the target binary data is encrypted data;
[0148] The loading unit 402 is configured to load the target binary data through the target glue code;
[0149] The decryption unit 403 is configured to perform a decryption operation on the target binary data to obtain unencrypted binary data;
[0150] The compiling unit 404 is configured to compile the unencrypted binary data to obtain the first service code corresponding to the target installation-free application.
[0151] It can be seen that the application processing device described in the embodiment of the application is applied to electronic equipment to obtain a target free installation application on the free installation platform. The target free installation application includes the target glue code and target binary data, and the target binary data is encrypted Data, load the target binary data through the target glue code; decrypt the target binary data to obtain unencrypted binary data, compile the unencrypted binary data, and obtain the first business code corresponding to the target installation-free application, because the installation-free application includes encrypted Binary data and glue code, use glue code to call encrypted binary data, decrypt and compile it, and get the final business code. In this way, business logic code is no longer exposed in plain text, avoiding code cracking and plagiarism. It is difficult to understand the code and the logic of the code is not easy to understand, which reduces the possibility of the game being stolen and reduces the possibility of cracking the installation-free application.
[0152] In a possible example, the target binary data is data that is encrypted using a shift operation and then an exclusive OR operation. In terms of decrypting the target binary data to obtain unencrypted binary data, the The decryption unit 403 is specifically used for:
[0153] Perform an exclusive OR operation on the target binary data to obtain intermediate binary data;
[0154] Performing a shift operation on the intermediate binary data to obtain the unencrypted binary data.
[0155] In a possible example, such as Figure 4B As shown, Figure 4B for Figure 4A Another modified structure of the application processing device shown, which is similar to Figure 4A In comparison, it may also include: a establishing unit 405 and a calling unit 406, which are specifically as follows:
[0156] The establishing unit 405 is configured to establish a mapping relationship between platform capabilities and the calling interface of binary data based on the first service code;
[0157] The obtaining unit 401 is further configured to obtain the target calling interface corresponding to the unencrypted binary data;
[0158] The calling unit 406 is configured to call the target platform capabilities based on the target calling interface.
[0159] In a possible example, the platform capability is at least one of the following: file capability, network capability, audio capability, video capability, and drawing capability.
[0160] In a possible example, such as Figure 4C As shown, Figure 4C for Figure 4A Another modified structure of the application processing device shown, which is similar to Figure 4A In comparison, it may also include: a conversion unit 407, an encryption unit 408, and a packing unit 409, which are specifically as follows:
[0161] The obtaining unit 401 is further configured to obtain the first service code corresponding to the target installation-free application, where the first service code is implemented based on the first language supported by the engine in the application development engine tool;
[0162] The conversion 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;
[0163] The compiling unit 404 is further configured to compile the second service code to obtain the unencrypted binary data and the target glue code;
[0164] The encryption unit 408 is configured to encrypt the unencrypted binary data to obtain the target binary data;
[0165] The packaging unit 409 is configured to package the target binary data and the target glue code to obtain the target installation-free application.
[0166] It can be understood that the functions of each program module of the application processing apparatus of this embodiment can be specifically implemented according to the method in the above method embodiment, and the specific implementation process can refer to the relevant description of the above method embodiment, and will not be repeated here.
[0167] An embodiment of the present application also provides a computer storage medium, wherein the computer storage medium stores a computer program for electronic data exchange, and the computer program enables a computer to execute part or all of the steps of any method as recorded in the above method embodiment , The aforementioned computer includes electronic equipment.
[0168] The embodiments of the present application also provide a computer program product. The above-mentioned computer program product includes a non-transitory computer-readable storage medium storing a computer program. The above-mentioned computer program is operable to cause a computer to execute any of the methods described in the above-mentioned method embodiments. Part or all of the steps of the method. The computer program product may be a software installation package, and the above-mentioned computer includes electronic equipment.
[0169] It should be noted that for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations, but those skilled in the art should know that this application is not limited by the described sequence of actions. Because according to this application, some steps can be performed in other order or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the involved actions and modules are not necessarily required by this application.
[0170] In the above-mentioned embodiments, the description of each embodiment has its own focus. For parts that are not described in detail in an embodiment, reference may be made to related descriptions of other embodiments.
[0171] In the several embodiments provided in this application, it should be understood that the disclosed device may be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the above-mentioned units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or integrated. To another system, or some features can be ignored or not implemented. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical or other forms.
[0172] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
[0173] In addition, the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit. The above-mentioned integrated unit can be realized in the form of hardware or software functional unit.
[0174] If the above integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable memory. Based on this understanding, the technical solution of the present application essentially or the part that contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a memory, A number of instructions are included to enable a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the foregoing methods of the various embodiments of the present application. The aforementioned memory includes: U disk, Read-Only Memory (ROM, Read-Only Memory), Random Access Memory (RAM, Random Access Memory), mobile hard disk, magnetic disk, or optical disk and other media that can store program codes.
[0175] Those of ordinary skill in the art can understand that all or part of the steps in the various methods of the above-mentioned embodiments can be completed by a program instructing relevant hardware. The program can be stored in a computer-readable memory, and the memory can include: flash disk , Read-Only Memory (English: Read-Only Memory, abbreviated as: ROM), Random Access Memory (English: Random Access Memory, abbreviated as: RAM), magnetic disk or optical disc, etc.
[0176] The embodiments of the application are described in detail above, and specific examples are used in this article to illustrate the principles and implementation of the application. The descriptions of the above embodiments are only used to help understand the methods and core ideas of the application; A person of ordinary skill in the art, based on the idea of ​​the application, will have changes in the specific implementation and the scope of application. In summary, the content of this specification should not be construed as a limitation to the application.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

no PUM

Description & Claims & Application Information

We can also present the details of the Description, Claims and Application information to help users get a comprehensive understanding of the technical details of the patent, such as background art, summary of invention, brief description of drawings, description of embodiments, and other original content. On the other hand, users can also determine the specific scope of protection of the technology through the list of claims; as well as understand the changes in the life cycle of the technology with the presentation of the patent timeline. Login to view more.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Similar technology patents

Method for detecting spatial point target space-base on basis of track cataloguing model

InactiveCN102116876AExpand your searchIncrease the difficultyOptical detectionComputer visionMotion Mode
Owner:SHANGHAI INST OF TECHNICAL PHYSICS - CHINESE ACAD OF SCI

Classification and recommendation of technical efficacy words

Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products