Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure have been shown in the accompanying drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustration purposes only and are not intended to limit the scope of the present disclosure.
It should be understood that the various steps recited in the method embodiments of the present disclosure may be performed in a different order and/or performed in parallel. Furthermore, method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the present disclosure is not limited in this respect.
The term "including" and variations thereof as used herein are intended to be open-ended, i.e., including, but not limited to. The term "based on" is based at least in part on. The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments. Related definitions of other terms will be given in the description below.
It should be noted that the terms "first," "second," and the like in this disclosure are used merely to distinguish one from another device, module, or unit, and are not intended to limit the device, module, or unit to the particular device, module, or unit or to limit the order or interdependence of functions performed by the devices, modules, or units.
It should be noted that references to "one", "a plurality" and "a plurality" in this disclosure are intended to be illustrative rather than limiting, and those of ordinary skill in the art will appreciate that "one or more" is intended to be understood as "one or more" unless the context clearly indicates otherwise.
The names of messages or information interacted between the various devices in the embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
Embodiments of the present disclosure provide a component data extraction method of an operating system, as shown in fig. 1, the method may include:
step S110, determining version information corresponding to an operating system on which the terminal equipment to be tested depends as target version information.
The operating system refers to a processing system of the terminal device to be tested, for example, may be an android processing system, or may be an IOS (apple mobile operating system) processing system, and in the embodiment of the present disclosure, the operating system on which the terminal device depends may be an android operating system. The version information is used for characterizing the current version adopted by the operating system, and multiple versions can exist in the same operating system, for example, when the operating system is an android version, the version adopted by the operating system can be an android 5.0 version or an android 9.0 version.
Step S120, obtaining an installation package file of the application program to be tested in the terminal equipment to be tested, and determining the file type of the installation package file according to the target version information.
In practical applications, when the versions of the operating systems are different, the file types of the installation package files of the included application programs are also different. For example, when the operating system of the terminal device is Android, if the installed version is any one of Android 1 to Android 4, the installation package exists in the system in the form of dex and apk type files, if the installed version is any one of Android 5 to Android 7, the installation package exists in the system in the form of optimized odex and apk type files, in the Android 8 version, the odex type file is changed into a vdex type file, and the version after the Android 9 is changed into a cdex type file. Based on this, in the embodiment of the present disclosure, after knowing the version information corresponding to the operating system on which the terminal device to be tested depends, the file type of the obtained installation package file of the application program to be tested may be determined according to the corresponding version information.
And step S130, decompiling the installation package file according to the file type to obtain a code text.
In practical application, when the file types of the installation package files are different, the decompilation modes of the installation package files are different, and when the file types of the installation package files are known, the decompilation processing modes corresponding to the types can be selected to decompil the installation package files to obtain code texts. Wherein the code text may be a smali code.
Step S140, extracting system component data from the code file.
In practical application, each component of the application program to be extracted usually exists under the conditions of System/app and priv-app, framework, and correspondingly, when a code text corresponding to the installation package file is obtained, the code text reflects data in the System/app and priv-app, framework, so that System component data corresponding to the application program to be detected can be obtained from the code file. Wherein, in an implementation manner of extracting system component data from a code file, the embodiment of the disclosure is not limited, and an alternative implementation manner may be to call a text editor to extract system component data from the code file.
In the embodiment of the disclosure, when extracting system component data corresponding to an application program to be tested, the file type of an installation package file of the application program to be tested can be determined according to version information corresponding to an operating system on which the terminal equipment to be tested depends, and decompilation is performed in a decompilation mode corresponding to the file type, so that decompilation can be realized for all versions involved in the system, and compatibility of all versions of the operating system is improved; in the embodiment of the disclosure, after decompiling to obtain the code text corresponding to the installation package file, the system component data can be quickly, rapidly and efficiently extracted based on the code text, so that the quick safety test can be realized, and the test efficiency is improved.
In the embodiment of the disclosure, the system component data comprises a component type and action data corresponding to the component; the component types include a broadcast component, an activity component, and a service component.
In practical applications, the system component data corresponding to the application program to be tested may include various types of components, such as a broadcast component, an activity component, a service component, and the like, where each component further includes action (action) data, and when the system component data corresponding to the application program to be tested is obtained, the system component data may include each component type and action data corresponding to each component type.
In the embodiment of the present disclosure, the action data corresponding to each component type is action data corresponding to a class name included in each component type.
In practical application, each component type includes a class name, and each class name has corresponding action data, and at this time, the extracted action data corresponding to each component type is the action data corresponding to the class name included in each component name.
In an embodiment of the present disclosure, extracting system component data from a code file includes:
searching a Manifest file in a code text, and extracting component data of an activity component, component data of a service component and component data in a non-dynamic broadcast registration form of a broadcast component from the Mainfest file;
Searching a register receiver field in the code text, and extracting to obtain component data in a dynamic broadcast registration form of a broadcast component.
In practical application, the implementation manner of obtaining the system component data corresponding to the application program to be tested based on the code text extraction is different when corresponding to different component types. For example, component data of the activity component, component data of the service component, and component data in a non-dynamic broadcast registration form of the broadcast component may be extracted based on a Manifest file in the code text. Further, in practical application, because the component data in the dynamic broadcast registration form of the broadcast component is not reflected in the Manifest file in the code text, the register receiver field in the code text can be scanned at this time, and the component data in the dynamic broadcast registration form of the broadcast component is extracted.
In the embodiment of the present disclosure, decompiling an installation package file according to a type of the file type to obtain a code text, including:
if the file type is the first type, decompiling the installation package file by adopting a decompiling tool corresponding to the first type, wherein the first type comprises an APK file type and a dex file type;
If the file type is not the first type, converting the installation package file into the installation package file of the first type to obtain a converted installation package file; decompiling the converted installation package file by adopting a decompiling tool corresponding to the first type.
In practical application, when the file types of the installation package files are different, the decompiling mode of the installation package files is also different, and at this time, the decompiling of the installation package files can be performed according to the file types. In the embodiment of the present disclosure, various file types may be divided into a first type and a non-first type, and the first type may include an APK (Android Package) file type and a dex file type.
Further, when decompiling is performed on the installation package file according to the file type, the file type of the installation package file can be determined, if the file type is determined to be the first type, the decompiling tool corresponding to the first type can be directly adopted to decompil the installation package file, if the file type is determined to be the non-first type, the installation package file can be converted into the installation package file of the first type (namely converted into the APK file type or the dex file type), and then the decompiled is performed on the converted installation package file by adopting the decompiling tool corresponding to the first type. When the type of the first type of APK file is the type, the decompilation tool corresponding to the type of the first type of the dex file is an apktoolbacksmali tool.
When the file type is not the first type, different implementation manners may be adopted according to the file type in the implementation manner when the installation package file is converted into the installation package file of the first type. For example, when the file type is an odex file type, the backstsmali tool may directly decompil an installation package file of the dex file type after converting the installation package file from the odex file type to the dex file type; when the file type is a vdex file type, a vdex extraction tool can be adopted to convert the installation package file from the vdex file type to the dex file type, and then a backstsmali tool is adopted to decompil the installation package file of the dex file type obtained after conversion; when the file type is a cdex file type, a compact_dex_controllers tool can be used for converting the installation package file from the cdex file type to a dex file type, and then decompiling is performed on the installation package file of the dex file type obtained after conversion based on the backstsmali.
In addition, in practical application, the installation package file of the application program to be tested in the operating system can be stored in various forms, such as a 32-bit form or a 64-bit form. Based on this, in the embodiment of the present disclosure, before decompiling an installation package file of an application to be tested, a form adopted by the installation package file in storage may be determined, and corresponding processing is performed on the installation package file according to the form adopted in storage, for example, the installation package file stored in 64 forms is moved to a specified directory (such as a framework directory), or in order to reduce the data volume, the installation package file stored in 32 forms is deleted.
In an embodiment of the present disclosure, based on the code text, the method further comprises:
performing deduplication processing on all the extracted component data;
the component data after the duplication removal is classified and stored in a plurality of files, and the files are used for carrying out security tests of override and refusal service types.
In practical application, there may be repeated component data in the component data extracted based on the code text, if the security test is performed on the application to be tested directly based on the extracted component data, the data processing amount may be increased due to the repeated component data, so in the embodiment of the present disclosure, the extracted component data may be subjected to the deduplication process, so as to obtain the component data after the deduplication, and the component data may be classified and stored in a plurality of files based on the component types included in the component data, so that the security test of override and/or denial of service types may be performed subsequently.
Further, in order to better understand the solution provided by the embodiments of the present disclosure, the method provided by the embodiments of the present disclosure is further described below with reference to specific embodiments. Wherein in this example, the operating System of the terminal device is an android System, component data of an installation package file of an installed application program is stored under a System/app, a priv-app, a System/frame (as shown in fig. 2), and correspondingly, in a configuration environment of the terminal device, as shown in fig. 3, the configuration environment of the terminal device includes backsmali, apktool, vdexExtractor, compact _dex_controllers and Java8, where when the types of the installation package files in the operating System are all of a first type, the configuration environment of the terminal device may only include backsmali, apktool and Java8.
In this example, as shown in fig. 4, when component data is extracted, version information corresponding to an operating system on which a terminal device to be tested depends may be first used as target version information, and then, according to the target version information, an installation package file of an application program to be tested is decompiled to obtain a code text corresponding to the installation package file, which specifically includes the following steps:
step S401, the version information corresponding to the operating system on which the terminal equipment to be tested depends is taken as target version information;
step S402, moving a 64-bit installation package file to a frame work directory;
step S403, deleting the 32-bit installation package file;
step S404, determining the file type of the installation package file of the application program to be tested according to the target version information;
step S405, if the file type is the first type, judging whether the file type of the installation package file is an APK file type or a dex file type;
step S406, if the file type of the installation package file is the APK file type in the first type, decompiling is carried out by adopting an apktool decompiling tool, and a code text is obtained;
step S407, if the file type of the installation package file is the dex file type in the first type, decompiling is carried out by adopting a backstsmali decompiling tool to obtain a code text;
Step S408, if the file type is not the first type, judging which of the odex file type, the vdex file type and the cdex file type the file type of the installation package file is specifically;
step S409, if the file type of the installation package file is the odex file type, decompiling is carried out by adopting a backstsmali decompiling tool to obtain a code text;
step S410, if the file type of the installation package file is a vdex file type, converting the installation package file from the vdex file type to the dex file type by using a vdex extratractor tool;
step S411, decompiling the installation package file of the dex file type obtained after conversion by adopting a backstsmali decompiling tool to obtain a code text;
step S412, if the file type of the installation package file is the cdex file type, converting the installation package file from the cdex file type to the vdex file type by adopting a compact_dex_controllers tool;
step S413, converting the vdex file type into a dex file type by adopting a vdex extraction tool;
in step S414, decompiling the installation package file of the converted dex file type by using a backstsmali decompiling tool to obtain a code text.
Further, as shown in fig. 5, after obtaining the code text corresponding to the installation package file, the system component data may be extracted from the code file, which may specifically include:
Step S501, extracting a broadcast component, an activity component and a service component based on a Manifest file in a code text;
step S502, class names included in a broadcast component, an activity component and a service component are respectively determined;
step S503, extracting the action data corresponding to various names;
step S504, scanning a register receiver field in the code text, and extracting to obtain component data in a dynamic broadcast registration form of a broadcast component.
Based on the same principle as the method shown in fig. 1, there is also provided in an embodiment of the present disclosure an extraction apparatus 30 of system component data, and as shown in fig. 6, the extraction apparatus 30 of system component data may include a version information determination module 310, a file type determination module 320, a code text determination module 330, and a component data extraction module 340, wherein:
the version information determining module 310 is configured to determine version information corresponding to an operating system on which the terminal device to be tested depends, as target version information;
the file type determining module 320 is configured to decompil the installation package file according to the file type to obtain a code text;
the code text determining module 330 is configured to decompil an installation package file of an application to be extracted according to the version information, so as to obtain a code text corresponding to the installation package file;
Component data extraction module 340 is used to extract system component data from the code file.
In an alternative embodiment of the present application, the operating system on which the terminal device depends is an android operating system.
In an alternative embodiment of the present application, the system component data includes a component type and action data corresponding to the component type; the component types include a broadcast component, an activity component, and a service component.
In an alternative embodiment of the present application, the component data extraction module is specifically configured to, when extracting system component data from a code file:
searching a Manifest file in a code text, and extracting component data of an activity component, component data of a service component and component data in a non-dynamic broadcast registration form of a broadcast component from the Mainfest file;
searching a register receiver field in the code text, and extracting to obtain component data in a dynamic broadcast registration form of a broadcast component.
In an alternative embodiment of the present application, when the code text determining module decompiles the installation package file according to the type of the file type to obtain the code text, the code text determining module is specifically configured to:
if the file type is the first type, decompiling the installation package file by adopting a decompiling tool corresponding to the first type, wherein the first type comprises an APK file type or a dex file type;
If the file type is not the first type, converting the installation package file into the installation package file of the first type to obtain a converted installation package file; decompiling the converted installation package file by adopting a decompiling tool corresponding to the first type.
In an alternative embodiment of the present application, the component data extraction module is specifically configured to, when extracting system component data from a code file:
invoking a text editor to extract system component data from a code file
In an alternative embodiment of the present application, the apparatus further includes a deduplication processing module configured to:
performing deduplication processing on all the extracted component data;
the component data after the duplication removal is classified and stored in a plurality of files, and the files are used for carrying out security tests of override and refusal service types.
The system component data extracting device according to the embodiments of the present disclosure may perform a method for extracting system component data according to the embodiments of the present disclosure, and the implementation principle is similar, and actions performed by each module in the system component data extracting device according to each embodiment of the present disclosure correspond to steps in the system component data extracting method according to each embodiment of the present disclosure, and detailed functional descriptions of each module in the system component data extracting device may be specifically referred to descriptions in the corresponding system component data extracting method shown in the foregoing, which are not repeated herein.
Based on the same principles as the methods shown in the embodiments of the present disclosure, there is also provided in the embodiments of the present disclosure an electronic device that may include, but is not limited to: a processor and a memory; a memory for storing computer operating instructions; and the processor is used for executing the method shown in the embodiment by calling the computer operation instruction.
Based on the same principle as the method shown in the embodiments of the present disclosure, there is also provided a computer readable storage medium storing at least one instruction, at least one program, a code set, or an instruction set, where the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the method shown in the above embodiments, which is not repeated herein.
Referring now to fig. 7, a schematic diagram of an electronic device 600 suitable for use in implementing embodiments of the present disclosure is shown. The terminal devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and the like, and stationary terminals such as digital TVs, desktop computers, and the like. The electronic device shown in fig. 7 is merely an example and should not be construed to limit the functionality and scope of use of the disclosed embodiments.
An electronic device includes: a memory and a processor, where the processor may be referred to as a processing device 601 hereinafter, the memory may include at least one of a Read Only Memory (ROM) 602, a Random Access Memory (RAM) 603, and a storage device 608 hereinafter, as shown in detail below:
as shown in fig. 7, the electronic device 600 may include a processing means (e.g., a central processing unit, a graphic processor, etc.) 601, which may perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 602 or a program loaded from a storage means 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the electronic apparatus 600 are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other through a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
In general, the following devices may be connected to the I/O interface 605: input devices 606 including, for example, a touch screen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, and the like; an output device 607 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 608 including, for example, magnetic tape, hard disk, etc.; and a communication device 609. The communication means 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. While fig. 7 shows an electronic device 600 having various means, it is to be understood that not all of the illustrated means are required to be implemented or provided. More or fewer devices may be implemented or provided instead.
In particular, according to embodiments of the present disclosure, the processes described above with reference to flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a non-transitory computer readable medium, the computer program comprising program code for performing the method shown in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via communication means 609, or from storage means 608, or from ROM 602. The above-described functions defined in the methods of the embodiments of the present disclosure are performed when the computer program is executed by the processing device 601.
It should be noted that the computer readable medium described in the present disclosure may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this disclosure, a computer-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present disclosure, however, the computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, with the computer-readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, fiber optic cables, RF (radio frequency), and the like, or any suitable combination of the foregoing.
In some implementations, the clients, servers may communicate using any currently known or future developed network protocol, such as HTTP (HyperText Transfer Protocol ), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the internet (e.g., the internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed networks.
The computer readable medium may be contained in the electronic device; or may exist alone without being incorporated into the electronic device.
Computer program code for carrying out operations of the present disclosure may be written in one or more programming languages, including, but not limited to, an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules or units involved in the embodiments of the present disclosure may be implemented by means of software, or may be implemented by means of hardware. Where the name of a module or unit does not in some cases constitute a limitation of the unit itself.
The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), an Application Specific Standard Product (ASSP), a system on a chip (SOC), a Complex Programmable Logic Device (CPLD), and the like.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
According to one or more embodiments of the present disclosure, an example A1 provides a method for extracting system component data, including:
determining version information corresponding to an operating system on which the terminal equipment to be tested depends as target version information;
acquiring an installation package file of an application program to be tested in the terminal equipment to be tested, and determining the file type of the installation package file according to the target version information;
decompiling the installation package file according to the file type to obtain a code text;
system component data is extracted from the code file.
A2, according to the method of A1, the operating system on which the terminal equipment depends is an android operating system.
A3, according to the method of A1, the system component data comprise component types and action data corresponding to the component types; the component types include a broadcast component, an activity component, and a service component.
A4, extracting system component data from the code file according to the file type according to the method of A1, wherein the method comprises the following steps:
searching a Manifest file in a code text, and extracting component data of an activity component, component data of a service component and component data in a non-dynamic broadcast registration form of a broadcast component from the Mainfest file;
Searching a register receiver field in the code text, and extracting to obtain component data in a dynamic broadcast registration form of a broadcast component.
A5, according to the method of A1, decompiling the installation package file according to the type of the file type to obtain a code text, wherein the decompiling process comprises the following steps:
if the file type is the first type, decompiling the installation package file by adopting a decompiling tool corresponding to the first type, wherein the first type comprises an APK file type or a dex file type;
if the file type is not the first type, converting the installation package file into the installation package file of the first type to obtain a converted installation package file; decompiling the converted installation package file by adopting a decompiling tool corresponding to the first type.
A6, extracting system component data from the code file according to the method of A1, wherein the method comprises the following steps:
invoking a text editor to extract system component data from the code file.
A7. the method according to any of A1 to 6, based on code text, the method further comprising:
performing deduplication processing on all the extracted component data;
the component data after the duplication removal is classified and stored in a plurality of files, and the files are used for carrying out security tests of override and refusal service types.
According to one or more embodiments of the present disclosure, an extraction apparatus for system component data is provided [ example B1 ], comprising:
the version information determining module 310 is configured to determine version information corresponding to an operating system on which the terminal device to be tested depends, as target version information;
the file type determining module 320 is configured to decompil the installation package file according to the file type to obtain a code text;
the code text determining module 330 is configured to decompil an installation package file of an application to be extracted according to the version information, so as to obtain a code text corresponding to the installation package file;
component data extraction module 340 is used to extract system component data from the code file.
B2, according to the device of the B1, an operating system on which the terminal equipment depends is an android operating system.
B3, according to the device of the B1, the system component data comprise component types and action data corresponding to the component types; the component types include a broadcast component, an activity component, and a service component.
B4, the device according to B1, when extracting the system component data from the code file, the component data extracting module is specifically configured to:
searching a Manifest file in a code text, and extracting component data of an activity component, component data of a service component and component data in a non-dynamic broadcast registration form of a broadcast component from the Mainfest file;
Searching a register receiver field in the code text, and extracting to obtain component data in a dynamic broadcast registration form of a broadcast component.
B5, according to the device of B1, when the code text determining module decompiles the installation package file according to the type of the file type to obtain the code text, the code text determining module is specifically used for:
if the file type is the first type, decompiling the installation package file by adopting a decompiling tool corresponding to the first type, wherein the first type comprises an APK file type or a dex file type;
if the file type is not the first type, converting the installation package file into the installation package file of the first type to obtain a converted installation package file; decompiling the converted installation package file by adopting a decompiling tool corresponding to the first type.
B6, the device according to B1, when extracting the system component data from the code file, the component data extracting module is specifically configured to:
invoking a text editor to extract system component data from the code file.
B7, the apparatus according to any one of B1 to B6, the apparatus further comprising a deduplication processing module configured to:
performing deduplication processing on all the extracted component data;
the component data after the duplication removal is classified and stored in a plurality of files, and the files are used for carrying out security tests of override and refusal service types.
According to one or more embodiments of the present disclosure, there is provided an electronic device [ example C1 ], comprising:
a processor and a memory;
a memory for storing computer operating instructions;
a processor for executing the method of any one of A1 to A7 by invoking computer operation instructions.
According to one or more embodiments of the present disclosure, a computer readable medium is provided [ example D1 ], characterized in that the readable medium stores at least one instruction, at least one program, a set of codes, or a set of instructions, the at least one instruction, the at least one program, the set of codes, or the set of instructions being loaded and executed by a processor to implement the method of any one of A1 to A7.
The foregoing description is only of the preferred embodiments of the present disclosure and description of the principles of the technology being employed. It will be appreciated by persons skilled in the art that the scope of the disclosure referred to in this disclosure is not limited to the specific combinations of features described above, but also covers other embodiments which may be formed by any combination of features described above or equivalents thereof without departing from the spirit of the disclosure. Such as those described above, are mutually substituted with the technical features having similar functions disclosed in the present disclosure (but not limited thereto).
Moreover, although operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the present disclosure. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are example forms of implementing the claims.