CN111695093A - iOS application-based reinforcement method, electronic device and storage medium - Google Patents

iOS application-based reinforcement method, electronic device and storage medium Download PDF

Info

Publication number
CN111695093A
CN111695093A CN202010479471.0A CN202010479471A CN111695093A CN 111695093 A CN111695093 A CN 111695093A CN 202010479471 A CN202010479471 A CN 202010479471A CN 111695093 A CN111695093 A CN 111695093A
Authority
CN
China
Prior art keywords
character string
preset
ios application
data
key data
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.)
Granted
Application number
CN202010479471.0A
Other languages
Chinese (zh)
Other versions
CN111695093B (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202010479471.0A priority Critical patent/CN111695093B/en
Priority claimed from CN202010479471.0A external-priority patent/CN111695093B/en
Publication of CN111695093A publication Critical patent/CN111695093A/en
Priority to PCT/CN2020/131982 priority patent/WO2021151347A1/en
Application granted granted Critical
Publication of CN111695093B publication Critical patent/CN111695093B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis
    • G06F8/434Pointers; Aliasing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The invention relates to a data processing technology and provides a reinforcing method based on iOS application, an electronic device and a storage medium. The method includes the steps of obtaining a first character string set of a binary file in an iOS application based on a preset regular expression set, obtaining a second character string set belonging to an iOS system in the binary file, screening according to the first character string set and the second character string set to obtain a third character string set, replacing characters of initial character strings based on the length of each initial character string in the third character string set and a preset replacement character set, sequentially splicing the replaced characters to generate target character strings corresponding to the initial character strings, writing each target character string into a preset file to be compiled, and compiling the file to be compiled to obtain a reinforced application. The invention also relates to a blockchain technology, and the reinforced iOS application can be stored in the blockchain. The method and the device can reduce the risk that a third party cracks the application program through the method and the variable.

Description

iOS application-based reinforcement method, electronic device and storage medium
Technical Field
The present invention relates to the field of data processing, and in particular, to a consolidation method based on iOS application, an electronic device, and a storage medium.
Background
iOS applications tend to face the business logic of third party reverse analysis snooping their programs and therefore require consolidation tools to consolidate iOS applications. Most of the existing reinforcement tools only reinforce the code logic layer of the iOS application, but do not perform confusion reinforcement on character strings in the application program, so that the method and variables in the iOS application are still clear text, a third party can still guess the logic process according to the function name and the variable name, and the third party can also restore the business logic of the application program by combining the Hook technology to intercept the input and output of the function.
Disclosure of Invention
In view of the above, the present invention provides a consolidation method based on an iOS application, an electronic device and a storage medium, and aims to solve the technical problem in the prior art that an iOS application program is easy to restore business logic by a third party.
In order to achieve the above object, the present invention provides an iOS application-based consolidation method, including:
a receiving step: receiving a request for reinforcing the iOS application sent by a user, and acquiring a binary file of the iOS application to be reinforced carried in the request;
a screening step: acquiring all protocol character strings, class character strings and function character strings in the binary file as a first character string set based on a preset regular expression set, acquiring the protocol character strings, the class character strings and the function character strings belonging to an iOS system in the binary file as a second character string set, and screening to obtain a third character string set based on the first character string set and the second character string set;
a replacement step: traversing the third character string set, respectively reading the length of each initial character string in the third character string set, randomly executing replacement operation on the characters of each initial character string based on the length of each initial character string and a preset replacement character set, sequentially splicing the replaced characters, and generating a target character string corresponding to each initial character string; and
a feedback step: writing each target character string into a preset file to be compiled, performing compiling operation on the file to be compiled to obtain a reinforced iOS application, and feeding back the reinforced iOS application to the user.
Preferably, the screening step further comprises:
and adding the self-defining character string for realizing serialization, the self-defining character string for realizing a preset protocol, the class character string for storing data in a preset mode and keywords reserved by the iOS system in the binary file to the second character string set.
Preferably, the replacing step further comprises:
and storing the generated target character string to a preset storage path, judging whether the same target character string exists in the preset storage path, and when judging that the same target character string exists in the preset storage path, re-executing the replacement operation on the same target character string by using the replacement character set until the same target character string does not exist in the preset storage path.
Preferably, after the feedback step, the method further comprises:
analyzing the binary file of the reinforced iOS application based on a preset analysis rule to obtain first key data, extracting second key data of the binary file of the reinforced iOS application after the installation operation is executed by a user after the installation operation of the reinforced iOS application is detected, judging whether a preset index in the second key data is a preset value, and feeding back a first preset detection result to the user when the preset index in the second key data is judged to be the preset value.
Preferably, the method further comprises:
when the preset index in the second key data is judged not to be a preset value, whether the object of the first key data is the same as the object of the second key data is judged, when the object of the first key data is judged to be the same as the object of the second key data, a second preset detection result is fed back to the user, and if not, the first preset detection result is fed back to the user, wherein the object comprises constant character string data, method data, dynamic library data, signature data and package name data.
To achieve the above object, the present invention also provides an electronic device, including: the system comprises a memory and a processor, wherein the memory stores a reinforcing program based on the iOS application, and the reinforcing program based on the iOS application is executed by the processor, so that the following steps are realized:
a receiving step: receiving a request for reinforcing the iOS application sent by a user, and acquiring a binary file of the iOS application to be reinforced carried in the request;
a screening step: acquiring all protocol character strings, class character strings and function character strings in the binary file as a first character string set based on a preset regular expression set, acquiring the protocol character strings, the class character strings and the function character strings belonging to an iOS system in the binary file as a second character string set, and screening to obtain a third character string set based on the first character string set and the second character string set;
a replacement step: traversing the third character string set, respectively reading the length of each initial character string in the third character string set, randomly executing replacement operation on the characters of each initial character string based on the length of each initial character string and a preset replacement character set, sequentially splicing the replaced characters, and generating a target character string corresponding to each initial character string; and
a feedback step: writing each target character string into a preset file to be compiled, performing compiling operation on the file to be compiled to obtain a reinforced iOS application, and feeding back the reinforced iOS application to the user.
Preferably, the replacing step further comprises:
and storing the generated target character string to a preset storage path, judging whether the same target character string exists in the preset storage path, and when judging that the same target character string exists in the preset storage path, re-executing the replacement operation on the same target character string by using the replacement character set until the same target character string does not exist in the preset storage path.
Preferably, after the feedback step, the iOS application based reinforcement program is executed by the processor, further implementing the steps of:
analyzing the binary file of the reinforced iOS application based on a preset analysis rule to obtain first key data, extracting second key data of the binary file of the reinforced iOS application after the installation operation is executed by a user after the installation operation of the reinforced iOS application is detected, judging whether a preset index in the second key data is a preset value, and feeding back a first preset detection result to the user when the preset index in the second key data is judged to be the preset value.
Preferably, the iOS application-based reinforcement program is executed by the processor, and further implements the following steps:
when the preset index in the second key data is judged not to be a preset value, whether the object of the first key data is the same as the object of the second key data is judged, when the object of the first key data is judged to be the same as the object of the second key data, a second preset detection result is fed back to the user, and if not, the first preset detection result is fed back to the user, wherein the object comprises constant character string data, method data, dynamic library data, signature data and package name data.
To achieve the above object, the present invention further provides a computer-readable storage medium, which includes therein an iOS application-based reinforcement program, and when the iOS application-based reinforcement program is executed by a processor, the computer-readable storage medium implements any of the steps of the iOS application-based reinforcement method as described above.
According to the reinforcing method based on the iOS application, the electronic device and the storage medium, the readability function and the variable are changed into the random character string without any meaning by confusing the readability function and the variable in the iOS application program, the symbol confusion is completed, the purpose of reinforcing the safety of the application program is achieved, and the possibility that a third party guesses business logic through the method (function) and the variable to crack the application program is greatly reduced.
Drawings
FIG. 1 is a diagram of an electronic device according to a preferred embodiment of the present invention;
FIG. 2 is a block diagram of a preferred embodiment of the IOS application based reinforcement program of FIG. 1;
FIG. 3 is a flow chart of a preferred embodiment of the IOS application based consolidation method of the present invention;
the implementation, functional features and advantages of the objects of the present invention will be further explained with reference to the accompanying drawings.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention. 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 invention.
Referring to fig. 1, a schematic diagram of an electronic device 1 according to a preferred embodiment of the invention is shown.
The electronic device 1 includes but is not limited to: memory 11, processor 12, display 13, and network interface 14. The electronic device 1 is connected to a network through a network interface 14 to obtain raw data. The network may be a wireless or wired network such as an Intranet (Intranet), the Internet (Internet), a Global System for mobile communications (GSM), Wideband Code Division Multiple Access (WCDMA), a 4G network, a 5G network, Bluetooth (Bluetooth), Wi-Fi, or a communication network.
The memory 11 includes at least one type of readable storage medium including a flash memory, a hard disk, a multimedia card, a card type memory (e.g., SD or DX memory, etc.), a Random Access Memory (RAM), a Static Random Access Memory (SRAM), a Read Only Memory (ROM), an Electrically Erasable Programmable Read Only Memory (EEPROM), a Programmable Read Only Memory (PROM), a magnetic memory, a magnetic disk, an optical disk, etc. In some embodiments, the storage 11 may be an internal storage unit of the electronic device 1, such as a hard disk or a memory of the electronic device 1. In other embodiments, the memory 11 may also be an external storage device of the electronic apparatus 1, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and the like provided in the electronic apparatus 1. Of course, the memory 11 may also comprise both an internal memory unit of the electronic apparatus 1 and an external memory device thereof. In this embodiment, the memory 11 is generally used for storing an operating system installed in the electronic device 1 and various types of application software, such as program codes of the firmware 10 based on the iOS application. Further, the memory 11 may also be used to temporarily store various types of data that have been output or are to be output.
Processor 12 may be a Central Processing Unit (CPU), controller, microcontroller, microprocessor, or other data Processing chip in some embodiments. The processor 12 is generally used for controlling the overall operation of the electronic device 1, such as performing data interaction or communication related control and processing. In this embodiment, the processor 12 is configured to run the program code stored in the memory 11 or process data, for example, run the program code of the firmware 10 based on the iOS application.
The display 13 may be referred to as a display screen or display unit. In some embodiments, the display 13 may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, an Organic Light-emitting diode (OLED) touch screen, or the like. The display 13 is used for displaying information processed in the electronic device 1 and for displaying a visual work interface, for example, results of data statistics.
The network interface 14 may optionally comprise a standard wired interface, a wireless interface (e.g. WI-FI interface), the network interface 14 typically being used for establishing a communication connection between the electronic apparatus 1 and other electronic devices.
Fig. 1 only shows the electronic device 1 with components 11-14 and the iOS application based reinforcement program 10, but it is to be understood that not all shown components are required to be implemented, and that more or less components may be implemented instead.
Optionally, the electronic device 1 may further comprise a user interface, the user interface may comprise a Display (Display), an input unit such as a Keyboard (Keyboard), and the optional user interface may further comprise a standard wired interface, a wireless interface. Alternatively, in some embodiments, the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, an Organic Light-Emitting Diode (OLED) touch screen, or the like. The display, which may also be referred to as a display screen or display unit, is suitable for displaying information processed in the electronic apparatus 1 and for displaying a visualized user interface.
The electronic device 1 may further include a Radio Frequency (RF) circuit, a sensor, an audio circuit, and the like, which are not described in detail herein.
In the above embodiment, when processor 12 executes iOS application-based reinforcement program 10 stored in memory 11, the following steps may be implemented:
a receiving step: receiving a request for reinforcing the iOS application sent by a user, and acquiring a binary file of the iOS application to be reinforced carried in the request;
a screening step: acquiring all protocol character strings, class character strings and function character strings in the binary file as a first character string set based on a preset regular expression set, acquiring the protocol character strings, the class character strings and the function character strings belonging to an iOS system in the binary file as a second character string set, and screening to obtain a third character string set based on the first character string set and the second character string set;
a replacement step: traversing the third character string set, respectively reading the length of each initial character string in the third character string set, randomly executing replacement operation on the characters of each initial character string based on the length of each initial character string and a preset replacement character set, sequentially splicing the replaced characters, and generating a target character string corresponding to each initial character string; and
a feedback step: writing each target character string into a preset file to be compiled, performing compiling operation on the file to be compiled to obtain a reinforced iOS application, and feeding back the reinforced iOS application to the user.
The storage device may be the memory 11 of the electronic apparatus 1, or may be another storage device communicatively connected to the electronic apparatus 1.
For a detailed description of the above steps, please refer to the following description of fig. 2 regarding a program module diagram of an embodiment of the iOS application based consolidation program 10 and fig. 3 regarding a flowchart of an embodiment of a consolidation method based on the iOS application.
In other embodiments, the iOS application based reinforcement program 10 may be partitioned into a plurality of modules that are stored in the memory 11 and executed by the processor 12 to accomplish the present invention. The modules referred to herein are referred to as a series of computer program instruction segments capable of performing specified functions.
Referring to fig. 2, a block diagram of an embodiment of the iOS application based reinforcement program 10 of fig. 1 is shown. In this embodiment, the iOS application based reinforcement program 10 may be divided into: a receiving module 110, a screening module 120, a replacing module 130, and a feedback module 140.
The receiving module 110 is configured to receive a request for reinforcing the iOS application sent by a user, and acquire a binary file of the iOS application to be reinforced, where the binary file is carried in the request.
In this embodiment, a request for reinforcing the iOS application sent by a user is received, and a binary file of the iOS application to be reinforced is carried in the request, where the binary file in the present scheme is a Mach-O file, and the request may include the iOS application to be reinforced, and may also include a storage path of the iOS application to be reinforced and a unique identifier of the iOS application. That is, the iOS application may be entered by the user at the time of submitting the reinforcement request, or may be acquired from an address specified by the request after the user submits the reinforcement request.
Mach-O is an abbreviation of Mach Object file format, is a file format for recording executable files, Object code, shared libraries, dynamic load code and memory dumps, and is a standard format for programs and libraries on macOS/iOS.
The screening module 120 is configured to obtain all protocol character strings, class character strings, and function character strings in the binary file as a first character string set based on a preset regular expression set, obtain protocol character strings, class character strings, and function character strings belonging to an iOS system in the binary file as a second character string set, and screen based on the first character string set and the second character string set to obtain a third character string set.
In this embodiment, the user-defined class, protocol and function definitions of the iOS system in the Mach-O file can be written into different files according to different class and protocol names by using a command "class-dump-H Mach-O path", so that a plurality of class files, protocol files and function files are generated. It should be noted that part of the functions implemented by the iOS application are implemented by a system character string, and part of the functions are implemented by a user-defined character string, so that the character strings included in the extracted files of the class, protocol, and function are composed of two parts: a system string and a user-defined string. If the character strings of the system are subjected to confusion reinforcement processing, abnormal operation occurs, so that the user-defined character strings need to be screened out for reinforcement processing.
And acquiring all protocol character strings, class character strings and function character strings in the Mach-O file through a preset regular expression set, and taking the protocol character strings, the class character strings and the function character strings as a first character string set, and executing deduplication operation on the protocol character strings, the class character strings and the function character strings in the first character string set. The function character strings comprise function character strings containing parameters and function character strings without parameters.
The preset regular expression set comprises:
acquiring an expression of a protocol character string:
"s/.*@protocol[\\t]*\\([a-zA-Z_][a-zA-Z0-9_]*\\).*/\\1/p"
acquiring an expression of the class character string:
"s/.*@interface[\\t]*\\([a-zA-Z_][a-zA-Z0-9_]*\\).*/\\1/p"
obtaining an expression of a function string containing parameters:
"[\\+|-]\\s*\\(\\s*([a-zA-Z<>\\s\\*_,]+\\s*\\*?)\\s*\\)\\s*([a-zA-Z_0-9]+)\\s*;"
obtaining an expression of a function string without parameters:
"\\s*([a-zA-Z_0-9]+):(\\s*\\(\\s*[a-zA-Z<>\\s\\*_,]+\\s*\\*?\\s*\\))\\s*([a-zA-Z_0-9]+)"
the definition of the class, the protocol and the function of the iOS system in the Mach-O file can be written into different files according to different class and protocol names through a command 'class-dump-H system library path', and a protocol character string, a class character string and a function character string which belong to the iOS system in the Mach-O file are obtained through the regular expression set and serve as a second character string set.
Furthermore, a custom character string for realizing serialization, a custom character string for realizing a preset protocol, a custom character string for storing data in a preset mode and keywords reserved by the iOS system in the binary file can be added to the second character string set. The self-defining character string for realizing the preset protocol can be a self-defining character string for realizing an NSCoder protocol, and the class character string for storing data in a preset mode can be a class character string for storing data by using a CoreData Model.
A replacing module 130, configured to traverse the third character string set, read lengths of initial character strings in the third character string set, perform a replacing operation on characters of the initial character strings randomly based on the lengths of the initial character strings and a preset replacing character set, splice replaced characters in sequence, and generate a target character string corresponding to each initial character string.
In this embodiment, the third character string set is traversed, the length of each initial character string in the third character string set is read, characters in a preset replacement character set are randomly obtained to replace each character of the initial character string based on the length of the initial character and a preset replacement character set, the replaced characters are sequentially spliced, and a target character string corresponding to the initial character string is obtained, where the preset replacement character set may include 52 characters, i.e., letters a-Z and a-Z. For example, the length of the initial character string a needing confusion reinforcement is 5, characters need to be randomly acquired from a preset replacement character set 5 times, the characters acquired from the replacement character set replace the characters of the initial character string a, and a new character string spliced again after replacement serves as the target character string B after confusion reinforcement. The length from the initial character string A to the character string B after confusion reinforcement is unchanged, and the character string is replaced. The iOS system is compatible with the standard C language, in which a symbol can be defined as a new symbol by macro definition. The present embodiment may define the initial character string as the target character string using the macro definition. For example, when the # define AB definition is imported into a file to be compiled, the compiler dynamically replaces A with B during the compilation, and the A string but only the B string cannot be found in the last compiled executable file Mach-O.
Further, since the same target character string may appear after the characters of the initial character string are replaced by the preset replacement character set, the generated target character string may be stored in a preset storage path, whether the same target character string exists in the preset storage path is determined, and when it is determined that the same target character string exists in the preset storage path, the replacement operation is performed on the same target character string again by using the replacement character set until the same target character string does not exist in the preset storage path.
The feedback module 140 is configured to write each target character string into a preset file to be compiled, perform a compiling operation on the file to be compiled to obtain a reinforced iOS application, and feed back the reinforced iOS application to the user.
In this embodiment, the target character string is written into a preset file to be compiled (e.g., a FILEC file), the file to be compiled is compiled, a hardened iOS application is obtained, and the hardened iOS application is fed back to the user.
In one embodiment, it may also be detected whether the hardened iOS application has been hacked. Analyzing the binary file of the reinforced iOS application based on a preset analysis rule to obtain first key data, extracting second key data of the binary file of the reinforced iOS application after the installation operation is executed by a user after the installation operation of the reinforced iOS application is detected, judging whether a preset index in the second key data is a preset value, and feeding back a first preset detection result to the user when the preset index in the second key data is judged to be the preset value.
The Mach-O Header (Mach Header), the Load command (Load command) and the Raw segment data (Raw segment data) of the Mach-O file are analyzed respectively, so that first key data can be obtained, wherein the first key data comprises constant character string data, method data, dynamic library data, signature data and packet name data. Specifically, the parsing of the Mach-O header of the Mach-O file comprises:
the first part of the Header is composed of a structure of the Mach _ Header _64, the size of the structure is 32 bytes, the structure is composed of 8 fields, each field is 4 bytes, and as long as the data with the size of 32 bytes of the Mach-O file can be read, the data of the structure of the Mach _ Header _64 can be obtained, and the structure has two fields: ncmds and sizeoffcms, respectively, identify how many load commands and the total size occupied by the load commands.
The parsing of the load command includes:
the second part is composed of a Load Command structure, the size of the Load Command structure is 16 bytes, and the Load Command structure is composed of 2 fields: cmdsize and cmd, and a cmd field in the structure describes the Command type. By using the ncmds obtained by the analysis, the loading command can be analyzed by cycling the ncmds for times and reading the data of the byte with the size of 16+ cmdsize each time.
When traversing the loading Command, if the value of cmd is 0xc, the Command is dynamic library information, reading 24-bit byte size data according to the document is a dylib _ Command structure, and the name field in the structure is the name of the dynamic library.
When traversing the load Command, if the cmd value is 0x19, the Command stores Segment information, and the data of reading 72-bit byte size according to the document is Segment _ Command _64 structure, wherein the field Segment represents the Segment name, the field fileoff represents the offset, and the field filesize represents the size of the character string constant in the Mach-O file. When the segname is __ cs, representing a Segment that is a string constant, the fileoff and fizesize at this time can be assigned to AAA and AAAC respectively, the file pointer is moved to the AAA position, and the data of the AAAC byte size is read, which is the application constant string information.
When traversing the load Command, if the cmd value is 0x19, the Command stores Segment information, and the data read by the document with 72-bit byte size is Segment _ Command _64 structure, wherein the field Segment represents the Segment name, the field fileoff represents the offset, and the field filesize represents the size of the character string constant in the Mach-O file. When the segname is __ objc _ method, it represents the Segment of the method (function), and the fileoff and fizesize at this time can be assigned to BBB and BBBC respectively, the file pointer is moved to the BBB position, and the data of BBBC byte size is read, i.e. the application program method (function) information.
When the load Command is traversed, if the cmd value is 0x1d, the Command stores signature information, and the data with the size of 16 bytes read according to the document is a linkedit _ data _ Command structure, wherein the field dataoff represents the offset of the Command, and the field datasize represents the size of the string constant in the Mach-O file. The current dataoff and datasize may be assigned to CCC and CCCD, respectively, the file pointer may be moved to the CCC location, and the byte size of the CCCD data, i.e., the data containing the application signature and the packet name information, may be read.
When it is detected that a user executes installation operation on the reinforced iOS application, extracting second key data of the binary file of the iOS application after the installation operation is executed by using a preset extraction rule, wherein the second key data comprises: constant string data, method data, dynamic library data, signature data, package name data, and the like. And judging whether a preset index (cryptotid value) in the second key data is a preset value (the value is 0), if so, indicating that the iOS application is cracked, and feeding back a first preset detection result to the user, wherein the first preset detection result can be 'the application is cracked'.
Further, when the preset index in the second key data is judged not to be the preset value, whether the object of the first key data is the same as the object of the second key data is judged, when the object of the first key data is judged to be the same as the object of the second key data, a second preset detection result is fed back to the user, and if not, a first preset detection result is fed back to the user, wherein the object comprises constant character string data, method data, dynamic library data, signature data and package name data.
When the preset index (cryptid value) in the second key data is not a preset value, comparing the first key data with the second key data, and when the constant string data, the method data, the dynamic library data, the signature data and the packet name data in the first key data are respectively the same as the constant string data, the method (function) data, the dynamic library data, the signature data and the packet name data in the second key data, it is indicated that the iOS application is not cracked, and a second preset detection result is fed back to a user, for example: when any item of data of the first key data is different from any item of data of the second key data, the iOS application is cracked, and a first preset detection result is fed back to a user.
In addition, the invention also provides a reinforcing method based on the iOS application. Referring to fig. 3, a method flow diagram of an embodiment of the iOS application based consolidation method of the present invention is shown. When the processor 12 of the electronic apparatus 1 executes the iOS application based consolidation program 10 stored in the memory 11, the following steps of the iOS application based consolidation method are implemented:
step S10: and receiving a request for reinforcing the iOS application sent by a user, and acquiring a binary file of the iOS application to be reinforced carried in the request.
In this embodiment, a request for reinforcing the iOS application sent by a user is received, and a binary file of the iOS application to be reinforced is carried in the request, where the binary file in the present scheme is a Mach-O file, and the request may include the iOS application to be reinforced, and may also include a storage path of the iOS application to be reinforced and a unique identifier of the iOS application. That is, the iOS application may be entered by the user at the time of submitting the reinforcement request, or may be acquired from an address specified by the request after the user submits the reinforcement request.
Mach-O is an abbreviation of Mach Object file format, is a file format for recording executable files, Object code, shared libraries, dynamic load code and memory dumps, and is a standard format for programs and libraries on macOS/iOS.
Step S20: and acquiring all protocol character strings, class character strings and function character strings in the binary file as a first character string set based on a preset regular expression set, acquiring the protocol character strings, the class character strings and the function character strings belonging to the iOS system in the binary file as a second character string set, and screening to obtain a third character string set based on the first character string set and the second character string set.
In this embodiment, the user-defined class, protocol and function definitions of the iOS system in the Mach-O file can be written into different files according to different class and protocol names by using a command "class-dump-H Mach-O path", so that a plurality of class files, protocol files and function files are generated. It should be noted that part of the functions implemented by the iOS application are implemented by a system character string, and part of the functions are implemented by a user-defined character string, so that the character strings included in the extracted files of the class, protocol, and function are composed of two parts: a system string and a user-defined string. If the character strings of the system are subjected to confusion reinforcement processing, abnormal operation occurs, so that the user-defined character strings need to be screened out for reinforcement processing.
And acquiring all protocol character strings, class character strings and function character strings in the Mach-O file through a preset regular expression set, and taking the protocol character strings, the class character strings and the function character strings as a first character string set, and executing deduplication operation on the protocol character strings, the class character strings and the function character strings in the first character string set. The function character strings comprise function character strings containing parameters and function character strings without parameters.
The preset regular expression set comprises:
acquiring an expression of a protocol character string:
"s/.*@protocol[\\t]*\\([a-zA-Z_][a-zA-Z0-9_]*\\).*/\\1/p"
acquiring an expression of the class character string:
"s/.*@interface[\\t]*\\([a-zA-Z_][a-zA-Z0-9_]*\\).*/\\1/p"
obtaining an expression of a function string containing parameters:
"[\\+|-]\\s*\\(\\s*([a-zA-Z<>\\s\\*_,]+\\s*\\*?)\\s*\\)\\s*([a-zA-Z_0-9]+)\\s*;"
obtaining an expression of a function string without parameters:
"\\s*([a-zA-Z_0-9]+):(\\s*\\(\\s*[a-zA-Z<>\\s\\*_,]+\\s*\\*?\\s*\\))\\s*([a-zA-Z_0-9]+)"
the definition of the class, the protocol and the function of the iOS system in the Mach-O file can be written into different files according to different class and protocol names through a command 'class-dump-H system library path', and a protocol character string, a class character string and a function character string which belong to the iOS system in the Mach-O file are obtained through the regular expression set and serve as a second character string set.
Furthermore, a custom character string for realizing serialization, a custom character string for realizing a preset protocol, a custom character string for storing data in a preset mode and keywords reserved by the iOS system in the binary file can be added to the second character string set. The self-defining character string for realizing the preset protocol can be a self-defining character string for realizing an NSCoder protocol, and the class character string for storing data in a preset mode can be a class character string for storing data by using a CoreData Model.
Step S30: traversing the third character string set, respectively reading the length of each initial character string in the third character string set, randomly executing replacement operation on the characters of each initial character string based on the length of each initial character string and a preset replacement character set, sequentially splicing the replaced characters, and generating a target character string corresponding to each initial character string.
In this embodiment, the third character string set is traversed, the length of each initial character string in the third character string set is read, characters in a preset replacement character set are randomly obtained to replace each character of the initial character string based on the length of the initial character and a preset replacement character set, the replaced characters are sequentially spliced, and a target character string corresponding to the initial character string is obtained, where the preset replacement character set may include 52 characters, i.e., letters a-Z and a-Z. For example, the length of the initial character string a needing confusion reinforcement is 5, characters need to be randomly acquired from a preset replacement character set 5 times, the characters acquired from the replacement character set replace the characters of the initial character string a, and a new character string spliced again after replacement serves as the target character string B after confusion reinforcement. The length from the initial character string A to the character string B after confusion reinforcement is unchanged, and the character string is replaced. The iOS system is compatible with the standard C language, in which a symbol can be defined as a new symbol by macro definition. The present embodiment may define the initial character string as the target character string using the macro definition. For example, when the # define AB definition is imported into a file to be compiled, the compiler dynamically replaces A with B during the compilation, and the A string but only the B string cannot be found in the last compiled executable file Mach-O.
Further, since the same target character string may appear after the characters of the initial character string are replaced by the preset replacement character set, the generated target character string may be stored in a preset storage path, whether the same target character string exists in the preset storage path is determined, and when it is determined that the same target character string exists in the preset storage path, the replacement operation is performed on the same target character string again by using the replacement character set until the same target character string does not exist in the preset storage path.
Step S40: writing each target character string into a preset file to be compiled, performing compiling operation on the file to be compiled to obtain a reinforced iOS application, and feeding back the reinforced iOS application to the user.
In this embodiment, the target character string is written into a preset file to be compiled (e.g., a FILEC file), the file to be compiled is compiled, a hardened iOS application is obtained, and the hardened iOS application is fed back to the user.
In one embodiment, it may also be detected whether the hardened iOS application has been hacked. Analyzing the binary file of the reinforced iOS application based on a preset analysis rule to obtain first key data, extracting second key data of the binary file of the reinforced iOS application after the installation operation is executed by a user after the installation operation of the reinforced iOS application is detected, judging whether a preset index in the second key data is a preset value, and feeding back a first preset detection result to the user when the preset index in the second key data is judged to be the preset value.
The Mach-O Header (Mach Header), the Load command (Load command) and the Raw segment data (Raw segment data) of the Mach-O file are analyzed respectively, so that first key data can be obtained, wherein the first key data comprises constant character string data, method data, dynamic library data, signature data and packet name data. Specifically, the parsing of the Mach-O header of the Mach-O file comprises:
the first part of the Header is composed of a structure of the Mach _ Header _64, the size of the structure is 32 bytes, the structure is composed of 8 fields, each field is 4 bytes, and as long as the data with the size of 32 bytes of the Mach-O file can be read, the data of the structure of the Mach _ Header _64 can be obtained, and the structure has two fields: ncmds and sizeoffcms, respectively, identify how many load commands and the total size occupied by the load commands.
The parsing of the load command includes:
the second part is composed of a Load Command structure, the size of the Load Command structure is 16 bytes, and the Load Command structure is composed of 2 fields: cmdsize and cmd, and a cmd field in the structure describes the Command type. By using the ncmds obtained by the analysis, the loading command can be analyzed by cycling the ncmds for times and reading the data of the byte with the size of 16+ cmdsize each time.
When traversing the loading Command, if the value of cmd is 0xc, the Command is dynamic library information, reading 24-bit byte size data according to the document is a dylib _ Command structure, and the name field in the structure is the name of the dynamic library.
When traversing the load Command, if the cmd value is 0x19, the Command stores Segment information, and the data of reading 72-bit byte size according to the document is Segment _ Command _64 structure, wherein the field Segment represents the Segment name, the field fileoff represents the offset, and the field filesize represents the size of the character string constant in the Mach-O file. When the segname is __ cs, representing a Segment that is a string constant, the fileoff and fizesize at this time can be assigned to AAA and AAAC respectively, the file pointer is moved to the AAA position, and the data of the AAAC byte size is read, which is the application constant string information.
When traversing the load Command, if the cmd value is 0x19, the Command stores Segment information, and the data read by the document with 72-bit byte size is Segment _ Command _64 structure, wherein the field Segment represents the Segment name, the field fileoff represents the offset, and the field filesize represents the size of the character string constant in the Mach-O file. When the segname is __ objc _ method, it represents the Segment of the method (function), and the fileoff and fizesize at this time can be assigned to BBB and BBBC respectively, the file pointer is moved to the BBB position, and the data of BBBC byte size is read, i.e. the application program method (function) information.
When the load Command is traversed, if the cmd value is 0x1d, the Command stores signature information, and the data with the size of 16 bytes read according to the document is a linkedit _ data _ Command structure, wherein the field dataoff represents the offset of the Command, and the field datasize represents the size of the string constant in the Mach-O file. The current dataoff and datasize may be assigned to CCC and CCCD, respectively, the file pointer may be moved to the CCC location, and the byte size of the CCCD data, i.e., the data containing the application signature and the packet name information, may be read.
When it is detected that a user executes installation operation on the reinforced iOS application, extracting second key data of the binary file of the iOS application after the installation operation is executed by using a preset extraction rule, wherein the second key data comprises: constant string data, method data, dynamic library data, signature data, package name data, and the like. And judging whether a preset index (cryptotid value) in the second key data is a preset value (the value is 0), if so, indicating that the iOS application is cracked, and feeding back a first preset detection result to the user, wherein the first preset detection result can be 'the application is cracked'.
Further, when the preset index in the second key data is judged not to be the preset value, whether the object of the first key data is the same as the object of the second key data is judged, when the object of the first key data is judged to be the same as the object of the second key data, a second preset detection result is fed back to the user, and if not, a first preset detection result is fed back to the user, wherein the object comprises constant character string data, method data, dynamic library data, signature data and package name data.
When the preset index (cryptid value) in the second key data is not a preset value, comparing the first key data with the second key data, and when the constant string data, the method data, the dynamic library data, the signature data and the packet name data in the first key data are respectively the same as the constant string data, the method (function) data, the dynamic library data, the signature data and the packet name data in the second key data, it is indicated that the iOS application is not cracked, and a second preset detection result is fed back to a user, for example: when any item of data of the first key data is different from any item of data of the second key data, the iOS application is cracked, and a first preset detection result is fed back to a user.
Furthermore, the embodiment of the present invention also provides a computer-readable storage medium, which may be any one or any combination of a hard disk, a multimedia card, an SD card, a flash memory card, an SMC, a Read Only Memory (ROM), an Erasable Programmable Read Only Memory (EPROM), a portable compact disc read only memory (CD-ROM), a USB memory, and the like. Included in the computer-readable storage medium is an iOS application based reinforcement program 10, which when executed by a processor, performs the following:
a receiving step: receiving a request for reinforcing the iOS application sent by a user, and acquiring a binary file of the iOS application to be reinforced carried in the request;
a screening step: acquiring all protocol character strings, class character strings and function character strings in the binary file as a first character string set based on a preset regular expression set, acquiring the protocol character strings, the class character strings and the function character strings belonging to an iOS system in the binary file as a second character string set, and screening to obtain a third character string set based on the first character string set and the second character string set;
a replacement step: traversing the third character string set, respectively reading the length of each initial character string in the third character string set, randomly executing replacement operation on the characters of each initial character string based on the length of each initial character string and a preset replacement character set, sequentially splicing the replaced characters, and generating a target character string corresponding to each initial character string; and
a feedback step: writing each target character string into a preset file to be compiled, performing compiling operation on the file to be compiled to obtain a reinforced iOS application, and feeding back the reinforced iOS application to the user.
In another embodiment, in order to further ensure the privacy and security of all the data, all the data may be stored in a node of a block chain. Such as the iOS application to be hardened, a preset replacement character set or target character string set, etc., which may all be stored in the block chain node.
It should be noted that the blockchain in the present invention is a novel application mode of computer technologies such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm. A block chain (Blockchain), which is essentially a decentralized database, is a series of data blocks associated by using a cryptographic method, and each data block contains information of a batch of network transactions, so as to verify the validity (anti-counterfeiting) of the information and generate a next block. The blockchain may include a blockchain underlying platform, a platform product service layer, an application service layer, and the like.
The embodiment of the computer-readable storage medium of the present invention is substantially the same as the embodiment of the aforementioned iOS application-based consolidation method, and will not be described herein again.
It should be noted that the above-mentioned numbers of the embodiments of the present invention are merely for description, and do not represent the merits of the embodiments. And the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, apparatus, article, or method that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, apparatus, article, or method. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, apparatus, article, or method that includes the element.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solution of the present invention essentially or contributing to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk) as described above and includes several instructions for enabling a terminal device (such as a mobile phone, a computer, an electronic device, or a network device) to execute the method according to the embodiments of the present invention.
The above description is only a preferred embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes, which are made by using the contents of the present specification and the accompanying drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (10)

