CN109032687B - Method and device for shielding dangerous call of SDK (software development kit) - Google Patents

Method and device for shielding dangerous call of SDK (software development kit) Download PDF

Info

Publication number
CN109032687B
CN109032687B CN201810594570.6A CN201810594570A CN109032687B CN 109032687 B CN109032687 B CN 109032687B CN 201810594570 A CN201810594570 A CN 201810594570A CN 109032687 B CN109032687 B CN 109032687B
Authority
CN
China
Prior art keywords
function
sdk
null
class
calling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810594570.6A
Other languages
Chinese (zh)
Other versions
CN109032687A (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201810594570.6A priority Critical patent/CN109032687B/en
Publication of CN109032687A publication Critical patent/CN109032687A/en
Application granted granted Critical
Publication of CN109032687B publication Critical patent/CN109032687B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Abstract

The invention provides a method and a device for shielding SDK dangerous call, wherein the method comprises the following steps: after determining that the current calling operation of the SDK is a preset dangerous calling operation, judging whether the current calling operation belongs to a global modification operation or a local modification operation; for global modification operation, the symbol of the current dangerous calling operation is bound to a preset self-defined null function or null class; for local modification operation, the SDK file is divided into a plurality of object files, the function name called by each object file is replaced by a preset self-defined function name, and the modified object files are integrated into a new SDK file. The embodiment of the invention can improve the stability of the app, reduce the risk of collapse of the app and achieve the purposes of protecting the privacy of users and improving the experience of the users.

Description

Method and device for shielding dangerous call of SDK (software development kit)
Technical Field
The invention relates to the technical field of software development, in particular to a method and a device for shielding dangerous calls of an SDK (software development kit).
Background
In developing an app (Application), an SDK (Software Development Kit) developed by a third party is often used. However, these third party SDKs are of varying quality, and for debug purposes, the SDK may call some dangerous system APIs (Application Programming Interface) to cause the app to crash, such as calling an assert function, which cannot be modified in time without the source code of the SDK.
The conventional solution is to wait for the update of the SDK, and obviously, this method cannot meet the requirement of fast update of the current internet app. Another solution is to swap the implementation of the objc (object oriented programming language that extends C) function, but this approach is not effective for C functions.
Disclosure of Invention
In order to avoid the danger of illegal invocation of the third-party SDK, embodiments of the present invention provide a method and an apparatus for shielding dangerous invocation of the SDK.
The embodiment of the invention provides a method for shielding dangerous invocation of an SDK (software development kit), which is used for controlling the invocation operation of a third-party SDK in the linkage process of developing an app, and comprises the following steps:
after determining that the current calling operation of the SDK is a preset dangerous calling operation, judging whether the current calling operation belongs to a global modification operation or a local modification operation;
for global modification operation, the symbol of the current dangerous calling operation is bound to a preset self-defined null function or null class;
for local modification operation, the SDK file is divided into a plurality of object files, the function name called by each object file is replaced by a preset self-defined function name, and the modified object files are integrated into a new SDK file.
In an optional manner, the binding the symbol of the current hazard call operation to a preset custom null function or null class includes:
binding the symbol of the current dangerous calling operation to a preset self-defined null function or null class in a mode of setting a linker or in a mode of linking a preset script; wherein the setting linker comprises: the linker alias option is set.
In an optional mode, the dangerous calling operation comprises calling an assertion function or an assertion class, an address book permission applying operation, or an album permission applying operation.
In an alternative, for a global modify operation that calls a predicate function or calls a predicate class, prior to the setting a linker, the method further comprises:
setting a null function having the same function signature but a different name as the predicate function or setting a null class having the same attribute declaration and method declaration as the predicate class for the predicate function.
In an optional manner, the splitting the SDK file into a plurality of object files and replacing the function name called by each object file with a preset self-defined function name includes:
splitting the SDK file into a plurality of object files;
analyzing each object file to determine the position of a pointer table;
and modifying the symbol name in the pointer table into a predetermined self-defined function name.
An embodiment of the present invention further provides a device for shielding dangerous invocation of an SDK, which is used for controlling invocation operation of a third-party SDK in a link process of developing a target app, and the device includes:
the system comprises a danger calling determining unit, a danger calling determining unit and a danger calling determining unit, wherein the danger calling determining unit is used for determining that the current calling operation of the SDK is a preset danger calling operation;
the modification type judgment unit is used for judging whether the current calling operation belongs to the global modification operation or the local modification operation;
the global operation control unit is used for binding the symbol of the current dangerous calling operation to a preset self-defined null function or null class for the global modification operation;
and the local operation control unit is used for splitting the SDK file into a plurality of object files for local modification operation, replacing the function name called by each object file with a preset self-defined function name, and integrating the modified object files into a new SDK file.
In an optional manner, the global operation control unit is specifically configured to: binding the symbol of the current dangerous calling operation to a preset self-defined null function or null class in a mode of setting a linker or in a mode of linking a preset script; wherein the setting linker comprises: the linker alias option is set.
In an optional mode, the dangerous calling operation comprises calling an assertion function or an assertion class, an address book permission applying operation, or an album permission applying operation.
In an alternative, for a global modify operation that calls a predicate function or calls a predicate class, the apparatus further comprises:
and the self-defining unit is used for setting a null function which has the same function signature but different name with the assertion function or setting a null class which has the same attribute declaration and method declaration with the assertion class.
In an alternative, the local operation control unit is specifically configured to: the SDK file is divided into a plurality of object files, each object file is analyzed to determine the position of a pointer table, and the symbol name in the pointer table is modified into a predetermined self-defined function name.
In the embodiment of the invention, the calling operation of the third-party SDK is controlled in the link process of developing the app, specifically, for the global modification operation, the dangerous calling operation is replaced by a preset self-defined empty function or empty class in a mode of setting the option of a linker, for the local modification operation, the SDK file is divided into a plurality of object files, the function name called by each object file is replaced by a preset self-defined function name, and the modified object files are integrated into a new SDK file.
Therefore, under the conditions that the third-party SDK source code is not contacted and the update of the SDK is not waited, the problem of app crash caused by dangerous methods (global modification) such as the step of calling alert by the SDK can be solved through the method, and the stability of the app is improved. Aiming at the problem that some SDKs have privacy data such as a user address book stolen (local modification), the method can shield the api obtained by the related privacy authority, so that the purposes of protecting the user privacy and improving the user experience are achieved.
The embodiment of the invention does not need SDK source codes, can shield dangerous calling without waiting for updating of the SDK, has wider application range compared with the existing mode of exchanging the obj jc function, and can be applied to the C function; for global modification, the linker option is used for code replacement, so that the method is simple and efficient, does not need SDK source codes, does not need to wait for SDK update, and is suitable for most cases; for local modification, the symbols are replaced by modifying the pointer table, so that the flexibility is great. The above two modes (global and local) are not only applicable to the objc language but also applicable to the C language, and the application range is extremely wide. The embodiment of the invention can improve the stability of the app, reduce the risk of collapse of the app and achieve the purposes of protecting the privacy of users and improving the experience of the users.
Drawings
FIG. 1 is a flowchart of a method for masking an SDK dangerous call according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of an apparatus for masking an SDK dangerous call according to an embodiment of the present invention.
Detailed Description
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in further detail below.
As described above, in developing an app, an SDK developed by a third party is often used. However, these third party SDKs are of varying quality, and for debug purposes, the SDK may call some dangerous system APIs that may cause the app to crash, such as calling an assert function, and cannot be modified in time without the code of the SDK.
In the process of developing the app, c language or objc language is generally used for compiling at present. Taking C language as an example, the C language compiling and linking process needs to convert a written C program (source code) into a program (executable code) that can run on hardware, and needs to be compiled and linked. Compilation is the process of translating a textual form of source code into a machine language form of a target file. Linking is the process of organizing the target file, the operating system's boot code, and the library files used to form the final loadable, executable code.
The method for shielding the SDK dangerous call provided by the embodiment of the invention is characterized in that in the linking (symbol binding) process, the dangerous call operation is replaced through the link script or the link option, so that the SDK dangerous call is shielded.
Referring to fig. 1, a method for masking a dangerous call of an SDK according to an embodiment of the present invention is used to control a call operation of a third party SDK during a link process of developing an app.
Fig. 1 includes the following steps S101-S104.
S101: and determining that the current calling operation of the SDK is a preset dangerous calling operation.
The dangerous calling operation in the embodiment of the invention can be determined by presetting a dangerous calling operation list, and can also be judged by technical personnel in real time according to experience. Generally, when a third party SDK makes an API call, such a call is considered dangerous if it involves an operation that reads/steals user privacy. For example, reading/stealing a user address book, reading/stealing a short message, etc.
In an alternative, the hazard calling operation in the embodiment of the present invention includes, but is not limited to: calling an assertion (assert) function or calling an assertion class, an address book permission application operation or an album permission application operation. Generally speaking, an operation of calling an alert function or class belongs to a global class operation, and an authority application operation such as an address book or an album belongs to a local modification operation. The embodiment of the present invention does not limit what kind of global operation or local modification operation is, and the above description is only an example.
S102: is it determined whether the current call operation belongs to a global modification operation or a local modification operation? If the operation is a global modification operation, S103 is executed; if it is the local modification operation, S104 is performed.
Specifically, whether the current call operation belongs to the global modification operation or the local modification operation may be determined according to global or local change in the app range related to the current call operation. If the current calling operation relates to global change in the range of the app, the current calling operation belongs to global modification operation, and if the current calling operation only relates to local change in the range of the app, the current calling operation data and the local modification operation. For example, calling the alert function generally belongs to a global modification operation, and the right application to the address book or the album generally belongs to a local modification operation. In practice, a technician may determine whether to modify globally or locally based on the type of currently invoked operation.
S103: and for the global modification operation, the symbol of the current dangerous calling operation is bound to a preset self-defined null function or null class.
Where "symbol" may be understood as a command (e.g., function or class) to perform a hazard call operation and "symbol binding" may be understood as linking the command of the current operation to a custom null function or class.
As mentioned above, the call alert function generally belongs to the global modification operation, and therefore, the following description will specifically describe the case of the global modification operation by taking the call alert function as an example.
For c language, in order to replace the operation of calling the alert function with a safe call, a safe null function needs to be set in advance. Specifically, for the alert function, a null function having the same function signature as the alert function but a different name is set. For example, implementing a null function with the same function signature but a different name as _ assert _ rnt.
Similarly, for the objc language, since the objc method is substantially a C function, a method of the objc object can be selectively bound to a safe empty function without rewriting the whole class. Therefore, even if the condition of alert is triggered in the running wait of the app, the code can run into a safe empty method which is realized in advance, and therefore breakdown caused by alert is avoided. Specifically, in order to replace the operation of calling the alert class with a dangerous one, a safe null class needs to be set in advance. For example, for the _ OBJC _ CLASS _ $ nsaservionhandler CLASS, its sign is bound to an empty CLASS with the same attribute and method declaration.
On the premise that a null function or a null class is preset, when the current calling operation is determined to belong to the global modification operation, the symbol of the current dangerous calling operation can be bound to the preset self-defined null function or the null class in a mode of modifying a linker option or a mode of linking a preset script. For example, modifying the linker's alias option (the alias option is used to set the alias of the instruction) or linking preset scripts for execution sets the alias of pre-created null functions and null classes to __ assert _ rtn and _ OBJC _ CLASS _ $ NSAssertionHandler, respectively. Thus, when the linker binds the symbols, the symbols of assert _ rtn and nsaservionhandler are bound to the address of the pre-defined function or null class, and any method that calls assert and nsaserv in the app then enters the pre-defined null function or null class, thereby avoiding unnecessary crashes at runtime.
S104: for local modification operation, the SDK file is divided into a plurality of object files, the function name called by each object file is replaced by a preset self-defined function name, and the modified object files are integrated into a new SDK file.
The SDK file may be understood as a static library, which includes no source code but only machine code, and the machine code may be shared by developers.
The use of the linker alias option described above is only one of the solutions, since this is an app-wide global change, and such a function that should not be called is appropriate for alert, but should not be used as in the above-mentioned rights application to address books and photo albums, since the app may require such rights application except for other parts of the third party SDK.
For local modification operation, the SDK file can be split into a plurality of object files, the function name called by each object file is replaced by a preset self-defined function name, and the modified object files are integrated into a new SDK file.
For the local modification operation, since the linker determines the value of the symbol in the code using the relocation table (pointer table) that refers to the string table in LC _ SYMTAB, the purpose can be achieved by modifying the string table. Therefore, in an optional manner, the process of splitting the SDK file into a plurality of object files and replacing the function name called by each object file with a preset custom function name includes: (1) splitting the SDK file into a plurality of object files; (2) analyzing each object file to determine the position of a pointer table; (3) and modifying the symbol name in the pointer table into a predetermined self-defined function name.
For example, the SDK is first decomposed into a plurality of obj files using ar commands, then the location of the string table (pointer table) is determined by analyzing LC _ SYMTAB in the obj files according to specifications using python (an object-oriented interpreted computer programming language), and __ alert _ rtn (and _ OBJC _ CLASS _ NSAssertionHandler) character strings therein are replaced with other character strings of the same length. Then, a function with the same function signature as __ assert rtn is implemented using this string (minus _) as the function name. And then integrating (for example, using libtool supporting a universal library) all the modified obj files to generate a new SDK, and submitting the new SDK to the code library.
In the embodiment of the invention, the calling operation of the third-party SDK is controlled in the link process of developing the app, specifically, for the global modification operation, the dangerous calling operation is replaced by a preset self-defined empty function or empty class in a mode of setting the option of a linker, for the local modification operation, the SDK file is divided into a plurality of object files, the function name called by each object file is replaced by a preset self-defined function name, and the modified object files are integrated into a new SDK file.
Therefore, under the conditions that the third-party SDK source code is not contacted and the update of the SDK is not waited, the problem of app crash caused by dangerous methods (global modification) such as the step of calling alert by the SDK can be solved through the method, and the stability of the app is improved. Aiming at the problem that some SDKs have privacy data such as a user address book stolen (local modification), the method can shield the api obtained by the related privacy authority, so that the purposes of protecting the user privacy and improving the user experience are achieved.
The embodiment of the invention does not need SDK source codes, can shield dangerous calling without waiting for updating of the SDK, has wider application range compared with the existing mode of exchanging the obj jc function, and can be applied to the C function; for global modification, the linker option is used for code replacement, so that the method is simple and efficient, does not need SDK source codes, does not need to wait for SDK update, and is suitable for most cases; for local modification, the symbols are replaced by modifying the pointer table, so that the flexibility is great. The above two modes (global and local) are not only applicable to the objc language but also applicable to the C language, and the application range is extremely wide. The embodiment of the invention can improve the stability of the app, reduce the risk of collapse of the app and achieve the purposes of protecting the privacy of users and improving the experience of the users.
It should be noted that, for simplicity of description, the method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the illustrated order of acts, as some steps may occur in other orders or concurrently in accordance with the embodiments of the present invention. Further, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred and that no particular act is required to implement the invention.
Referring to fig. 2, a device for masking a dangerous invocation of an SDK according to an embodiment of the present invention, configured to control an invocation operation of a third-party SDK during a link process of developing a target app, where the device includes:
a dangerous call determining unit 201, configured to determine that the current call operation of the SDK is a preset dangerous call operation;
a modification type determination unit 202, configured to determine whether the current invocation operation belongs to a global modification operation or a local modification operation;
the global operation control unit 203 is used for binding the symbol of the current dangerous calling operation to a preset self-defined null function or null class for the global modification operation;
the local operation control unit 204 is configured to, for the local modification operation, split the SDK file into a plurality of object files, replace the function name called by each object file with a preset custom function name, and integrate the modified object files into a new SDK file.
In an optional manner, the global operation control unit 203 is specifically configured to: binding the symbol of the current dangerous calling operation to a preset self-defined null function or null class in a mode of setting a linker or in a mode of linking a preset script; wherein the setting linker comprises: the linker alias option is set.
In an optional mode, the dangerous calling operation comprises calling an assertion function or an assertion class, an address book permission applying operation, or an album permission applying operation.
In an alternative, for a global modify operation that calls a predicate function or calls a predicate class, the apparatus further comprises:
a self-defining unit 205, configured to set, for the predicate function, a null function having the same function signature as the predicate function but a different name, or a null class having the same attribute declaration and method declaration as the predicate class.
In an optional manner, the local operation control unit 204 is specifically configured to: the SDK file is divided into a plurality of object files, each object file is analyzed to determine the position of a pointer table, and the symbol name in the pointer table is modified into a predetermined self-defined function name.
For the device embodiment, since it is basically similar to the method embodiment, the description is simple, and for the relevant points, refer to the partial description of the method embodiment.
The embodiments in the present specification are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, apparatus, or computer program product. Accordingly, embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
Embodiments of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing terminal to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing terminal to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing terminal to cause a series of operational steps to be performed on the computer or other programmable terminal to produce a computer implemented process such that the instructions which execute on the computer or other programmable terminal provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications of these embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the embodiments of the invention.
Finally, it should also be noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal 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, method, article, or terminal. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or terminal that comprises the element.
The foregoing describes in detail a scheduling method and system for a relational database provided by the present invention, and the present invention has been described in detail by applying specific examples to explain the principles and embodiments of the present invention, and the descriptions of the foregoing examples are only used to help understand the method and core ideas of the present invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.

Claims (10)

1. A method for masking dangerous calls of an SDK (software development kit), which is used for controlling the calling operation of a third-party SDK in the linkage process of developing an app, and comprises the following steps:
after determining that the current calling operation of the SDK is a preset dangerous calling operation, judging whether the current calling operation belongs to a global modification operation or a local modification operation;
for global modification operation, the symbol of the current dangerous calling operation is bound to a preset self-defined null function or null class;
for local modification operation, the SDK file is divided into a plurality of object files, the function name called by each object file is replaced by a preset self-defined function name, and the modified object files are integrated into a new SDK file.
2. The method of claim 1, wherein binding the symbol of the current hazard call operation to a preset custom null function or null class comprises:
binding the symbol of the current dangerous calling operation to a preset self-defined null function or null class in a mode of setting a linker or in a mode of linking a preset script; wherein the setting linker comprises: the linker alias option is set.
3. The method of claim 1, wherein the dangerous call operation comprises a call to an assertion function or a call to an assertion class, a contact book permission application operation, or an album permission application operation.
4. The method of claim 3, wherein for a global modify operation that calls a predicate function or a predicate class, prior to setting up a linker, the method further comprises:
setting a null function having the same function signature but a different name as the predicate function or setting a null class having the same attribute declaration and method declaration as the predicate class for the predicate function.
5. The method according to any one of claims 1 to 4, wherein the splitting the SDK file into a plurality of object files and replacing the function name called by each object file with a preset custom function name comprises:
splitting the SDK file into a plurality of object files;
analyzing each object file to determine the position of a pointer table;
and modifying the symbol name in the pointer table into a predetermined self-defined function name.
6. An apparatus for masking dangerous invocation of an SDK, wherein the apparatus is configured to control invocation of a third-party SDK during development of a link of a target app, and the apparatus comprises:
the system comprises a danger calling determining unit, a danger calling determining unit and a danger calling determining unit, wherein the danger calling determining unit is used for determining that the current calling operation of the SDK is a preset danger calling operation;
the modification type judgment unit is used for judging whether the current calling operation belongs to the global modification operation or the local modification operation;
the global operation control unit is used for binding the symbol of the current dangerous calling operation to a preset self-defined null function or null class for the global modification operation;
and the local operation control unit is used for splitting the SDK file into a plurality of object files for local modification operation, replacing the function name called by each object file with a preset self-defined function name, and integrating the modified object files into a new SDK file.
7. The apparatus according to claim 6, wherein the global operation control unit is specifically configured to: binding the symbol of the current dangerous calling operation to a preset self-defined null function or null class in a mode of setting a linker or in a mode of linking a preset script; wherein the setting linker comprises: the linker alias option is set.
8. The apparatus of claim 6, wherein the dangerous call operation comprises a call to an assertion function or a call to an assertion class, a contact book permission application operation, or an album permission application operation.
9. The apparatus of claim 8, wherein for a global modify operation that calls a predicate function or a predicate class, the apparatus further comprises:
and the self-defining unit is used for setting a null function which has the same function signature but different name with the assertion function or setting a null class which has the same attribute declaration and method declaration with the assertion class.
10. The device according to any of claims 6-9, wherein the local operation control unit is specifically configured to: the SDK file is divided into a plurality of object files, each object file is analyzed to determine the position of a pointer table, and the symbol name in the pointer table is modified into a predetermined self-defined function name.
CN201810594570.6A 2018-06-11 2018-06-11 Method and device for shielding dangerous call of SDK (software development kit) Active CN109032687B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810594570.6A CN109032687B (en) 2018-06-11 2018-06-11 Method and device for shielding dangerous call of SDK (software development kit)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810594570.6A CN109032687B (en) 2018-06-11 2018-06-11 Method and device for shielding dangerous call of SDK (software development kit)

Publications (2)

Publication Number Publication Date
CN109032687A CN109032687A (en) 2018-12-18
CN109032687B true CN109032687B (en) 2021-09-03

Family

ID=64612635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810594570.6A Active CN109032687B (en) 2018-06-11 2018-06-11 Method and device for shielding dangerous call of SDK (software development kit)

Country Status (1)

Country Link
CN (1) CN109032687B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110389753B (en) * 2019-06-06 2024-01-23 五八有限公司 Chained calling method and device of native application, electronic equipment and storage medium
CN110414215B (en) * 2019-06-21 2021-12-10 北京奇艺世纪科技有限公司 Application privacy permission statement correction method and device and electronic equipment
CN110471662B (en) * 2019-08-21 2023-04-25 北京百度网讯科技有限公司 Program conversion method, device and equipment
CN111367555B (en) * 2020-03-23 2023-08-08 抖音视界有限公司 Assertion method, assertion device, electronic equipment and computer readable medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826761B1 (en) * 2000-09-28 2004-11-30 International Business Machines Corporation Efficient timer management system
CN101751247A (en) * 2008-11-28 2010-06-23 爱思开电讯投资(中国)有限公司 Method and device for generating Java Card program library target code based on standard tool
CN103809974A (en) * 2014-02-12 2014-05-21 Tcl集团股份有限公司 Method and device for automatically verifying application and cloud server
CN103902859A (en) * 2013-12-25 2014-07-02 武汉安天信息技术有限责任公司 Code protecting method and system based on hook technology in JAVA
CN105100053A (en) * 2015-05-29 2015-11-25 北京奇虎科技有限公司 Website security detection method, website security detection device and cloud monitoring system
CN105426751A (en) * 2015-10-27 2016-03-23 珠海市君天电子科技有限公司 Method and device for preventing system time from being tampered
CN105760721A (en) * 2016-01-29 2016-07-13 北京奇虎科技有限公司 Software hardening method and system
CN107766733A (en) * 2017-10-10 2018-03-06 北京奇虎科技有限公司 A kind of screen method of security breaches, device and terminal

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826761B1 (en) * 2000-09-28 2004-11-30 International Business Machines Corporation Efficient timer management system
CN101751247A (en) * 2008-11-28 2010-06-23 爱思开电讯投资(中国)有限公司 Method and device for generating Java Card program library target code based on standard tool
CN103902859A (en) * 2013-12-25 2014-07-02 武汉安天信息技术有限责任公司 Code protecting method and system based on hook technology in JAVA
CN103809974A (en) * 2014-02-12 2014-05-21 Tcl集团股份有限公司 Method and device for automatically verifying application and cloud server
CN105100053A (en) * 2015-05-29 2015-11-25 北京奇虎科技有限公司 Website security detection method, website security detection device and cloud monitoring system
CN105426751A (en) * 2015-10-27 2016-03-23 珠海市君天电子科技有限公司 Method and device for preventing system time from being tampered
CN105760721A (en) * 2016-01-29 2016-07-13 北京奇虎科技有限公司 Software hardening method and system
CN107766733A (en) * 2017-10-10 2018-03-06 北京奇虎科技有限公司 A kind of screen method of security breaches, device and terminal

Also Published As

Publication number Publication date
CN109032687A (en) 2018-12-18

Similar Documents

Publication Publication Date Title
CN109032687B (en) Method and device for shielding dangerous call of SDK (software development kit)
US9645804B2 (en) Extracting source code
US9009693B2 (en) Out-of-band framework libraries within applications
US8245223B2 (en) Networked deployment of multi-application customizations
US10169199B2 (en) Automatic model-specific debugger extensions
EP3035191B1 (en) Identifying source code used to build executable files
US20100083224A1 (en) Method of modifying code of a running computer program based on symbol values discovered from comparison of running code to corresponding object code
US20080120604A1 (en) Methods, Systems, And Computer Program Products For Providing Program Runtime Data Validation
US11907941B2 (en) Anonymization of data fields in transactions
US9311077B2 (en) Identification of code changes using language syntax and changeset data
US20080209401A1 (en) Techniques for integrating debugging with decompilation
RU2639667C2 (en) Context invitation in trial version of application
US8224750B1 (en) Method and system for upgrading licenses to installed software
CN111966357A (en) Operating system application compiling method and device and electronic equipment
CN112612502A (en) Patch generation method, device, equipment and storage medium
US20150121333A1 (en) Regression alerts
Jha et al. Characterizing Android-specific crash bugs
US9075679B1 (en) Creating a prerequisite checklist corresponding to a software application
WO2011157105A2 (en) Method and device for component expansion
US20240160436A1 (en) Software development tool installation and command routing
Gregersen et al. State of the art of dynamic software updating in Java
Himschoot et al. Introduction to WebAssembly and Blazor
US8402532B2 (en) Host control of partial trust accessibility
JP2021117653A (en) Inspection system, inspection method, and inspection program
El-Zawawy Modeling Android Fragments and Activities Life Cycles Coordination

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant