Movatterモバイル変換


[0]ホーム

URL:


CN113360407B - Function positioning method and device, electronic equipment and readable storage medium - Google Patents

Function positioning method and device, electronic equipment and readable storage medium
Download PDF

Info

Publication number
CN113360407B
CN113360407BCN202110753195.7ACN202110753195ACN113360407BCN 113360407 BCN113360407 BCN 113360407BCN 202110753195 ACN202110753195 ACN 202110753195ACN 113360407 BCN113360407 BCN 113360407B
Authority
CN
China
Prior art keywords
call stack
stack information
function call
function
instantiation object
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
CN202110753195.7A
Other languages
Chinese (zh)
Other versions
CN113360407A (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom 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 Baidu Netcom Science and Technology Co LtdfiledCriticalBeijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110753195.7ApriorityCriticalpatent/CN113360407B/en
Publication of CN113360407ApublicationCriticalpatent/CN113360407A/en
Application grantedgrantedCritical
Publication of CN113360407BpublicationCriticalpatent/CN113360407B/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Classifications

Landscapes

Abstract

The disclosure provides a function positioning method, a function positioning device, electronic equipment and a readable storage medium, and relates to the technical field of computers, in particular to the technical field of reverse. The specific implementation scheme is as follows: monitoring an instantiation object of a target class pre-designated in a target program when the target program is operated; when monitoring that the instantiation object calls a function, determining whether page content corresponding to the instantiation object meets preset content filtering conditions; if yes, acquiring function call stack information of the instantiation object, wherein the function call stack information is used for determining a function called by the instantiation object. Based on the scheme, the instantiation object of the key content in the page can be determined by setting the content filtering condition, and the key function is determined based on the function call stack information, so that a basis is provided for positioning the key function in the decompiled program code, and the defects in the prior art are overcome.

Description

Translated fromChinese
函数的定位方法、装置、电子设备及可读存储介质Function positioning method, device, electronic equipment and readable storage medium

技术领域Technical field

本公开涉及计算机技术领域,尤其涉及逆向技术领域,具体而言,本公开涉及一种函数的定位方法、装置、电子设备及可读存储介质。The present disclosure relates to the field of computer technology, and in particular to the field of reverse engineering. Specifically, the present disclosure relates to a function positioning method, device, electronic equipment and readable storage medium.

背景技术Background technique

目前,Android应用程序(application,APP)的逆向工作中,在逆向得到反编译的程序代码之后,需要定位出反编译的程序代码中的关键函数。Currently, in the reverse engineering of Android applications (applications, APPs), after obtaining the decompiled program code through reverse engineering, it is necessary to locate the key functions in the decompiled program code.

当逆向出的目标程序的代码量巨大,并且存在混淆时,会导致定位关键函数时存在困难。When the amount of code in the reversed target program is huge and there is confusion, it will be difficult to locate key functions.

发明内容Contents of the invention

本公开为了解决上述缺陷中的至少一项,提供了一种函数的定位方法、装置、电子设备及可读存储介质。In order to solve at least one of the above defects, the present disclosure provides a function positioning method, device, electronic equipment and readable storage medium.

根据本公开的第一方面,提供了一种函数的定位方法,该方法包括:According to a first aspect of the present disclosure, a function positioning method is provided, which method includes:

在运行目标程序时,对目标程序中预指定的目标类的实例化对象进行监听;When running the target program, monitor the instantiation object of the pre-specified target class in the target program;

当监听到实例化对象调用函数时,确定实例化对象所对应的页面内容是否满足预设的内容过滤条件;When monitoring the instantiated object calling a function, determine whether the page content corresponding to the instantiated object meets the preset content filtering conditions;

若满足,则获取实例化对象的函数调用栈信息,函数调用栈信息用于确定实例化对象所调用的函数。If satisfied, the function call stack information of the instantiated object is obtained. The function call stack information is used to determine the function called by the instantiated object.

根据本公开的第二方面,提供了另一种函数的定位方法,该方法包括:According to a second aspect of the present disclosure, another function positioning method is provided, which method includes:

获取第一设备提供的目标程序中预指定的目标类的实例化对象的函数调用栈信息,函数调用栈信息是第一设备在运行目标程序的过程中监听到实例化对象调用函数,且实例化对象所对应的页面内容满足预设的内容过滤条件时,向第二设备提供的;Obtain the function call stack information of the instantiated object of the pre-specified target class in the target program provided by the first device. The function call stack information is when the first device monitors the instantiated object calling functions during running the target program, and instantiates Provided to the second device when the page content corresponding to the object meets the preset content filtering conditions;

基于函数调用栈信息确定实例化对象所调用的函数。Determine the function called by the instantiated object based on the function call stack information.

根据本公开的第三方面,提供了一种函数的定位装置,该装置包括:According to a third aspect of the present disclosure, a functional positioning device is provided, which device includes:

监听模块,用于在运行目标程序时,对目标程序中预指定的目标类的实例化对象进行监听;The listening module is used to monitor the instantiated objects of the pre-specified target class in the target program when running the target program;

过滤模块,用于在监听到实例化对象调用函数时,确定实例化对象所对应的页面内容是否满足预设的内容过滤条件;The filtering module is used to determine whether the page content corresponding to the instantiated object meets the preset content filtering conditions when the instantiated object calls a function;

函数调用栈信息模块,用于在实例化对象所对应的页面内容满足预设的内容过滤条件时,获取实例化对象的函数调用栈信息,函数调用栈信息用于确定实例化对象所调用的函数。The function call stack information module is used to obtain the function call stack information of the instantiated object when the page content corresponding to the instantiated object meets the preset content filtering conditions. The function call stack information is used to determine the function called by the instantiated object. .

根据本公开的第四方面,提供了另一种函数的定位装置,该装置包括:According to a fourth aspect of the present disclosure, another functional positioning device is provided, which device includes:

函数调用栈信息获取模块,用于获取第一设备提供的目标程序中预指定的目标类的实例化对象的函数调用栈信息,函数调用栈信息是第一设备在运行目标程序的过程中监听到实例化对象调用函数,且实例化对象所对应的页面内容满足预设的内容过滤条件时,向第二设备提供的;The function call stack information acquisition module is used to obtain the function call stack information of the instantiated object of the pre-specified target class in the target program provided by the first device. The function call stack information is monitored by the first device during the process of running the target program. When the instantiated object calls a function and the page content corresponding to the instantiated object meets the preset content filtering conditions, it is provided to the second device;

函数确定模块,用于基于函数调用栈信息确定实例化对象所调用的函数。The function determination module is used to determine the function called by the instantiated object based on the function call stack information.

根据本公开的第五方面,提供了一种电子设备,该电子设备包括:According to a fifth aspect of the present disclosure, an electronic device is provided, the electronic device including:

至少一个处理器;以及at least one processor; and

与上述至少一个处理器通信连接的存储器;其中,A memory communicatively connected to at least one of the above processors; wherein,

存储器存储有可被上述至少一个处理器执行的指令,指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行上述函数的定位方法。The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor, so that the at least one processor can execute the positioning method of the function.

根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使计算机执行上述函数的定位方法。According to a sixth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause the computer to execute the positioning method of the above function.

根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述函数的定位方法。According to a seventh aspect of the present disclosure, a computer program product is provided, including a computer program that implements the above function positioning method when executed by a processor.

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。It should be understood that what is described in this section is not intended to identify key or important features of the embodiments of the disclosure, nor is it intended to limit the scope of the disclosure. Other features of the present disclosure will become readily understood from the following description.

附图说明Description of the drawings

附图用于更好地理解本方案,不构成对本公开的限定。其中:The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure. in:

图1是本公开实施例提供的一种函数的定位方法的流程示意图;Figure 1 is a schematic flowchart of a function positioning method provided by an embodiment of the present disclosure;

图2是本公开实施例提供的另一种函数的定位方法的流程示意图;Figure 2 is a schematic flowchart of another function positioning method provided by an embodiment of the present disclosure;

图3是根据本公开提供的一种函数的定位装置的结构示意图;Figure 3 is a schematic structural diagram of a functional positioning device provided according to the present disclosure;

图4是根据本公开提供的另一种函数的定位装置的结构示意图;Figure 4 is a schematic structural diagram of a positioning device according to another function provided by the present disclosure;

图5是用来实现本公开实施例的函数的定位方法的电子设备的框图。FIG. 5 is a block diagram of an electronic device used to implement a function positioning method according to an embodiment of the present disclosure.

具体实施方式Detailed ways

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, in which various details of the embodiments of the present disclosure are included to facilitate understanding and should be considered to be exemplary only. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the disclosure. Also, descriptions of well-known functions and constructions are omitted from the following description for clarity and conciseness.

图1示出了本公开实施例提供的一种函数的定位方法的流程示意图,如图1中所示,该方法主要可以包括:Figure 1 shows a schematic flowchart of a function positioning method provided by an embodiment of the present disclosure. As shown in Figure 1, the method may mainly include:

步骤S110:在运行目标程序时,对目标程序中预指定的目标类的实例化对象进行监听;Step S110: When running the target program, monitor the instantiation object of the pre-specified target class in the target program;

步骤S120:当监听到实例化对象调用函数时,确定实例化对象所对应的页面内容是否满足预设的内容过滤条件;Step S120: When monitoring the instantiated object calling a function, determine whether the page content corresponding to the instantiated object satisfies the preset content filtering conditions;

步骤S130:若满足,则获取实例化对象的函数调用栈信息,函数调用栈信息用于确定实例化对象所调用的函数。Step S130: If satisfied, obtain the function call stack information of the instantiated object. The function call stack information is used to determine the function called by the instantiated object.

本公开实施例中,目标程序可以为逆向工作所针对的APP,目标类可以为实现目标程序的页面中的一些关键内容(如文字、图片以及视频等)时所需的类,实现这些关键内容所需的类一般为json、array、map、以及string,可以将json、array、map、以及string类作为目标类。In this disclosed embodiment, the target program can be an APP for reverse work, and the target class can be a class needed to implement some key content (such as text, pictures, videos, etc.) in the page of the target program to implement these key contents. The required classes are generally json, array, map, and string. You can use json, array, map, and string classes as target classes.

实例化对象即对目标类进行实例化所得到对象。在目标程序的运行时,可以对实例化对象调用函数的行为进行监听。由于实例化对象可能众多,并且其对应的页面内容可能不属于页面中的关键内容,因此可以根据预设的内容过滤条件对实例化对象进行过滤,使得过滤出的实例化对象所对应的页面内容为关键内容,可以认为过滤出的实例化对象所调用的函数即关键函数。The instantiated object is the object obtained by instantiating the target class. When the target program is running, the behavior of calling functions on the instantiated object can be monitored. Since there may be many instantiated objects, and their corresponding page content may not be the key content in the page, the instantiated objects can be filtered according to the preset content filtering conditions, so that the page content corresponding to the filtered instantiated objects As the key content, it can be considered that the function called by the filtered instantiated object is the key function.

本公开实施例中,函数调用栈信息中包括了实例化对象所调用的函数的相关信息,可以对函数调用栈信息进行分析,确定出关键函数,从而为从反编译的程序代码中的定位关键函数提供了基础,并且不会目标程序的代码量巨大以及代码中存在混淆,影响对目标函数的定位。In the embodiment of the present disclosure, the function call stack information includes relevant information about the functions called by the instantiated object. The function call stack information can be analyzed to determine the key functions, thereby locating the key functions in the decompiled program code. Functions provide a foundation, and the huge amount of code in the target program and the confusion in the code will not affect the positioning of the target function.

本公开实施例提供的方法,通过在运行目标程序时,对目标程序中预指定的目标类的实例化对象进行监听,并在监听到实例化对象调用函数时,确定实例化对象所对应的页面内容是否满足预设的内容过滤条件,获取满足所对应的页面内容是否满足预设的内容过滤条件的实例化对象的函数调用栈信息,以便基于对函数调用栈信息的分析确定出实例化对象所调用的函数。基于本方案,能够通过设置内容过滤条件确定出页面中关键内容的实例化对象,并基于函数调用栈信息来确定关键函数,为从反编译的程序代码中的定位关键函数提供了基础,克服了现有技术中的不足。The method provided by the embodiment of the present disclosure monitors the instantiated object of the pre-specified target class in the target program when running the target program, and determines the page corresponding to the instantiated object when the instantiated object calls a function. Whether the content satisfies the preset content filtering conditions, and obtains the function call stack information of the instantiated object that meets whether the corresponding page content satisfies the preset content filtering conditions, so as to determine the instantiated object based on the analysis of the function call stack information. function called. Based on this solution, the instantiated object of the key content in the page can be determined by setting content filtering conditions, and the key functions can be determined based on the function call stack information, which provides a basis for locating key functions from the decompiled program code and overcomes the problem. deficiencies in the existing technology.

本公开的一种可选实施方式中,内容过滤条件包括以下至少一项:In an optional implementation of the present disclosure, the content filtering conditions include at least one of the following:

实例化对象所对应的页面内容属于预设的内容类型;The page content corresponding to the instantiated object belongs to the preset content type;

实例化对象所对应的页面内容的数据长度不小于指定值;The data length of the page content corresponding to the instantiated object is not less than the specified value;

实例化对象所对应的页面内容中包含预设内容。The page content corresponding to the instantiated object contains preset content.

本公开实施中,预设的内容类型可以包括文字、图片以及视频等,可以认为这些类型的内容为页面中关键内容,因此可以通过预设的内容类型对实例化对象进行过滤。In the implementation of this disclosure, the preset content types may include text, pictures, videos, etc. These types of content can be considered to be key content in the page, so the instantiated objects can be filtered by the preset content types.

本公开实施中,针对文字类型的页面内容,还可以通过设置数据长度的指定值进行过滤,具体而言,可以认为当实例对象对应的页面内容数据长度较长时,该页面内容为关键内容。指定值可以根据实际需要进行配置。In the implementation of this disclosure, text type page content can also be filtered by setting a specified value of the data length. Specifically, it can be considered that when the data length of the page content corresponding to the instance object is long, the page content is the key content. The specified value can be configured according to actual needs.

本公开实施中,还可以通过预设内容进行过滤,例如,预设内容可以为关键词,认为当实例对象对应的页面内容包含关键词时,该页面内容为关键内容。In the implementation of the present disclosure, filtering can also be performed through preset content. For example, the preset content can be keywords. When the page content corresponding to the instance object contains keywords, the page content is considered to be key content.

本公开的一种可选实施方式中,获取实例化对象的函数调用栈信息,包括:In an optional implementation manner of the present disclosure, obtaining the function call stack information of the instantiated object includes:

将实例化对象的函数调用栈信息写入系统日志;Write the function call stack information of the instantiated object to the system log;

从系统日志中提取函数调用栈信息。Extract function call stack information from system logs.

本公开实施例中,第一设备可以部署有预构建的操作系统中,该操作系统为根据本公开实施例中的需求所构建,相较于标准的Android系统,本公开实施例中所构建的Android系统对系统代码进行了修改,使得在当监听到目标程序中的目标对象调用函数时,函数的调用相关信息会被写入系统日志,而后可以从系统日志中提取出函数调用栈信息。In this embodiment of the present disclosure, the first device may be deployed with a pre-built operating system, which is built according to the requirements of this embodiment of the present disclosure. Compared with the standard Android system, the operating system built in this embodiment of the present disclosure is The Android system has modified the system code so that when the target object in the target program is monitored to call a function, the function call-related information will be written to the system log, and then the function call stack information can be extracted from the system log.

本公开实施例中,可以在对目标类创建实例时,注册监听器。通过该监听器对实例化对象调用函数的行为进行监听。还可以注册有监听器,监听器用于在监听到实例化对象调用函数时,基于内容过滤条件对实例化对象进行过滤。In this disclosed embodiment, the listener can be registered when creating an instance of the target class. Use this listener to monitor the behavior of calling functions on the instantiated object. You can also register a listener, which is used to filter instantiated objects based on content filtering conditions when listening to calls to functions on instantiated objects.

本公开实施例的一种可选实施方式中,在将实例化对象的函数调用栈信息写入系统日志之前,方法还包括:In an optional implementation of the embodiment of the present disclosure, before writing the function call stack information of the instantiated object into the system log, the method further includes:

获取目标程序当前显示页面的页面图像;Get the page image of the currently displayed page of the target program;

将实例化对象的所对应的页面内容与页面图像进行匹配,得到匹配结果;Match the page content corresponding to the instantiated object with the page image to obtain the matching result;

基于匹配结果,向实例化对象的函数调用栈信息添加关键程度标识。Based on the matching results, add a criticality indicator to the function call stack information of the instantiated object.

将实例化对象的函数调用栈信息写入系统日志,包括:Write the function call stack information of the instantiated object to the system log, including:

将添加有关键程度标识的函数调用栈信息写入系统日志。Write the function call stack information with criticality identification to the system log.

本公开实施例中,可以获取目标程序当前显示页面的页面图像,并对该页面图像所包含的页面内容进行识别,将识别出的页面内容与实例化对象的所对应的页面内容相匹配,根据匹配结果为实例化对象的函数调用栈信息添加关键程度标识。In the embodiment of the present disclosure, the page image of the currently displayed page of the target program can be obtained, the page content contained in the page image can be identified, and the identified page content can be matched with the corresponding page content of the instantiated object. According to The matching result adds a criticality identifier to the function call stack information of the instantiated object.

关键程度标识能够标识实例化对象所对应页面内容在页面中的关键程度,在实际使用中,关键程度标识可以分别对应多种关键程度级别。The criticality identifier can identify the criticality of the page content corresponding to the instantiated object in the page. In actual use, the criticality identifier can correspond to multiple criticality levels.

具体而言,可以将能够匹配至页面的主标题、页面的主图以及页面中的大段文字等页面中的关键内容的实例化对象确定为关键程度级别较高,为这些实例化对象的函数调用栈信息添加关键程度级别较高的关键程度标识。Specifically, the instantiated objects that can match the key content in the page, such as the main title of the page, the main image of the page, and large sections of text in the page, can be determined to be of higher criticality level, and the functions of these instantiated objects can be determined The call stack information adds a criticality identifier with a higher criticality level.

为函数调用栈信息添加关键程度标识,并将添加关键程度标识的函数调用栈信息写入系统日志,便于在系统日志中通过关键程度标识来查找函数调用栈信息。Add a criticality mark to the function call stack information, and write the function call stack information with the criticality mark into the system log, making it easier to find the function call stack information in the system log through the criticality mark.

具体而言,可以优先从系统日志中优先查找关键程度级别较高的关键程度标识,并提取关键程度级别较高的关键程度标识所对应的函数调用栈信息。Specifically, you can first search for criticality identifiers with higher criticality levels from the system log, and extract the function call stack information corresponding to the criticality identifiers with higher criticality levels.

本公开实施例的一种可选实施方式中,方法还包括以下任一项:In an optional implementation of the embodiment of the present disclosure, the method further includes any of the following:

基于函数调用栈信息确定实例化对象所调用的函数;Determine the function called by the instantiated object based on the function call stack information;

将函数调用栈信息提供给第二设备,以使第二设备基于函数调用栈信息确定实例化对象所调用的函数。The function call stack information is provided to the second device, so that the second device determines a function called by the instantiated object based on the function call stack information.

本公开实施例中,可以由第一设备获取函数调用栈信息,并根据数调用栈信息确定实例化对象所调用的函数。也可以将函数调用栈信息提供给第二设备,有第二设备基于函数调用栈信息确定实例化对象所调用的函数。In the embodiment of the present disclosure, the function call stack information can be obtained by the first device, and the function called by the instantiated object is determined based on the call stack information. The function call stack information may also be provided to the second device, and the second device determines the function called by the instantiated object based on the function call stack information.

图2示出了本公开实施例提供的另一种函数的定位方法的流程示意图,如图2中所示,该方法主要可以包括:Figure 2 shows a schematic flowchart of another function positioning method provided by an embodiment of the present disclosure. As shown in Figure 2, the method may mainly include:

步骤S210:获取第一设备提供的目标程序中预指定的目标类的实例化对象的函数调用栈信息,函数调用栈信息是第一设备在运行目标程序的过程中监听到实例化对象调用函数,且实例化对象所对应的页面内容满足预设的内容过滤条件时,向第二设备提供的;Step S210: Obtain the function call stack information of the instantiated object of the pre-specified target class in the target program provided by the first device. The function call stack information is when the first device monitors the instantiated object calling functions while running the target program. And when the page content corresponding to the instantiated object meets the preset content filtering conditions, it is provided to the second device;

步骤S220:基于函数调用栈信息确定实例化对象所调用的函数。Step S220: Determine the function called by the instantiated object based on the function call stack information.

其中,目标程序可以在第一设备中运行。目标程序可以为逆向工作所针对的APP,目标类可以为实现目标程序的页面中的一些关键内容(如文字、图片以及视频等)时所需的类,实现这些关键内容所需的类一般为json、array、map、以及string,可以将json、array、map、以及string类作为目标类。Wherein, the target program can be run in the first device. The target program can be the APP for the reverse work, and the target class can be the class needed to implement some key content (such as text, pictures, videos, etc.) in the page of the target program. The classes required to implement these key contents are generally json, array, map, and string, you can use json, array, map, and string classes as target classes.

实例化对象即对目标类进行实例化所得到对象。在目标程序的运行时,可以对实例化对象调用函数的行为进行监听。由于实例化对象可能众多,并且其对应的页面内容可能不属于页面中的关键内容,因此可以根据预设的内容过滤条件对实例化对象进行过滤,使得过滤出的实例化对象所对应的页面内容为关键内容,可以认为过滤出的实例化对象所调用的函数即关键函数。The instantiated object is the object obtained by instantiating the target class. When the target program is running, the behavior of calling functions on the instantiated object can be monitored. Since there may be many instantiated objects, and their corresponding page content may not be the key content in the page, the instantiated objects can be filtered according to the preset content filtering conditions, so that the page content corresponding to the filtered instantiated objects As the key content, it can be considered that the function called by the filtered instantiated object is the key function.

本公开实施例中,函数调用栈信息中包括了实例化对象所调用的函数的相关信息,可以对函数调用栈信息进行分析,确定出关键函数,从而为从反编译的程序代码中的定位关键函数提供了基础,并且不会目标程序的代码量巨大以及代码中存在混淆,影响对目标函数的定位。In the embodiment of the present disclosure, the function call stack information includes relevant information about the functions called by the instantiated object. The function call stack information can be analyzed to determine the key functions, thereby locating the key functions in the decompiled program code. Functions provide a foundation, and the huge amount of code in the target program and the confusion in the code will not affect the positioning of the target function.

本公开实施例提供的方法,通过第一设备在运行目标程序的过程中监听到实例化对象调用函数,且实例化对象所对应的页面内容满足预设的内容过滤条件时,向第二设备提供函数调用栈信息,第二设备基于函数调用栈信息确定实例化对象所调用的函数。基于本方案,能够通过设置内容过滤条件确定出页面中关键内容的实例化对象,并基于函数调用栈信息来确定关键函数,为从反编译的程序代码中的定位关键函数提供了基础,克服了现有技术中的不足。In the method provided by the embodiment of the present disclosure, when the first device monitors the instantiated object calling a function while the target program is running, and the page content corresponding to the instantiated object satisfies the preset content filtering conditions, the first device provides Function call stack information, the second device determines the function called by the instantiated object based on the function call stack information. Based on this solution, the instantiated object of the key content in the page can be determined by setting content filtering conditions, and the key functions can be determined based on the function call stack information, which provides a basis for locating key functions from the decompiled program code and overcomes the problem. deficiencies in the existing technology.

本公开的一种可选实施方式中,获取第一设备提供的目标程序中预指定的目标类的实例化对象的函数调用栈信息,包括:In an optional implementation manner of the present disclosure, obtaining the function call stack information of the instantiation object of the pre-specified target class in the target program provided by the first device includes:

获取第一设备提供的系统日志;Obtain the system log provided by the first device;

从系统日志中提取目标程序中预指定的目标类的实例化对象的函数调用栈信息。Extract the function call stack information of the instantiated object of the pre-specified target class in the target program from the system log.

本公开实施例中,可以通过向第一设备获取系统日志,从系统日志中提取函数调用栈信息。In the embodiment of the present disclosure, the function call stack information can be extracted from the system log by obtaining the system log from the first device.

第一设备可以部署有预构建的操作系统中,该操作系统为根据本公开实施例中的需求所构建,相较于标准的Android系统,本公开实施例中所构建的Android系统对系统代码进行了修改,使得在当监听到目标程序中的目标对象调用函数时,函数的调用相关信息会被写入系统日志,而后可以从系统日志中提取出函数调用栈信息。The first device may be deployed with a pre-built operating system, which is built according to the requirements in the embodiments of the present disclosure. Compared with the standard Android system, the Android system built in the embodiments of the present disclosure performs system code on Modifications have been made so that when the target object in the target program is monitored to call a function, the function call-related information will be written to the system log, and then the function call stack information can be extracted from the system log.

本公开实施例中,可以在对目标类创建实例时,注册监听器。通过该监听器对实例化对象调用函数的行为进行监听。还可以注册有监听器,监听器用于在监听到实例化对象调用函数时,基于内容过滤条件对实例化对象进行过滤。In this disclosed embodiment, the listener can be registered when creating an instance of the target class. Use this listener to monitor the behavior of calling functions on the instantiated object. You can also register a listener, which is used to filter instantiated objects based on content filtering conditions when listening to calls to functions on instantiated objects.

本公开的一种可选实施方式中,系统日志内函数调用栈信息被添加有实例化对象的关键程度标识,从系统日志中提取目标程序中预指定的目标类的实例化对象的函数调用栈信息,包括:In an optional implementation of the present disclosure, the function call stack information in the system log is added with a criticality identifier of the instantiated object, and the function call stack of the instantiated object of the pre-specified target class in the target program is extracted from the system log. information, including:

基于关键程度标识,从系统日志中提取目标程序中预指定的目标类的实例化对象的函数调用栈信息。Based on the criticality identification, the function call stack information of the instantiated object of the pre-specified target class in the target program is extracted from the system log.

本公开实施例中,在第一设备中,可以获取目标程序当前显示页面的页面图像,并对该页面图像所包含的页面内容进行识别,将识别出的页面内容与实例化对象的所对应的页面内容相匹配,根据匹配结果为实例化对象的函数调用栈信息添加关键程度标识。In the embodiment of the present disclosure, in the first device, the page image of the page currently displayed by the target program can be obtained, the page content contained in the page image can be identified, and the identified page content can be compared with the corresponding page content of the instantiated object. The page content is matched, and a criticality mark is added to the function call stack information of the instantiated object based on the matching results.

关键程度标识能够标识实例化对象所对应页面内容在页面中的关键程度,在实际使用中,关键程度标识可以分别对应多种关键程度级别。The criticality identifier can identify the criticality of the page content corresponding to the instantiated object in the page. In actual use, the criticality identifier can correspond to multiple criticality levels.

具体而言,可以将能够匹配至页面的主标题、页面的主图以及页面中的大段文字等页面中的关键内容的实例化对象确定为关键程度级别较高,为这些实例化对象的函数调用栈信息添加关键程度级别较高的关键程度标识。Specifically, the instantiated objects that can match the key content in the page, such as the main title of the page, the main image of the page, and large sections of text in the page, can be determined to be of higher criticality level, and the functions of these instantiated objects can be determined The call stack information adds a criticality identifier with a higher criticality level.

为函数调用栈信息添加关键程度标识,并将添加关键程度标识的函数调用栈信息写入系统日志,便于在系统日志中通过关键程度标识来查找函数调用栈信息。Add a criticality mark to the function call stack information, and write the function call stack information with the criticality mark into the system log, making it easier to find the function call stack information in the system log through the criticality mark.

具体而言,可以优先从系统日志中优先查找关键程度级别较高的关键程度标识,并提取关键程度级别较高的关键程度标识所对应的函数调用栈信息。Specifically, you can first search for criticality identifiers with higher criticality levels from the system log, and extract the function call stack information corresponding to the criticality identifiers with higher criticality levels.

基于与图1中所示的方法相同的原理,图3示出了本公开实施例提供的一种函数的定位装置的结构示意图,如图3所示,该函数的定位装置30可以包括:Based on the same principle as the method shown in Figure 1, Figure 3 shows a schematic structural diagram of a functional positioning device provided by an embodiment of the present disclosure. As shown in Figure 3, the functional positioning device 30 may include:

监听模块310,用于在运行目标程序时,对目标程序中预指定的目标类的实例化对象进行监听;The monitoring module 310 is used to monitor the instantiation object of the pre-specified target class in the target program when running the target program;

过滤模块320,用于在监听到实例化对象调用函数时,确定实例化对象所对应的页面内容是否满足预设的内容过滤条件;The filtering module 320 is used to determine whether the page content corresponding to the instantiated object satisfies the preset content filtering conditions when the instantiated object calls a function;

函数调用栈信息模块330,用于在实例化对象所对应的页面内容满足预设的内容过滤条件时,获取实例化对象的函数调用栈信息,函数调用栈信息用于确定实例化对象所调用的函数。The function call stack information module 330 is used to obtain the function call stack information of the instantiated object when the page content corresponding to the instantiated object satisfies the preset content filtering conditions. The function call stack information is used to determine the function call called by the instantiated object. function.

本公开实施例提供的装置,通过在运行目标程序时,对目标程序中预指定的目标类的实例化对象进行监听,并在监听到实例化对象调用函数时,确定实例化对象所对应的页面内容是否满足预设的内容过滤条件,获取满足所对应的页面内容是否满足预设的内容过滤条件的实例化对象的函数调用栈信息,以便基于对函数调用栈信息的分析确定出实例化对象所调用的函数。基于本方案,能够通过设置内容过滤条件确定出页面中关键内容的实例化对象,并基于函数调用栈信息来确定关键函数,为从反编译的程序代码中的定位关键函数提供了基础,克服了现有技术中的不足。The device provided by the embodiment of the present disclosure monitors the instantiated object of the pre-specified target class in the target program when running the target program, and determines the page corresponding to the instantiated object when the instantiated object calls a function. Whether the content satisfies the preset content filtering conditions, and obtains the function call stack information of the instantiated object that meets whether the corresponding page content satisfies the preset content filtering conditions, so as to determine the instantiated object based on the analysis of the function call stack information. function called. Based on this solution, the instantiated object of the key content in the page can be determined by setting content filtering conditions, and the key functions can be determined based on the function call stack information, which provides a basis for locating key functions from the decompiled program code and overcomes the problem. deficiencies in the existing technology.

可选地,内容过滤条件包括以下至少一项:Optionally, content filtering conditions include at least one of the following:

实例化对象所对应的页面内容属于预设的内容类型;The page content corresponding to the instantiated object belongs to the preset content type;

实例化对象所对应的页面内容的数据长度不小于指定值;The data length of the page content corresponding to the instantiated object is not less than the specified value;

实例化对象所对应的页面内容中包含预设内容。The page content corresponding to the instantiated object contains preset content.

可选地,函数调用栈信息模块在获取实例化对象的函数调用栈信息时,具体用于:Optionally, when obtaining the function call stack information of an instantiated object, the function call stack information module is specifically used to:

将实例化对象的函数调用栈信息写入系统日志;Write the function call stack information of the instantiated object to the system log;

从系统日志中提取函数调用栈信息。Extract function call stack information from system logs.

可选地,上述装置还包括:Optionally, the above device also includes:

关键程度标识模块,用于在将实例化对象的函数调用栈信息写入系统日志之前,获取目标程序当前显示页面的页面图像;The criticality identification module is used to obtain the page image of the currently displayed page of the target program before writing the function call stack information of the instantiated object to the system log;

将实例化对象的所对应的页面内容与页面图像进行匹配,得到匹配结果;Match the page content corresponding to the instantiated object with the page image to obtain the matching result;

基于匹配结果,向实例化对象的函数调用栈信息添加关键程度标识。Based on the matching results, add a criticality indicator to the function call stack information of the instantiated object.

函数调用栈信息模块在将实例化对象的函数调用栈信息写入系统日志时,具体用于:When the function call stack information module writes the function call stack information of the instantiated object to the system log, it is specifically used for:

将添加有关键程度标识的函数调用栈信息写入系统日志。Write the function call stack information with criticality identification to the system log.

可选地,上述装置还包括以下任一项:Optionally, the above device also includes any of the following:

函数定位模块,用于基于函数调用栈信息确定实例化对象所调用的函数;The function positioning module is used to determine the function called by the instantiated object based on the function call stack information;

函数调用栈信息提供模块,用于将函数调用栈信息提供给第二设备,以使第二设备基于函数调用栈信息确定实例化对象所调用的函数。The function call stack information providing module is used to provide the function call stack information to the second device, so that the second device determines the function called by the instantiated object based on the function call stack information.

可以理解的是,本公开实施例中的函数的定位装置的上述各模块具有实现图1中所示的实施例中的函数的定位方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述函数的定位装置的各模块的功能描述具体可以参见图1中所示实施例中的函数的定位方法的对应描述,在此不再赘述。It can be understood that the above-mentioned modules of the function positioning device in the embodiment of the present disclosure have the function of implementing the corresponding steps of the function positioning method in the embodiment shown in FIG. 1 . This function can be implemented by hardware, or it can be implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions. The above-mentioned modules may be software and/or hardware, and each of the above-mentioned modules may be implemented individually or integrated into multiple modules. For a detailed description of the functions of each module of the above function locating device, please refer to the corresponding description of the function locating method in the embodiment shown in FIG. 1 , and will not be described again here.

基于与图2中所示的方法相同的原理,图4示出了本公开实施例提供的一种函数的定位装置的结构示意图,如图4所示,该函数的定位装置40可以包括:Based on the same principle as the method shown in Figure 2, Figure 4 shows a schematic structural diagram of a functional positioning device provided by an embodiment of the present disclosure. As shown in Figure 4, the functional positioning device 40 may include:

函数调用栈信息获取模块410,用于获取第一设备提供的目标程序中预指定的目标类的实例化对象的函数调用栈信息,函数调用栈信息是第一设备在运行目标程序的过程中监听到实例化对象调用函数,且实例化对象所对应的页面内容满足预设的内容过滤条件时,向第二设备提供的;The function call stack information acquisition module 410 is used to obtain the function call stack information of the instantiated object of the pre-specified target class in the target program provided by the first device. The function call stack information is monitored by the first device during the running of the target program. Provided to the second device when the instantiated object calls a function and the page content corresponding to the instantiated object meets the preset content filtering conditions;

函数确定模块420,用于基于函数调用栈信息确定实例化对象所调用的函数。The function determination module 420 is used to determine the function called by the instantiated object based on the function call stack information.

本公开实施例提供的装置,通过第一设备在运行目标程序的过程中监听到实例化对象调用函数,且实例化对象所对应的页面内容满足预设的内容过滤条件时,向第二设备提供函数调用栈信息,第二设备基于函数调用栈信息确定实例化对象所调用的函数。基于本方案,能够通过设置内容过滤条件确定出页面中关键内容的实例化对象,并基于函数调用栈信息来确定关键函数,为从反编译的程序代码中的定位关键函数提供了基础,克服了现有技术中的不足。The device provided by the embodiment of the present disclosure monitors the function call of the instantiated object during the running of the target program through the first device, and when the page content corresponding to the instantiated object satisfies the preset content filtering conditions, the device provides the second device with Function call stack information, the second device determines the function called by the instantiated object based on the function call stack information. Based on this solution, the instantiated object of the key content in the page can be determined by setting content filtering conditions, and the key functions can be determined based on the function call stack information, which provides a basis for locating key functions from the decompiled program code and overcomes the problem. deficiencies in the existing technology.

可选地,函数调用栈信息获取模块在获取第一设备提供的目标程序中预指定的目标类的实例化对象的函数调用栈信息时,具体用于:Optionally, when acquiring the function call stack information of the instantiated object of the pre-specified target class in the target program provided by the first device, the function call stack information acquisition module is specifically used to:

获取第一设备提供的系统日志;Obtain the system log provided by the first device;

从系统日志中提取目标程序中预指定的目标类的实例化对象的函数调用栈信息。Extract the function call stack information of the instantiated object of the pre-specified target class in the target program from the system log.

可选地,述系统日志内函数调用栈信息被添加有实例化对象的关键程度标识,函数调用栈信息获取模块在从系统日志中提取目标程序中预指定的目标类的实例化对象的函数调用栈信息时,具体用于:Optionally, the function call stack information in the system log is added with a criticality identifier of the instantiated object, and the function call stack information acquisition module extracts the function calls of the instantiated object of the pre-specified target class in the target program from the system log. stack information, specifically used for:

基于关键程度标识,从系统日志中提取目标程序中预指定的目标类的实例化对象的函数调用栈信息。Based on the criticality identification, the function call stack information of the instantiated object of the pre-specified target class in the target program is extracted from the system log.

可以理解的是,本公开实施例中的函数的定位装置的上述各模块具有实现图2中所示的实施例中的函数的定位方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述函数的定位装置的各模块的功能描述具体可以参见图2中所示实施例中的函数的定位方法的对应描述,在此不再赘述。It can be understood that the above-mentioned modules of the function positioning device in the embodiment of the present disclosure have the function of implementing the corresponding steps of the function positioning method in the embodiment shown in FIG. 2 . This function can be implemented by hardware, or it can be implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions. The above-mentioned modules may be software and/or hardware, and each of the above-mentioned modules may be implemented individually or integrated into multiple modules. For a detailed description of the functions of each module of the above function locating device, please refer to the corresponding description of the function locating method in the embodiment shown in FIG. 2, and will not be described again here.

本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。In the technical solution of this disclosure, the acquisition, storage and application of user personal information involved are in compliance with relevant laws and regulations and do not violate public order and good customs.

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。According to embodiments of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium, and a computer program product.

该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如本公开实施例提供的函数的定位方法。The electronic device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor, so that the at least one processor A positioning method capable of executing functions as provided by embodiments of the present disclosure.

该电子设备与现有技术相比,通过在运行目标程序时,对目标程序中预指定的目标类的实例化对象进行监听,并在监听到实例化对象调用函数时,确定实例化对象所对应的页面内容是否满足预设的内容过滤条件,获取满足所对应的页面内容是否满足预设的内容过滤条件的实例化对象的函数调用栈信息,以便基于对函数调用栈信息的分析确定出实例化对象所调用的函数。基于本方案,能够通过设置内容过滤条件确定出页面中关键内容的实例化对象,并基于函数调用栈信息来确定关键函数,为从反编译的程序代码中的定位关键函数提供了基础,克服了现有技术中的不足。Compared with the existing technology, this electronic device monitors the instantiated object of the pre-specified target class in the target program when running the target program, and determines the object corresponding to the instantiated object when it monitors that the instantiated object calls a function. Whether the page content satisfies the preset content filtering conditions, and obtains the function call stack information of the instantiated object that satisfies the corresponding page content to determine whether the corresponding page content satisfies the preset content filtering conditions, so as to determine the instantiation based on the analysis of the function call stack information. The function called by the object. Based on this solution, the instantiated object of the key content in the page can be determined by setting content filtering conditions, and the key functions can be determined based on the function call stack information, which provides a basis for locating key functions from the decompiled program code and overcomes the problem. deficiencies in the existing technology.

该可读存储介质为存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如本公开实施例提供的函数的定位方法。The readable storage medium is a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to execute the positioning method of the function provided by the embodiment of the present disclosure.

该可读存储介质与现有技术相比,通过在运行目标程序时,对目标程序中预指定的目标类的实例化对象进行监听,并在监听到实例化对象调用函数时,确定实例化对象所对应的页面内容是否满足预设的内容过滤条件,获取满足所对应的页面内容是否满足预设的内容过滤条件的实例化对象的函数调用栈信息,以便基于对函数调用栈信息的分析确定出实例化对象所调用的函数。基于本方案,能够通过设置内容过滤条件确定出页面中关键内容的实例化对象,并基于函数调用栈信息来确定关键函数,为从反编译的程序代码中的定位关键函数提供了基础,克服了现有技术中的不足。Compared with the existing technology, this readable storage medium monitors the instantiated object of the pre-specified target class in the target program when running the target program, and determines the instantiated object when the instantiated object calls a function. Whether the corresponding page content meets the preset content filtering conditions, and obtains the function call stack information of the instantiated object that meets whether the corresponding page content meets the preset content filtering conditions, so as to determine based on the analysis of the function call stack information The function called by instantiating the object. Based on this solution, the instantiated object of the key content in the page can be determined by setting content filtering conditions, and the key functions can be determined based on the function call stack information, which provides a basis for locating key functions from the decompiled program code and overcomes the problem. deficiencies in the existing technology.

该计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如本公开实施例提供的函数的定位方法。The computer program product includes a computer program. When the computer program is executed by a processor, the computer program implements the function positioning method provided by the embodiment of the present disclosure.

该计算机程序产品与现有技术相比,通过在运行目标程序时,对目标程序中预指定的目标类的实例化对象进行监听,并在监听到实例化对象调用函数时,确定实例化对象所对应的页面内容是否满足预设的内容过滤条件,获取满足所对应的页面内容是否满足预设的内容过滤条件的实例化对象的函数调用栈信息,以便基于对函数调用栈信息的分析确定出实例化对象所调用的函数。基于本方案,能够通过设置内容过滤条件确定出页面中关键内容的实例化对象,并基于函数调用栈信息来确定关键函数,为从反编译的程序代码中的定位关键函数提供了基础,克服了现有技术中的不足。Compared with the existing technology, this computer program product monitors the instantiated object of the pre-specified target class in the target program when running the target program, and when the instantiated object calls a function, determines the location of the instantiated object. Whether the corresponding page content meets the preset content filtering conditions, and obtains the function call stack information of the instantiated object that meets whether the corresponding page content meets the preset content filtering conditions, so as to determine the instance based on the analysis of the function call stack information The function called by the object. Based on this solution, the instantiated object of the key content in the page can be determined by setting content filtering conditions, and the key functions can be determined based on the function call stack information, which provides a basis for locating key functions from the decompiled program code and overcomes the problem. deficiencies in the existing technology.

图5示出了可以用来实施本公开的实施例的示例电子设备2000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。5 illustrates a schematic block diagram of an example electronic device 2000 that may be used to implement embodiments of the present disclosure. Electronic devices are intended to refer to various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic devices may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are examples only and are not intended to limit implementations of the disclosure described and/or claimed herein.

如图5所示,设备2000包括计算单元2010,其可以根据存储在只读存储器(ROM)2020中的计算机程序或者从存储单元2080加载到随机访问存储器(RAM)2030中的计算机程序,来执行各种适当的动作和处理。在RAM 2030中,还可存储设备2000操作所需的各种程序和数据。计算单元2010、ROM 2020以及RAM 2030通过总线2040彼此相连。输入/输出(I/O)接口2050也连接至总线2040。As shown in FIG. 5 , the device 2000 includes a computing unit 2010 that can execute according to a computer program stored in a read-only memory (ROM) 2020 or loaded from a storage unit 2080 into a random access memory (RAM) 2030 Various appropriate actions and treatments. In the RAM 2030, various programs and data required for the operation of the device 2000 may also be stored. The computing unit 2010, the ROM 2020, and the RAM 2030 are connected to each other through a bus 2040. An input/output (I/O) interface 2050 is also connected to bus 2040.

设备2000中的多个部件连接至I/O接口2050,包括:输入单元2060,例如键盘、鼠标等;输出单元2070,例如各种类型的显示器、扬声器等;存储单元2080,例如磁盘、光盘等;以及通信单元2090,例如网卡、调制解调器、无线通信收发机等。通信单元2090允许设备2000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。Multiple components in device 2000 are connected to I/O interface 2050, including: input unit 2060, such as keyboard, mouse, etc.; output unit 2070, such as various types of displays, speakers, etc.; storage unit 2080, such as magnetic disk, optical disk, etc. ; and communication unit 2090, such as a network card, modem, wireless communication transceiver, etc. The communication unit 2090 allows the device 2000 to exchange information/data with other devices through computer networks such as the Internet and/or various telecommunications networks.

计算单元2010可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元2010的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元2010执行本公开实施例中所提供的函数的定位方法。例如,在一些实施例中,行本公开实施例中所提供的函数的定位方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元2080。在一些实施例中,计算机程序的部分或者全部可以经由ROM 2020和/或通信单元2090而被载入和/或安装到设备2000上。当计算机程序加载到RAM 2030并由计算单元2010执行时,可以执行本公开实施例中所提供的函数的定位方法的一个或多个步骤。备选地,在其他实施例中,计算单元2010可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开实施例中所提供的函数的定位方法。Computing unit 2010 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of computing units 2010 include, but are not limited to, central processing units (CPUs), graphics processing units (GPUs), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, digital signal processing processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 2010 executes the function positioning method provided in the embodiment of the present disclosure. For example, in some embodiments, the function positioning method provided in the embodiments of the present disclosure may be implemented as a computer software program, which is tangibly included in a machine-readable medium, such as the storage unit 2080. In some embodiments, part or all of the computer program may be loaded and/or installed onto device 2000 via ROM 2020 and/or communication unit 2090. When the computer program is loaded into the RAM 2030 and executed by the computing unit 2010, one or more steps of the positioning method of the function provided in the embodiment of the present disclosure may be performed. Alternatively, in other embodiments, the computing unit 2010 may be configured in any other suitable manner (for example, by means of firmware) to perform the positioning method of the function provided in the embodiments of the present disclosure.

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。Various implementations of the systems and techniques described above may be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip implemented in a system (SOC), load programmable logic device (CPLD), computer hardware, firmware, software, and/or a combination thereof. These various embodiments may include implementation in one or more computer programs executable and/or interpreted on a programmable system including at least one programmable processor, the programmable processor The processor, which may be a special purpose or general purpose programmable processor, may receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device. An output device.

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing device, such that the program codes, when executed by the processor or controller, cause the functions specified in the flowcharts and/or block diagrams/ The operation is implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。In the context of this disclosure, a machine-readable medium may be a tangible medium that may 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. Machine-readable media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media would include one or more wire-based electrical connections, laptop disks, hard drives, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。To provide interaction with a user, the systems and techniques described herein may be implemented on a computer having a display device (eg, a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user ); and a keyboard and pointing device (eg, a mouse or a trackball) through which a user can provide input to the computer. Other kinds of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and may be provided in any form, including Acoustic input, voice input or tactile input) to receive input from the user.

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., A user's computer having a graphical user interface or web browser through which the user can interact with implementations of the systems and technologies described herein), or including such backend components, middleware components, or any combination of front-end components in a computing system. The components of the system may be interconnected by any form or medium of digital data communication (eg, a communications network). Examples of communication networks include: local area network (LAN), wide area network (WAN), and the Internet.

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。Computer systems may include clients and servers. Clients and servers are generally remote from each other and typically interact over a communications network. The relationship of client and server is created by computer programs running on corresponding computers and having a client-server relationship with each other. The server can be a cloud server, a distributed system server, or a server combined with a blockchain.

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。It should be understood that various forms of the process shown above may be used, with steps reordered, added or deleted. For example, each step described in the present disclosure can be executed in parallel, sequentially, or in a different order. As long as the desired results of the technical solutions disclosed in the present disclosure can be achieved, there is no limitation here.

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。The above-mentioned specific embodiments do not constitute a limitation on the scope of the present disclosure. It will be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions are possible depending on design requirements and other factors. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of this disclosure shall be included in the protection scope of this disclosure.

Claims (9)

CN202110753195.7A2021-07-022021-07-02Function positioning method and device, electronic equipment and readable storage mediumActiveCN113360407B (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
CN202110753195.7ACN113360407B (en)2021-07-022021-07-02Function positioning method and device, electronic equipment and readable storage medium

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN202110753195.7ACN113360407B (en)2021-07-022021-07-02Function positioning method and device, electronic equipment and readable storage medium

Publications (2)

Publication NumberPublication Date
CN113360407A CN113360407A (en)2021-09-07
CN113360407Btrue CN113360407B (en)2023-10-13

Family

ID=77538054

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN202110753195.7AActiveCN113360407B (en)2021-07-022021-07-02Function positioning method and device, electronic equipment and readable storage medium

Country Status (1)

CountryLink
CN (1)CN113360407B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN105468407A (en)*2015-11-192016-04-06国云科技股份有限公司 A Method of Automatically Discovering and Running Startup Classes in Order
CN110908865A (en)*2019-11-152020-03-24珠海豹趣科技有限公司Memory leakage monitoring method and device and electronic equipment
CN111506500A (en)*2020-04-092020-08-07北京奇艺世纪科技有限公司Memory leak detection method and device, electronic equipment and readable storage medium
CN111813666A (en)*2020-06-302020-10-23北京字节跳动网络技术有限公司Memory leak positioning method, device, medium and electronic equipment
CN112148392A (en)*2019-06-272020-12-29腾讯科技(深圳)有限公司Function call chain acquisition method and device and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN104899016B (en)*2014-03-072018-10-09腾讯科技(深圳)有限公司Allocating stack Relation acquisition method and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN105468407A (en)*2015-11-192016-04-06国云科技股份有限公司 A Method of Automatically Discovering and Running Startup Classes in Order
CN112148392A (en)*2019-06-272020-12-29腾讯科技(深圳)有限公司Function call chain acquisition method and device and storage medium
CN110908865A (en)*2019-11-152020-03-24珠海豹趣科技有限公司Memory leakage monitoring method and device and electronic equipment
CN111506500A (en)*2020-04-092020-08-07北京奇艺世纪科技有限公司Memory leak detection method and device, electronic equipment and readable storage medium
CN111813666A (en)*2020-06-302020-10-23北京字节跳动网络技术有限公司Memory leak positioning method, device, medium and electronic equipment

Also Published As

Publication numberPublication date
CN113360407A (en)2021-09-07

Similar Documents

PublicationPublication DateTitle
CN112540806A (en)Applet page rendering method and device, electronic equipment and storage medium
EP3876197A2 (en)Portrait extracting method and apparatus, electronic device and storage medium
CN113641544B (en)Method, apparatus, device, medium and product for detecting application state
CN113766487A (en)Cloud mobile phone information acquisition method, device, equipment and medium
CN114547252A (en)Text recognition method and device, electronic equipment and medium
CN116644223A (en)Data query method, device, equipment and readable medium
CN114330221B (en) Scoreboard implementation method, scoreboard, electronic device and storage medium
CN113867634B (en)Data reading method and device, electronic equipment and storage medium
CN114329149A (en) Detection method, device, electronic device and readable storage medium for automatic crawling of page information
CN113360407B (en)Function positioning method and device, electronic equipment and readable storage medium
CN113010721B (en)Picture auditing method and device, electronic equipment and storage medium
CN112799642B (en)Method, apparatus, device and storage medium for processing data
CN116302218A (en)Function information adding method, device, equipment and storage medium
CN114386577A (en) Method, apparatus and storage medium for executing deep learning models
CN115617800A (en) Data reading method, device, electronic device and storage medium
CN114996243A (en)Database operation method and device, electronic equipment and storage medium
CN114879982A (en) Software installation method, device, electronic device and storage medium
CN114971349A (en)Information generation method, device, equipment, storage medium and program product
CN115080003A (en)Zero code platform operation method and device, electronic equipment and storage medium
CN114115854A (en)SDK file generation method, device, equipment and storage medium
CN115391517A (en) Method and apparatus for determining equipment status
CN113760765B (en)Code testing method and device, electronic equipment and storage medium
CN118568006B (en) Application interface awakening method, device, equipment, storage medium and program product
CN116302086A (en)Application processing method and device, electronic equipment and readable storage medium
CN115145654A (en) Object creation method, data processing method and apparatus, electronic device and medium

Legal Events

DateCodeTitleDescription
PB01Publication
PB01Publication
SE01Entry into force of request for substantive examination
SE01Entry into force of request for substantive examination
GR01Patent grant
GR01Patent grant

[8]ページ先頭

©2009-2025 Movatter.jp