1. An iOS application-based consolidation method applied to an electronic device, the method comprising:
a receiving step: receiving a request for reinforcing the iOS application sent by a user, and acquiring a binary file of the iOS application to be reinforced carried in the request;
a screening step: acquiring all protocol character strings, class character strings and function character strings in the binary file as a first character string set based on a preset regular expression set, acquiring the protocol character strings, the class character strings and the function character strings belonging to an iOS system in the binary file as a second character string set, and screening to obtain a third character string set based on the first character string set and the second character string set;
a replacement step: traversing the third character string set, respectively reading the length of each initial character string in the third character string set, randomly executing replacement operation on the characters of each initial character string based on the length of each initial character string and a preset replacement character set, sequentially splicing the replaced characters, and generating a target character string corresponding to each initial character string; and
a feedback step: writing each target character string into a preset file to be compiled, performing compiling operation on the file to be compiled to obtain a reinforced iOS application, and feeding back the reinforced iOS application to the user.
2. The iOS application-based consolidation method of claim 1, wherein the screening step further comprises:
and adding the self-defining character string for realizing serialization, the self-defining character string for realizing a preset protocol, the class character string for storing data in a preset mode and keywords reserved by the iOS system in the binary file to the second character string set.
3. The iOS application based consolidation method according to claim 1 or 2, wherein the replacing step further comprises:
and storing the generated target character string to a preset storage path, judging whether the same target character string exists in the preset storage path, and when judging that the same target character string exists in the preset storage path, re-executing the replacement operation on the same target character string by using the replacement character set until the same target character string does not exist in the preset storage path.
4. The iOS application-based consolidation method of claim 1, wherein after the feedback step, the method further comprises:
analyzing the binary file of the reinforced iOS application based on a preset analysis rule to obtain first key data, extracting second key data of the binary file of the reinforced iOS application subjected to the installation operation by utilizing a preset extraction rule after detecting that a user performs the installation operation on the reinforced iOS application, judging whether a preset index in the second key data is a preset value, and feeding back a first preset detection result to the user when judging that the preset index in the second key data is the preset value.
5. The iOS application-based consolidation method of claim 4, wherein the method further comprises:
when the preset index in the second key data is judged not to be a preset value, whether the object of the first key data is the same as the object of the second key data is judged, when the object of the first key data is judged to be the same as the object of the second key data, a second preset detection result is fed back to the user, and if not, the first preset detection result is fed back to the user, wherein the object comprises constant character string data, method data, dynamic library data, signature data and package name data.
6. An electronic device comprising a memory and a processor, wherein an iOS application based reinforcement program is stored on the memory, and wherein the iOS application based reinforcement program is executed by the processor, implementing the steps of:
a receiving step: receiving a request for reinforcing the iOS application sent by a user, and acquiring a binary file of the iOS application to be reinforced carried in the request;
a screening step: acquiring all protocol character strings, class character strings and function character strings in the binary file as a first character string set based on a preset regular expression set, acquiring the protocol character strings, the class character strings and the function character strings belonging to an iOS system in the binary file as a second character string set, and screening to obtain a third character string set based on the first character string set and the second character string set;
a replacement step: traversing the third character string set, respectively reading the length of each initial character string in the third character string set, randomly executing replacement operation on the characters of each initial character string based on the length of each initial character string and a preset replacement character set, sequentially splicing the replaced characters, and generating a target character string corresponding to each initial character string; and
a feedback step: writing each target character string into a preset file to be compiled, performing compiling operation on the file to be compiled to obtain a reinforced iOS application, and feeding back the reinforced iOS application to the user.
7. The electronic device of claim 6, wherein the replacing step further comprises:
and storing the generated target character string to a preset storage path, judging whether the same target character string exists in the preset storage path, and when judging that the same target character string exists in the preset storage path, re-executing the replacement operation on the same target character string by using the replacement character set until the same target character string does not exist in the preset storage path.
8. The electronic device of claim 6, wherein after the feedback step, the iOS application based reinforcement program is executed by the processor, further implementing the steps of:
analyzing the binary file of the reinforced iOS application based on a preset analysis rule to obtain first key data, extracting second key data of the binary file of the reinforced iOS application after the installation operation is executed by a user after the installation operation of the reinforced iOS application is detected, judging whether a preset index in the second key data is a preset value, and feeding back a first preset detection result to the user when the preset index in the second key data is judged to be the preset value.
9. The electronic device of claim 8, wherein the iOS application based reinforcement program is executed by the processor, further implementing the steps of:
when the preset index in the second key data is judged not to be a preset value, whether the object of the first key data is the same as the object of the second key data is judged, when the object of the first key data is judged to be the same as the object of the second key data, a second preset detection result is fed back to the user, and if not, the first preset detection result is fed back to the user, wherein the object comprises constant character string data, method data, dynamic library data, signature data and package name data.
10. A computer-readable storage medium, wherein an iOS application based reinforcement program is included in the computer-readable storage medium, and wherein the iOS application based reinforcement program, when executed by a processor, performs the steps of the iOS application based reinforcement method according to any of claims 1 to 5.
CN202010479471.0A 2020-05-29 2020-05-29 Reinforcing method based on iOS application, electronic device and storage medium Active CN111695093B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010479471.0A CN111695093B (en) 2020-05-29 Reinforcing method based on iOS application, electronic device and storage medium
PCT/CN2020/131982 WO2021151347A1 (en) 2020-05-29 2020-11-27 Ios application-based reinforcement method, apparatus, device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010479471.0A CN111695093B (en) 2020-05-29 Reinforcing method based on iOS application, electronic device and storage medium

Publications (2)

Publication Number Publication Date
CN111695093A true CN111695093A (en) 2020-09-22
CN111695093B CN111695093B (en) 2024-10-25

Family

ID=

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112291041A (en) * 2020-10-22 2021-01-29 山东云海国创云计算装备产业创新中心有限公司 Data decoding device and method based on FPGA
CN112822532A (en) * 2021-01-15 2021-05-18 海信电子科技(深圳)有限公司 Editing and generating method of broadcast protocol code stream file and display device
WO2021151347A1 (en) * 2020-05-29 2021-08-05 平安科技(深圳)有限公司 Ios application-based reinforcement method, apparatus, device, and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106034119A (en) * 2015-03-16 2016-10-19 阿里巴巴集团控股有限公司 Encryption mixing method and device for application installation package
CN109918083A (en) * 2019-03-07 2019-06-21 北京智游网安科技有限公司 A kind of security processing based on application programming, intelligent terminal and storage medium
CN110119600A (en) * 2019-03-28 2019-08-13 江苏通付盾信息安全技术有限公司 Program reinforcement means and device based on application program installation kit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106034119A (en) * 2015-03-16 2016-10-19 阿里巴巴集团控股有限公司 Encryption mixing method and device for application installation package
CN109918083A (en) * 2019-03-07 2019-06-21 北京智游网安科技有限公司 A kind of security processing based on application programming, intelligent terminal and storage medium
CN110119600A (en) * 2019-03-28 2019-08-13 江苏通付盾信息安全技术有限公司 Program reinforcement means and device based on application program installation kit

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021151347A1 (en) * 2020-05-29 2021-08-05 平安科技(深圳)有限公司 Ios application-based reinforcement method, apparatus, device, and storage medium
CN112291041A (en) * 2020-10-22 2021-01-29 山东云海国创云计算装备产业创新中心有限公司 Data decoding device and method based on FPGA
CN112291041B (en) * 2020-10-22 2022-05-27 山东云海国创云计算装备产业创新中心有限公司 Data decoding device and method based on FPGA
CN112822532A (en) * 2021-01-15 2021-05-18 海信电子科技(深圳)有限公司 Editing and generating method of broadcast protocol code stream file and display device
CN112822532B (en) * 2021-01-15 2023-04-14 海信电子科技(深圳)有限公司 Editing and generating method of broadcast protocol code stream file and display device

Also Published As

Publication number Publication date
WO2021151347A1 (en) 2021-08-05

Similar Documents

Publication Publication Date Title
CN108388598B (en) Electronic device, data storage method, and storage medium
US20140082729A1 (en) System and method for analyzing repackaged application through risk calculation
CN106843842B (en) Method and device for updating application program configuration file
CN110457628B (en) Webpage version checking method, device, equipment and storage medium
CN113239106B (en) Excel file export method and device, electronic equipment and storage medium
US8818967B2 (en) Method for compressing identifiers
CN111651468A (en) Data updating method and device based on SQL analysis, electronic equipment and storage medium
CN113486350B (en) Method, device, equipment and storage medium for identifying malicious software
CN111694613A (en) Decoupling method between application program modules, electronic device and storage medium
CN110866258A (en) Method for quickly positioning bug, electronic device and storage medium
CN111008034A (en) Patch generation method and device
CN112631924A (en) Automatic testing method and device, computer equipment and storage medium
CN103761095B (en) Method for generating universal upgrade file head data information
CN112433705A (en) Script generation method and device, electronic equipment and storage medium
CN112817935A (en) Data processing method, device and equipment based on field type and storage medium
CN110688315A (en) Interface code detection report generation method, electronic device, and storage medium
CN113434122A (en) Multi-role page creation method and device, server and readable storage medium
CN111695093B (en) Reinforcing method based on iOS application, electronic device and storage medium
CN111695093A (en) iOS application-based reinforcement method, electronic device and storage medium
CN111782239A (en) Software packaging and source code version information acquisition method, device and storage medium
CN114816772B (en) Debugging method, debugging system and computing device for application running based on compatible layer
CN115080012A (en) class file conflict recognition method and device, electronic equipment and storage medium
CN111092803A (en) Message processing method, device, system and storage medium
CN114912003A (en) Document searching method and device, computer equipment and storage medium
CN108804083B (en) Code operation method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40030836

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant