[go: up one dir, main page]

CN102736978A - Method and device for detecting installation status of application program - Google Patents

Method and device for detecting installation status of application program Download PDF

Info

Publication number
CN102736978A
CN102736978A CN2012102159973A CN201210215997A CN102736978A CN 102736978 A CN102736978 A CN 102736978A CN 2012102159973 A CN2012102159973 A CN 2012102159973A CN 201210215997 A CN201210215997 A CN 201210215997A CN 102736978 A CN102736978 A CN 102736978A
Authority
CN
China
Prior art keywords
terminal
detected
application program
application
configuration list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012102159973A
Other languages
Chinese (zh)
Other versions
CN102736978B (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 360 Zhiling Technology Co ltd
Original Assignee
Qizhi Software Beijing 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 Qizhi Software Beijing Co Ltd filed Critical Qizhi Software Beijing Co Ltd
Priority to CN201210215997.3A priority Critical patent/CN102736978B/en
Publication of CN102736978A publication Critical patent/CN102736978A/en
Application granted granted Critical
Publication of CN102736978B publication Critical patent/CN102736978B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种检测应用程序的安装状态的方法及装置其中所述方法包括:建立云端数据库,其中保存有针对每个应用程序所收集的所有文件的参考特征码;维护终端配置列表,其中记录有所述终端上安装的每个应用程序的安装路径、根据所述安装路径获取的每个应用程序安装的全部文件以及每个文件的特征码;根据所述终端配置列表提取待检测应用程序的每个文件的特征码在云端数据库中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上被正确安装并反馈给所述终端。本发明能够结合多种角度对应用程序的安装进行周全、细致的检查。

Figure 201210215997

The present invention discloses a method and device for detecting the installation status of application programs. The method includes: establishing a cloud database, in which reference feature codes of all files collected for each application program are stored; maintaining a terminal configuration list, wherein The installation path of each application program installed on the terminal, all files installed by each application program obtained according to the installation path, and the feature code of each file are recorded; the application program to be detected is extracted according to the terminal configuration list The feature code of each file is compared in the cloud database, and according to the comparison result, it is determined whether the application program to be detected is correctly installed on the terminal and fed back to the terminal. The invention can comprehensively and meticulously check the installation of application programs in combination with multiple angles.

Figure 201210215997

Description

一种检测应用程序的安装状态的方法及装置A method and device for detecting the installation state of an application program

技术领域 technical field

本发明属于计算机领域,具体地说,涉及一种检测应用程序的安装状态的方法及装置。The invention belongs to the field of computers, and in particular relates to a method and a device for detecting the installation status of application programs.

背景技术 Background technique

现在,检测应用程序是否被正确安装的方式,主要是通过检测应用程序的文件的版本以及应用程序的注册表文件的版本来实现。但是,通过这种方式并不能真实检测出应用程序是否被正确安装。At present, the method of detecting whether the application program is installed correctly is mainly realized by detecting the version of the file of the application program and the version of the registry file of the application program. However, in this way it is not possible to truly detect whether the application is installed correctly.

首先,仅检测应用程序的文件版本是不足够的。因为应用程序的文件的版本正确,不代表文件的内容没有被篡改,比如目前的病毒木马或游戏外挂等可以做到将文件的内容进行篡改甚至替换,但不改变文件的版本,此时文件的版本号就不能够真正反应出应用程序是否被正确安装。另外,除PE文件(Portable Execute可移植的执行文件)以外,应用程序的其它文件是没有版本的,此时通过检查版本号就无法完成检测,也就无法检测出应用程序是否被正确安装。First, detecting the file version of an application is not enough. Because the version of the application file is correct, it does not mean that the content of the file has not been tampered with. The version number can't really reflect whether the application is installed correctly. In addition, except for the PE file (Portable Execute portable execution file), other files of the application program have no version. At this time, the detection cannot be completed by checking the version number, and it is impossible to detect whether the application program is installed correctly.

再者,仅检测应用程序的注册表文件的版本也是不足够的。注册表文件是静态的,其可能与应用程序的文件的真实版本完全不对应,比如某应用程序的文件被删改了,文件的版本也发生了变化,但是并不会相应地删改注册表文件及其版本,此时应用程序的注册表文件与应用程序的文件真实版本就不一致了,通过检查注册表文件的版本号就不能够真正检测出应用程序是否被正确安装。Furthermore, it is not enough to detect only the version of the application's registry file. The registry file is static, and it may not correspond to the real version of the application file. For example, if an application file is deleted, the version of the file also changes, but the registry file and the file version will not be deleted accordingly. Its version, the registry file of the application program is not consistent with the real version of the file of the application program at this time, and it is impossible to really detect whether the application program is installed correctly by checking the version number of the registry file.

发明内容 Contents of the invention

有鉴于此,本发明所要解决的技术问题是提供了一种检测应用程序的安装状态的方法及装置,能够结合多种角度对应用程序的安装进行周全、细致的检查。In view of this, the technical problem to be solved by the present invention is to provide a method and device for detecting the installation status of application programs, which can comprehensively and carefully check the installation of application programs from various angles.

为了解决上述技术问题,本发明公开了一种检测应用程序的安装状态的方法,包括:建立云端数据库,其中保存有针对每个应用程序所收集的所有文件的参考特征码;维护终端配置列表,其中记录有所述终端上安装的每个应用程序的安装路径、根据所述安装路径获取的每个应用程序安装的全部文件以及每个文件的特征码;根据所述终端配置列表提取待检测应用程序的每个文件的特征码在云端数据库中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上被正确安装并反馈给所述终端。In order to solve the above-mentioned technical problems, the present invention discloses a method for detecting the installation state of an application program, including: establishing a cloud database in which reference feature codes of all files collected for each application program are stored; maintaining a terminal configuration list, The installation path of each application program installed on the terminal, all files installed by each application program obtained according to the installation path, and the feature code of each file are recorded; the application to be detected is extracted according to the terminal configuration list The feature code of each file of the program is compared in the cloud database, and it is determined whether the application program to be detected is correctly installed on the terminal according to the comparison result and fed back to the terminal.

进一步地,所述特征码,为唯一标识所述文件及文件内容的特征码,包括以下一种或者多种的组合:经由信息摘要算法MD5运算得出的MD5验证码、安全哈希算法校验码和循环冗余校验码。Further, the feature code is a feature code that uniquely identifies the file and file content, including one or more of the following combinations: MD5 verification code obtained through information digest algorithm MD5 operation, secure hash algorithm verification code and cyclic redundancy check code.

进一步地,所述维护终端配置列表,还包括:在每个应用程序新增文件和/或删除文件和/或修改文件内容和/或修改文件存路径时,还在所述终端配置列表中更新相应的记录。Further, said maintaining the terminal configuration list also includes: when each application program adds a new file and/or deletes a file and/or modifies the file content and/or modifies the file storage path, it also updates the terminal configuration list corresponding records.

进一步地,所述云端数据库中还保存有针对每个应用程序所收集的写入注册表项的参考键值;所述终端配置列表中还记录有所述终端上安装的每个应用程序所创建的注册表项的路径以及根据所述注册表项的路径获取的每个应用程序写入注册表项的键值;还根据所述终端配置列表提取待检测应用程序的写入注册表项的键值在云端数据库中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上的注册表中被正确设置并反馈给所述终端。Further, the cloud database also saves the reference key values written in registry entries collected for each application; the terminal configuration list also records the information created by each application installed on the terminal. The path of the registry entry and the key value of each application written to the registry entry obtained according to the path of the registry entry; the key of the registry entry of the application to be detected is also extracted according to the terminal configuration list The values are compared in the cloud database, and according to the comparison result, it is determined whether the application program to be detected is correctly set in the registry on the terminal and fed back to the terminal.

进一步地,所述维护终端配置列表,还包括:在每个应用程序修改注册表项的路径和/或新增注册表项和/或删除注册表项和/或修改注册表项内容和/或修改系统注册表项内容时,还在所述终端配置列表中更新相应的记录。Further, the maintenance terminal configuration list also includes: modifying the path of the registry item and/or adding a registry item and/or deleting the registry item and/or modifying the content of the registry item and/or When modifying the content of the system registry item, the corresponding record is also updated in the terminal configuration list.

进一步地,所述云端数据库中还保存有所收集的每个应用程序运行时所创建的参考主进程及配套的进程和/或全部动态链接库和/或服务;所述终端配置列表中还记录有所述终端上安装的每个应用程序在运行时所创建的主进程以及所述主进程调用的进程和/或动态链接库和/或服务;根据所述终端配置列表提取待检测应用程序在运行时所创建的主进程以及所述主进程调用的进程和/或动态链接库和/或服务在云端数据库中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上正确运行并反馈给所述终端。Further, the collected reference main process and supporting processes and/or all dynamic link libraries and/or services created by each application program running are also stored in the cloud database; the terminal configuration list also records There is a main process created by each application installed on the terminal during operation and the process and/or dynamic link library and/or service called by the main process; the application to be detected is extracted according to the terminal configuration list. The main process created during runtime and the process and/or dynamic link library and/or service called by the main process are compared in the cloud database, and it is determined whether the application program to be detected is on the terminal according to the comparison result runs correctly and feeds back to said terminal.

进一步地,所述维护终端配置列表,还包括:在每个应用程序新增进程和/或新增配套进程和/或新增动态链接库和/或新增服务和/或删除进程时,还在所述终端配置列表中更新相应的记录。Further, the maintenance terminal configuration list also includes: when each application program adds a new process and/or adds a supporting process and/or adds a dynamic link library and/or adds a service and/or deletes a process, also Corresponding records are updated in the terminal configuration list.

进一步地,根据比对结果判定所述待检测应用程序在所述终端上被正确安装时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上被正确安装;根据比对结果判定所述待检测应用程序在所述终端上的注册表中被正确设置时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上的注册表中被正确设置;根据比对结果判定所述待检测应用程序在所述终端上正确运行时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上正确运行;根据比对结果判定所述待检测应用程序在所述终端上没有被正确安装时和/或在所述终端上的注册表中没有被正确设置时和/或在所述终端上没有正确运行时,向所述终端发送的反馈,包括以下一项或多项的组合:提示所述待检测应用程序的非正确信息、提示修复所述待检测应用程序、提示终止所述待检测应用程序的运行、提示清理所述待检测应用程序、提示重新安装所述待检测应用程序。Further, according to the comparison result, it is determined that the application to be detected is correctly installed on the terminal, and the feedback sent to the terminal includes: prompting that the application to be detected is correctly installed on the terminal; The feedback sent to the terminal when the comparison result determines that the application to be detected is correctly set in the registry on the terminal includes: prompting that the application to be detected is set in the registry on the terminal Correctly set; according to the comparison result, the feedback sent to the terminal when the application program to be detected is determined to be running correctly on the terminal includes: prompting that the application program to be detected is running correctly on the terminal; according to the comparison As a result, when it is determined that the application program to be detected is not correctly installed on the terminal and/or is not correctly set in the registry on the terminal and/or is not running correctly on the terminal, the The feedback sent by the terminal includes a combination of one or more of the following: prompting incorrect information of the application to be detected, prompting to repair the application to be detected, prompting to terminate the operation of the application to be detected, prompting to clean up The application program to be detected prompts to reinstall the application program to be detected.

为了解决上述技术问题,本发明还公开了一种检测应用程序的安装状态的装置,包括:云端数据库、云端数据库管理模块、终端配置列表、终端配置列表维护模块和比对分析模块;所述云端数据库管理模块,用于建立云端数据库;所述云端数据库,用于保存针对每个应用程序所收集的所有文件的参考特征码;所述终端配置列表维护模块,用于维护终端配置列表;所述终端配置列表,用于记录所述终端上安装的每个应用程序的安装路径、根据所述安装路径获取的每个应用程序安装的全部文件以及每个文件的特征码;所述比对分析模块,用于根据所述终端配置列表提取待检测应用程序的每个文件的特征码在云端数据库中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上被正确安装并反馈给所述终端。In order to solve the above technical problems, the present invention also discloses a device for detecting the installation state of an application program, including: a cloud database, a cloud database management module, a terminal configuration list, a terminal configuration list maintenance module, and a comparison analysis module; The database management module is used to establish a cloud database; the cloud database is used to save the reference feature codes of all files collected for each application program; the terminal configuration list maintenance module is used to maintain the terminal configuration list; the described The terminal configuration list is used to record the installation path of each application program installed on the terminal, all files installed by each application program obtained according to the installation path, and the feature code of each file; the comparison and analysis module , for extracting the feature code of each file of the application program to be detected according to the terminal configuration list and comparing it in the cloud database, judging whether the application program to be detected is correctly installed on the terminal according to the comparison result and Feedback to the terminal.

进一步地,所述比对分析模块,所提取的所述特征码,为唯一标识所述文件及文件内容的特征码,包括以下一种或者多种的组合:经由信息摘要算法MD5运算得出的MD5验证码、安全哈希算法校验码和循环冗余校验码。Further, the feature code extracted by the comparison and analysis module is a feature code that uniquely identifies the file and file content, including one or more of the following combinations: MD5 verification code, secure hash algorithm check code and cyclic redundancy check code.

进一步地,所述终端配置列表维护模块,在维护终端配置列表时,还用于在每个应用程序新增文件和/或删除文件和/或修改文件内容和/或修改文件存路径时,在所述终端配置列表中更新相应的记录。Further, the terminal configuration list maintenance module, when maintaining the terminal configuration list, is also used for adding new files and/or deleting files and/or modifying file content and/or modifying file storage paths for each application program, when The corresponding record is updated in the terminal configuration list.

进一步地,所述云端数据库,还用于保存针对每个应用程序所收集的写入注册表项的参考键值;所述终端配置列表,还用于记录所述终端上安装的每个应用程序所创建的注册表项的路径以及根据所述注册表项的路径获取的每个应用程序写入注册表项的键值;所述比对分析模块,还用于根据所述终端配置列表提取待检测应用程序的写入注册表项的键值在云端数据库中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上的注册表中被正确设置并反馈给所述终端。Further, the cloud database is also used to store the reference key values written in registry entries collected for each application; the terminal configuration list is also used to record each application installed on the terminal The path of the registry entry created and the key value of each application written to the registry entry obtained according to the path of the registry entry; the comparison and analysis module is also used to extract the terminal configuration list according to the terminal configuration list. The key value written in the registry entry of the detection application is compared in the cloud database, and according to the comparison result, it is determined whether the application to be detected is correctly set in the registry on the terminal and fed back to the terminal .

进一步地,所述终端配置列表维护模块,在维护终端配置列表时,还用于在每个应用程序修改注册表项的路径和/或新增注册表项和/或删除注册表项和/或修改注册表项内容和/或修改系统注册表项内容时,在所述终端配置列表中更新相应的记录。Further, the terminal configuration list maintenance module, when maintaining the terminal configuration list, is also used to modify the path of the registry item and/or add a new registry item and/or delete the registry item and/or When modifying the content of the registry item and/or modifying the content of the system registry item, the corresponding record is updated in the terminal configuration list.

进一步地,所述云端数据库,还用于保存所收集的每个应用程序运行时所创建的参考主进程及配套的进程和/或全部动态链接库和/或服务;所述终端配置列表,还用于记录所述终端上安装的每个应用程序在运行时所创建的主进程以及所述主进程调用的进程和/或动态链接库和/或服务;所述比对分析模块,还用于根据所述终端配置列表提取待检测应用程序在运行时所创建的主进程以及所述主进程调用的进程和/或动态链接库和/或服务在云端数据库中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上正确运行并反馈给所述终端。Further, the cloud database is also used to save the collected reference main process and supporting processes and/or all dynamic link libraries and/or services created when each application is running; the terminal configuration list is also It is used to record the main process created by each application program installed on the terminal during operation and the process and/or dynamic link library and/or service called by the main process; the comparison and analysis module is also used to According to the terminal configuration list, extract the main process created by the application to be detected at runtime and the process and/or dynamic link library and/or service called by the main process, compare them in the cloud database, and judge according to the comparison result Whether the application program to be checked is running correctly on the terminal is fed back to the terminal.

进一步地,所述终端配置列表维护模块,在维护终端配置列表时,还用于在每个应用程序新增进程和/或新增配套进程和/或新增动态链接库和/或新增服务和/或删除进程时,在所述终端配置列表中更新相应的记录。Further, when the terminal configuration list maintenance module is maintaining the terminal configuration list, it is also used to add new processes and/or add supporting processes and/or add dynamic link libraries and/or add new services to each application program. And/or when deleting a process, update the corresponding record in the terminal configuration list.

进一步地,所述比对分析模块,根据比对结果判定所述待检测应用程序在所述终端上被正确安装时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上被正确安装;所述比对分析模块,根据比对结果判定所述待检测应用程序在所述终端上的注册表中被正确设置时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上的注册表中被正确设置;所述比对分析模块,根据比对结果判定所述待检测应用程序在所述终端上正确运行时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上正确运行;所述比对分析模块,根据比对结果判定所述待检测应用程序在所述终端上没有被正确安装时和/或在所述终端上的注册表中没有被正确设置时和/或在所述终端上没有正确运行时,向所述终端发送的反馈,包括以下一项或多项的组合:提示所述待检测应用程序的非正确信息、修复所述待检测应用程序、终止所述待检测应用程序的运行、清理所述待检测应用程序、重新安装所述待检测应用程序。Further, the comparison and analysis module determines the feedback sent to the terminal when the application to be detected is correctly installed on the terminal according to the comparison result, including: prompting that the application to be detected is installed on the terminal The terminal is correctly installed; the comparison and analysis module determines the feedback sent to the terminal when the application to be detected is correctly set in the registry on the terminal according to the comparison result, including: prompting the The application program to be detected is correctly set in the registry on the terminal; the comparison analysis module determines the feedback sent to the terminal when the application program to be detected is running correctly on the terminal according to the comparison result , including: prompting that the application program to be detected runs correctly on the terminal; the comparison and analysis module determines that the application program to be detected is not installed correctly on the terminal according to the comparison result and/or when When the registry on the terminal is not correctly set and/or when the terminal is not running correctly, the feedback sent to the terminal includes a combination of one or more of the following: prompting the application to be detected Incorrect information of the program, repairing the application program to be detected, terminating the operation of the application program to be detected, cleaning the application program to be detected, and reinstalling the application program to be detected.

与现有的方案相比,本发明所获得的技术效果:Compared with existing solutions, the technical effects obtained by the present invention are:

1)病毒木马感染破坏和应用程序本身的容错性差都会造成应用程序被破坏,包括非PE的数据文件如dat文件、lib文件等,甚至系统文件,都可能随时被破坏或遗失,本发明可以识别文件内容的损坏,而且智能快捷方便的检测方式就显得尤其必要。1) The damage caused by virus, Trojan horse infection and poor fault tolerance of the application program itself will cause the application program to be damaged, including non-PE data files such as dat files, lib files, etc., and even system files, which may be damaged or lost at any time. The present invention can identify The content of the file is damaged, and an intelligent, fast and convenient detection method is especially necessary.

2)注册表项被破坏、修改,或者应用程序安装时自身问题导致未能正确地写入注册表项,此时都是无法正常启动并使用应用程序的,本发明可以识别注册表项的损坏,通过这一检测方式,就能够彻底追查出软件安装后是否能基本的正确启动。2) Registry items are damaged or modified, or the application itself fails to write into the registry due to its own problems during installation. At this time, it is impossible to start and use the application normally. The invention can identify the damage of the registry items , Through this detection method, it can be thoroughly traced whether the software can be started correctly after installation.

3)假设应用程序的文件和注册表项这种静态信息都是正确的,但在某种特定环境,如64位系统下,无法被加载32位进程及进程配套的dll及服务,这种情况也可以认为是失败的安装,本发明可以识别内存加载项的损坏,从而彻底追查出安装后不能正确启动的原因。3) Assume that the static information such as the file and registry entries of the application is correct, but in a certain environment, such as a 64-bit system, the 32-bit process and the dll and services supporting the process cannot be loaded. In this case It can also be considered as a failed installation, and the present invention can identify the damage of the memory add-on, so as to thoroughly trace out the reason why it cannot be started correctly after installation.

附图说明 Description of drawings

图1为本发明实施例的方法流程图;Fig. 1 is the method flowchart of the embodiment of the present invention;

图2为本发明实施例步骤S10的流程图;Fig. 2 is the flowchart of step S10 of the embodiment of the present invention;

图3为本发明实施例步骤S20的流程图;Fig. 3 is the flowchart of step S20 of the embodiment of the present invention;

图4为本发明实施例步骤S30的流程图;Fig. 4 is the flowchart of step S30 of the embodiment of the present invention;

图5为本发明实施例的装置结构图。Fig. 5 is a device structure diagram of an embodiment of the present invention.

具体实施方式 Detailed ways

以下将配合图式及实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。The implementation of the present invention will be described in detail below in conjunction with the drawings and examples, so that the realization process of how to use technical means to solve technical problems and achieve technical effects in the present invention can be fully understood and implemented accordingly.

本申请的主要思想Main idea of this application

分别检测待检测应用程序的每个文件的特征码、写入注册表项的键值、在运行时的内存加载项;Separately detect the signature of each file of the application to be detected, the key value written to the registry key, and the memory add-on at runtime;

任意文件的特征码是具有唯一性的,应用程序安装后,如果其他病毒木马或钩子替换修改应用程序的文件内容,或者应用程序本身容错性很差,导致应用程序的文件被破坏或删除或替换,则能够通过特征码校验出来。The signature of any file is unique. After the application is installed, if other viruses, Trojan horses or hooks replace and modify the file content of the application, or the application itself has poor fault tolerance, the files of the application will be destroyed or deleted or replaced. , it can be verified by the feature code.

应用程序安装后会在注册表创建不同的注册表项,包括安装项、服务项、开机启动项、用户注册信息等,例如杀毒软件在开机后登录前会加载优先级高的服务项,所述服务项必须抢在病毒木马启动之前启动,这样才能保证杀毒软件的正常运行,所以还需要检测写入注册表项的键值。After the application is installed, different registry items will be created in the registry, including installation items, service items, startup items, user registration information, etc. For example, antivirus software will load service items with high priority after booting and before logging in. The service item must be started before the virus Trojan horse is started, so as to ensure the normal operation of the anti-virus software, so it is also necessary to detect the key value written into the registry item.

应用程序安装后,会启动主进程,之后主进程还会自行调用其他配套进程、动态链接库(dll)、服务,在某些环境下,应用程序是无法正常启动进程及加载配套进程、dll和服务,另外如果注入了其他第三方进程或者dll或其他不正确的模块应用程序也会出错,所以还需要检测在运行时的内存加载项,所述内存加载项包括:所创建的主进程以及所述主进程调用的进程和/或动态链接库和/或服务。After the application is installed, it will start the main process, and then the main process will call other supporting processes, dynamic link libraries (dll), and services by itself. In some environments, the application cannot start the process normally and load supporting processes, dll and In addition, if other third-party processes or dlls or other incorrect module applications are injected, errors will also occur, so it is also necessary to detect memory add-ons at runtime, and the memory add-ons include: the created main process and all Processes and/or dynamic link libraries and/or services called by the main process.

本申请的应用场景Application scenarios of this application

1)应用程序被用户安装完成后,会遇到一系列使用上的问题甚至无法启动软件;此时用户常常求助于客服人员,但作为客服人员在远程很难追溯原因,例如应用程序没有被正确安装还是已经被破坏,或者是应用程序本身的功能性问题;此时适于应用本发明智能检查文件是否被安装,注册表项(如安装信息,服务项,用户信息等项)是否被撰写,特定的用户环境下是否启动进程、加载dll模块、启动服务。1) After the application is installed by the user, they will encounter a series of problems in use and even cannot start the software; at this time, the user often turns to the customer service personnel, but it is difficult for the customer service personnel to trace the reason remotely, such as the application is not installed correctly. The installation is still damaged, or it is a functional problem of the application program itself; at this time, it is suitable to apply the present invention to intelligently check whether the file is installed, whether the registry entries (such as installation information, service items, user information, etc.) are written, Whether to start the process, load the dll module, and start the service in a specific user environment.

2)应用程序的测试人员在测试时,往往首先要测试应用程序是否被正确安装上,然后才能进一步检测软件本身功能是否正确,比如安装一个大型达到1G的office软件,里面会有几万个文件,也需要写上千个注册表项,安装完毕后,中间出现任何环节,都是很难追查软件是否是被安装出错还是软件本身的BUG,此时适于应用本发明进行智能地排查。2) When testing an application, testers often first test whether the application is installed correctly, and then can further check whether the function of the software itself is correct. For example, if you install a large office software with a size of 1G, there will be tens of thousands of files in it. , also need to write thousands of registry entries, after the installation is complete, if any link occurs in the middle, it is difficult to track down whether the software is installed by mistake or the BUG of the software itself, and it is suitable for applying the present invention to carry out intelligent investigation.

3)应用程序的开发人员在开发大型软件时,每个开发人员不会负责所有模块的开发,只是负责部分模块的开发和集成调试,为了保证调试的完整性,此时适于应用本发明智能检查文件是否被安装。3) When developers of application programs develop large-scale software, each developer will not be responsible for the development of all modules, but only for the development and integrated debugging of some modules. In order to ensure the integrity of debugging, it is suitable to apply the intelligent Check if the file is installed.

当然,本申请并不限于以上应用场景,还存在其他适用于涉及海量数据浏览及数据格式编辑的场景。Of course, the present application is not limited to the above application scenarios, and there are other scenarios applicable to massive data browsing and data format editing.

实施例描述Example description

以下以一实施例对本发明的方法进行说明。如图1所示,为本发明实施例的检测应用程序的安装状态的方法流程图,执行如下操作:The method of the present invention is described below with an embodiment. As shown in Figure 1, it is a flowchart of a method for detecting the installation state of an application program according to an embodiment of the present invention, and the following operations are performed:

步骤S10,检测待检测应用程序的每个文件的特征码,根据检测结果判定所述待检测应用程序是否在所述终端上正确安装。Step S10, detecting the feature code of each file of the application program to be detected, and judging whether the application program to be detected is correctly installed on the terminal according to the detection result.

步骤S20,检测待检测应用程序写入注册表项的键值,根据检测结果判定所述待检测应用程序是否在所述终端上正确设置。Step S20, detecting the key value written by the application program to be detected into the registry entry, and judging whether the application program to be detected is correctly set on the terminal according to the detection result.

步骤S30,检测待检测应用程序在运行时的内存加载项,根据检测结果判定所述待检测应用程序是否在所述终端上正确运行。Step S30, detecting the memory add-on of the application program to be detected when it is running, and judging whether the application program to be detected is running correctly on the terminal according to the detection result.

应用程序的安装状态包括:待检测应用程序是否在所述终端上正确安装、正确设置和/或正确运行。上述步骤S10、S20、S30的并无执行次序,可以同时执行,也可以按任意次序先后执行,从以上三个平行的角度立体的检测待检测应用程序的状况。The installation state of the application program includes: whether the application program to be detected is correctly installed, correctly set and/or correctly operated on the terminal. The steps S10 , S20 , and S30 above have no order of execution, and can be executed simultaneously, or sequentially in any order, to three-dimensionally detect the status of the application program to be detected from the above three parallel angles.

以下以一个实施例对上述步骤S10进行说明。如图2所示,为本发明实施例步骤S10的流程图,执行如下操作:The above step S10 is described below with an embodiment. As shown in Figure 2, it is a flowchart of step S10 in the embodiment of the present invention, and the following operations are performed:

步骤S102,建立云端数据库,其中保存有针对每个应用程序所收集的所有文件的参考特征码;Step S102, establishing a cloud database, wherein the reference signature codes of all files collected for each application are stored;

所述特征码,为唯一标识所述文件及文件内容的特征码,包括以下一种或者多种的组合:经由信息摘要算法MD5运算得出的MD5验证码、安全哈希算法SHA1校验码和循环冗余CRC校验码。The feature code is a feature code that uniquely identifies the file and file content, including one or more of the following combinations: MD5 verification code obtained through information digest algorithm MD5 operation, secure hash algorithm SHA1 check code and Cyclic redundancy CRC check code.

所述参考特征码可以是正确的、判定为正确安装的参考值,通过白名单实现;所述参考特征码也可以是错误的、判定为未正确安装的参考值,通过黑名单实现。The reference signature code may be correct, a reference value determined to be installed correctly, implemented through a whitelist; the reference signature code may also be an incorrect reference value determined to be installed incorrectly, implemented through a blacklist.

步骤S104,维护终端配置列表,其中记录有所述终端上安装的每个应用程序的安装路径、根据所述安装路径获取的每个应用程序安装的全部文件以及每个文件的特征码;Step S104, maintaining the terminal configuration list, which records the installation path of each application program installed on the terminal, all files installed by each application program obtained according to the installation path, and the feature code of each file;

通过具有文件或目录是否存在的功能的API(应用程序编程接口)函数获取所述终端上安装的每个应用程序的安装路径,例如PathFileExists函数,PathFileExists函数用于确定一个文件或目录的文件系统对象的路径是否是有效的;根据所述安装路径,通过具有枚举文件或文件夹的功能的API函数获取每个应用程序安装的全部文件,例如FindFirstFile函数和FindNextFile函数,FindFirstFile函数用于根据文件名查找文件,FindNextFile函数用于根据调用FindFirstFile函数时指定的一个文件名查找下一个文件。Obtain the installation path of each application program installed on the terminal through an API (Application Programming Interface) function that has a function of whether a file or directory exists, such as the PathFileExists function, which is used to determine the file system object of a file or directory Whether the path is valid; according to the installation path, all the files installed by each application are obtained through the API function with the function of enumerating files or folders, such as the FindFirstFile function and the FindNextFile function, and the FindFirstFile function is used according to the file name To find a file, the FindNextFile function is used to find the next file according to a file name specified when calling the FindFirstFile function.

在每个应用程序新增文件和/或删除文件和/或修改文件内容(包括系统文件)和/或修改文件存路径时,还在所述终端配置列表中更新相应的记录。When each application program adds files and/or deletes files and/or modifies file content (including system files) and/or modifies file storage paths, corresponding records are also updated in the terminal configuration list.

步骤S106,根据所述终端配置列表提取待检测应用程序的每个文件的特征码在云端数据库中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上被正确安装并反馈给所述终端。Step S106, extracting the feature code of each file of the application program to be detected according to the terminal configuration list and comparing it in the cloud database, and judging whether the application program to be detected is correctly installed on the terminal according to the comparison result and Feedback to the terminal.

参考特征码保存在所述云端数据库的白名单时,如果比对后发现终端配置列表中的特征码均被云端数据库中的参考特征码所命中,此时可以判定所述待检测应用程序在所述终端上被正确安装;如果比对后只要有一个终端配置列表中的特征码没有被云端数据库中的参考特征码所命中,此时可以判定所述待检测应用程序在所述终端上没有被正确安装。When the reference feature code is stored in the white list of the cloud database, if after comparison, it is found that the feature codes in the terminal configuration list are all hit by the reference feature code in the cloud database, then it can be determined that the application to be detected is in the white list. If the feature code in the terminal configuration list is not matched by the reference feature code in the cloud database after the comparison, it can be determined that the application program to be detected has not been detected on the terminal. Install correctly.

参考特征码保存在所述云端数据库的黑名单时,如果比对后发现终端配置列表中的只要有一个特征码均被云端数据库中的参考特征码所命中,此时可以判定所述待检测应用程序在所述终端上没有被正确安装;如果比对后终端配置列表中的特征码均没有被云端数据库中的参考特征码所命中,此时可以判定所述待检测应用程序在所述终端上被正确安装。When the reference feature code is stored in the blacklist of the cloud database, if after comparison, it is found that only one feature code in the terminal configuration list is hit by the reference feature code in the cloud database, then it can be determined that the application to be detected The program is not installed correctly on the terminal; if none of the feature codes in the terminal configuration list are matched by the reference feature codes in the cloud database after comparison, it can be determined that the application program to be detected is on the terminal is installed correctly.

根据比对结果判定所述待检测应用程序在所述终端上被正确安装时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上被正确安装;The feedback sent to the terminal when determining that the application to be detected is correctly installed on the terminal according to the comparison result includes: prompting that the application to be detected is correctly installed on the terminal;

根据比对结果判定所述待检测应用程序在所述终端上没有被正确安装时向所述终端发送的反馈,包括以下一项或多项的组合:提示所述待检测应用程序的非正确信息、提示修复所述待检测应用程序、提示终止所述待检测应用程序的运行、提示清理所述待检测应用程序、提示重新安装所述待检测应用程序。The feedback sent to the terminal when it is determined that the application to be detected has not been correctly installed on the terminal according to the comparison result includes a combination of one or more of the following: prompting incorrect information about the application to be detected Prompting to repair the application program to be detected, prompting to terminate the running of the application program to be detected, prompting to clean the application program to be detected, and prompting to reinstall the application program to be detected.

以下以一个应用实例对上述步骤S10进行说明。待检测的应用程序以Fetion为例,特征码以MD5为例,MD5值可以通过哈希算法获得。The above step S10 is described below with an application example. Take Fetion as an example for the application to be detected, and MD5 as an example for the feature code, and the MD5 value can be obtained through a hash algorithm.

云端数据库中保存有针对每个应用程序所收集的所有文件的参考MD5值,所述参考MD5值为正确的参考值,例如其中至少包括:The reference MD5 value of all files collected for each application program is saved in the cloud database, and the reference MD5 value is a correct reference value, for example including at least:

Fetion.exe&8af829e342a6b15696af9650ad5f805cFetion.exe&8af829e342a6b15696af9650ad5f805c

fxWebBrowser.exe&8af829e342a6b15696af9650ad5f8051fxWebBrowser.exe&8af829e342a6b15696af9650ad5f8051

Fetion.lib&8af829e342a6b15696af9650ad5f8052Fetion.lib&8af829e342a6b15696af9650ad5f8052

其中,Fetion.exe、fxWebBrowser.exe、Fetion.lib是文件,8af829e342a6b15696af9650ad5f805c是Fetion.exe对应的MD5值,8af829e342a6b15696af9650ad5f8051是fxWebBrowser.exe对应的MD5值,8af829e342a6b15696af9650ad5f8052是Fetion.lib对应的MD5值。Among them, Fetion.exe, fxWebBrowser.exe, and Fetion.lib are files, 8af829e342a6b15696af9650ad5f805c is the MD5 value corresponding to Fetion.exe, 8af829e342a6b15696af9650ad5f8051 is the MD5 value corresponding to fxWebBrowser.exe, and 8af829e352a6b156096ad5f8 is the corresponding MD5 value of Fetion.lib.

终端配置列表中记录文件路径、文件以及文件的MD5值,例如:The file path, file and file MD5 value are recorded in the terminal configuration list, for example:

File1="C:\ProgramFiles\ChinaMobile\Fetion\Fetion.exe"&8af829e342a6b15696af9650ad5f805cFile1="C:\Program Files\ChinaMobile\Fetion\Fetion.exe"&8af829e342a6b15696af9650ad5f805c

File1="C:\ProgramFiles\ChinaMobile\Fetion\fxWebBrowser.exe"&8af829e342a6b15696af9650ad5f8051File1="C:\Program Files\ChinaMobile\Fetion\fxWebBrowser.exe"&8af829e342a6b15696af9650ad5f8051

File1="C:\ProgramFiles\ChinaMobile\Fetion\Fetion.lib"&8af829e342a6b15696af9650ad5f8052File1="C:\Program Files\ChinaMobile\Fetion\Fetion.lib"&8af829e342a6b15696af9650ad5f8052

以上格式中,Fetion.exe、fxWebBrowser.exe、Fetion.lib是文件,C:\ProgramFiles\ChinaMobile\Fetion\是文件路径,8af829e342a6b15696af9650ad5f805c是Fetion.exe对应的MD5值,8af829e342a6b15696af9650ad5f8051是fxWebBrowser.exe对应的MD5值,8af829e342a6b1596af9650ad5f8052是Fetion.lib对应的MD5值,Fetion.lib是非PE文件。In the above format, Fetion.exe, fxWebBrowser.exe, Fetion.lib are files, C:\ProgramFiles\ChinaMobile\Fetion\ is the file path, 8af829e342a6b15696af9650ad5f805c is the MD5 value corresponding to Fetion.exe, 8af829e342a6b15696af9650ad5f8051 is the MD5 value corresponding to fxWebBrowser.exe , 8af829e342a6b1596af9650ad5f8052 is the MD5 value corresponding to Fetion.lib, and Fetion.lib is a non-PE file.

在应用程序Fetion新增文件(包括临时生成的文件)、删除文件、修改文件内容(包括修改windows系统文件)、文件存储的路径时,终端配置列表中记录的参数会自动更新调整。When the application program Fetion adds files (including temporarily generated files), deletes files, modifies file content (including modifying windows system files), and file storage paths, the parameters recorded in the terminal configuration list will be automatically updated and adjusted.

根据所述终端配置列表提取Fetion的Fetion.exe、fxWebBrowser.exe、Fetion.lib的MD5值在云端数据库中进行比对,如果比对后发现终端配置列表中的MD5均被云端数据库中的参考MD5值所命中,此时可以判定所述待检测应用程序在所述终端上被正确安装;如果比对后终端配置列表中只要有一个MD5没有被云端数据库中的参考MD5值所命中,此时可以判定所述待检测应用程序在所述终端上没有被正确安装。Extract the MD5 values of Fetion.exe, fxWebBrowser.exe, and Fetion.lib of Fetion according to the terminal configuration list and compare them in the cloud database. If the value is hit, it can be determined that the application program to be detected is correctly installed on the terminal; if there is only one MD5 in the terminal configuration list after the comparison is not hit by the reference MD5 value in the cloud database, it can be determined at this time It is determined that the application program to be detected has not been correctly installed on the terminal.

以下以一个实施例对上述步骤S20进行说明。如图3所示,为本发明实施例步骤S20的流程图,执行如下操作:The above step S20 will be described below with an embodiment. As shown in FIG. 3, it is a flowchart of step S20 in the embodiment of the present invention, and the following operations are performed:

步骤S202,建立云端数据库,其中保存有针对每个应用程序所收集的写入注册表项的参考键值;Step S202, establishing a cloud database, which saves the reference key values written into registry entries collected for each application;

所述参考键值可以是正确的、判定为正确安装的参考值,通过白名单实现;所述参考键值也可以是错误的、判定为未正确安装的参考值,通过黑名单实现。The reference key value may be a correct reference value determined to be correctly installed, which is implemented through a white list; the reference key value may also be an incorrect reference value determined to be incorrectly installed, and implemented through a blacklist.

步骤S204,维护终端配置列表,其中记录有所述终端上安装的每个应用程序所创建的注册表项的路径以及根据所述注册表项的路径获取的每个应用程序写入注册表项的键值;Step S204, maintaining the terminal configuration list, which records the path of the registry entry created by each application installed on the terminal and the path of each application written to the registry entry obtained according to the path of the registry entry. key value;

通过具有在指定的注册表项下进行读写操作的功能的API函数获取每个应用程序所创建的注册表项的路径以及写入注册表项的键值,例如SHGetValue函数和RegCreateKeyEx函数,SHGetValue函数用于在指定的注册表项下进行读写操作;RegCreateKeyEx函数用于在指定注册表项下创建新项的复杂方式,在Win32环境中使用。Obtain the path of the registry entry created by each application and the key value written to the registry entry through the API function with the function of reading and writing under the specified registry entry, such as SHGetValue function and RegCreateKeyEx function, SHGetValue function It is used to read and write operations under the specified registry key; the RegCreateKeyEx function is used to create a new key under the specified registry key in a complex way, and is used in the Win32 environment.

在每个应用程序修改注册表项的路径和/或新增注册表项和/或删除注册表项和/或修改注册表项内容和/或修改系统注册表项内容时,还在所述终端配置列表中更新相应的记录。When each application modifies the path of the registry item and/or adds a new registry item and/or deletes the registry item and/or modifies the content of the registry item and/or modifies the content of the system registry item, the terminal The corresponding record is updated in the configuration list.

步骤S206,根据所述终端配置列表提取待检测应用程序的写入注册表项的键值在云端数据库中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上的注册表中被正确设置并反馈给所述终端;Step S206, according to the terminal configuration list, extract the key value written in the registry entry of the application to be detected and compare it in the cloud database, and determine whether the application to be detected is registered on the terminal according to the comparison result The table is correctly set and fed back to the terminal;

参考键值保存在所述云端数据库的白名单时,如果比对后发现终端配置列表中的键值均被云端数据库中的参考键值所命中,此时可以判定所述待检测应用程序在所述终端上被正确设置;如果比对后终端配置列表中只要有一个键值没有被云端数据库中的参考键值所命中,此时可以判定所述待检测应用程序在所述终端上没有被正确设置。When the reference key value is stored in the white list of the cloud database, if after comparison, it is found that the key values in the terminal configuration list are all hit by the reference key value in the cloud database, then it can be determined that the application to be detected is in the white list. It is correctly set on the above-mentioned terminal; if only one key value in the terminal configuration list is not hit by the reference key value in the cloud database after the comparison, it can be determined that the application program to be detected is not correctly set on the terminal. set up.

参考键值保存在所述云端数据库的黑名单时,如果比对后发现终端配置列表中只要有一个键值均被云端数据库中的参考键值所命中,此时可以判定所述待检测应用程序在所述终端上没有被正确设置;如果比对后终端配置列表中的键值均没有被云端数据库中的参考键值所命中,此时可以判定所述待检测应用程序在所述终端上被正确设置。When the reference key value is stored in the blacklist of the cloud database, if after comparison, it is found that as long as one key value in the terminal configuration list is hit by the reference key value in the cloud database, it can be determined that the application program to be detected It has not been correctly set on the terminal; if the key values in the terminal configuration list are not hit by the reference key values in the cloud database after comparison, it can be determined that the application program to be detected has been detected on the terminal. set correctly.

根据比对结果判定所述待检测应用程序在所述终端上的注册表中被正确设置时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上的注册表中被正确设置;The feedback sent to the terminal when it is determined that the application to be detected is correctly set in the registry on the terminal according to the comparison result includes: prompting that the application to be detected is in the registry on the terminal is set correctly;

根据比对结果判定所述待检测应用程序在所述终端上的注册表中没有被正确设置时向所述终端发送的反馈,包括以下一项或多项的组合:提示所述待检测应用程序的非正确信息、提示修复所述待检测应用程序、提示终止所述待检测应用程序的运行、提示清理所述待检测应用程序、提示重新安装所述待检测应用程序。The feedback sent to the terminal when it is determined that the application to be detected is not correctly set in the registry on the terminal according to the comparison result includes a combination of one or more of the following: prompting the application to be detected incorrect information, prompting to repair the application program to be detected, prompting to terminate the running of the application program to be detected, prompting to clean up the application program to be detected, and prompting to reinstall the application program to be detected.

以下以一个应用实例对上述步骤S20进行说明。待检测的应用程序以Fetion为例。The above step S20 is described below with an application example. The application to be detected takes Fetion as an example.

云端数据库中保存有针对每个应用程序所收集的写入注册表项的参考键值,所述参考键值为正确的参考值,例如其中至少包括:The cloud database stores the reference key values written into the registry entries collected for each application, and the reference key values are correct reference values, for example including at least:

″\″C:\\Program Files\\China Mobile\\Fetion\\Fetion.exe\″\″%1\″″。″\″C:\\Program Files\\China Mobile\\Fetion\\Fetion.exe\″\″%1\″″.

终端配置列表中记录注册表项的路径以及写入注册表项的键值,例如:The path of the registry item and the key value written to the registry item are recorded in the terminal configuration list, for example:

[HKEY_CLASSES_ROOT\Applications\Fetion.exe\shell\open\command]="\"C:\\Program Files\\China Mobile\\Fetion\\Fetion.exe\″\″%1\″″[HKEY_CLASSES_ROOT\Applications\Fetion.exe\shell\open\command]="\"C:\\Program Files\\China Mobile\\Fetion\\Fetion.exe\″\″%1\″″

以上格式中,[HKEY_CLASSES_ROOT\Applications\Fetion.exe\shell\open\command]是注册表项的路径,″\″C:\\Program Files\\China Mobile\\Fetion\\Fetion.exe\″\″%1\″″是写入的注册表项的键值。In the above format, [HKEY_CLASSES_ROOT\Applications\Fetion.exe\shell\open\command] is the path of the registry key, ″\″C:\\Program Files\\China Mobile\\Fetion\\Fetion.exe\″\ "%1\"" is the key value of the registry key written.

应用程序Fetion在修改注册表的路径,新增注册表项(包括临时生成的注册表项)、删除注册表项、修改注册表项内容(包括修改windows注册表项)时,终端配置列表中记录的参数会自动更新调整。When the application program Fetion modifies the registry path, adds registry entries (including temporarily generated registry entries), deletes registry entries, and modifies registry entry contents (including modifying windows registry entries), the terminal configuration list records The parameters will be automatically updated and adjusted.

根据所述终端配置列表提取Fetion写入的注册表项的键值在云端数据库中进行比对,如果比对后发现终端配置列表中的键值均被云端数据库中的参考键值所命中,此时可以判定所述待检测应用程序在所述终端上被正确设置;如果比对后终端配置列表中只要有一个键值没有被云端数据库中的参考键值所命中,此时可以判定所述待检测应用程序在所述终端上没有被正确设置。According to the terminal configuration list, the key value of the registry entry written by Fetion is extracted and compared in the cloud database, if after the comparison, it is found that the key values in the terminal configuration list are all hit by the reference key value in the cloud database. At this time, it can be determined that the application program to be detected is correctly set on the terminal; if only one key value in the terminal configuration list is not hit by the reference key value in the cloud database after comparison, it can be determined that the application program to be detected is correctly set on the terminal. The detection application is not properly set up on the terminal in question.

以下以一个实施例对上述步骤S30进行说明。如图4所示,为本发明实施例步骤S30的流程图,执行如下操作:The above step S30 will be described below with an embodiment. As shown in FIG. 4, it is a flowchart of step S30 in the embodiment of the present invention, and the following operations are performed:

步骤S302,建立云端数据库,其中保存有所收集的每个应用程序运行时所创建的参考主进程及配套的进程和/或全部动态链接库和/或服务;Step S302, establishing a cloud database, which saves the collected reference main process and supporting processes and/or all dynamic link libraries and/or services created when each application is running;

所述参考主进程及配套的进程和/或全部动态链接库和/或服务可以是正确的、判定为正确安装的参考值,通过白名单实现;所述参考主进程及配套的进程和/或全部动态链接库和/或服务也可以是错误的、判定为未正确安装的参考值,通过黑名单实现。The reference main process and supporting processes and/or all dynamic link libraries and/or services may be correct and determined to be correctly installed reference values, which are realized through a white list; the reference main process and supporting processes and/or All dynamic link libraries and/or services may also be erroneous reference values determined to be incorrectly installed, and implemented through a blacklist.

步骤S304,维护终端配置列表,其中记录有所述终端上安装的每个应用程序在运行时所创建的主进程以及所述主进程调用的进程和/或动态链接库和/或服务;Step S304, maintaining a terminal configuration list, which records the main process created by each application program installed on the terminal when running, and the process and/or dynamic link library and/or service called by the main process;

通过具有为指定的进程、进程使用的堆、模块、线程建立快照的功能的API函数获取每个应用程序在运行时所创建的主进程以及所述主进程调用的进程和/或动态链接库和/或服务,例如CreateToolhelp32Snapshot函数,CreateToolhelp32Snapshot函数用于为指定的进程、进程使用的堆[HEAP]、模块[MODULE]、线程[THREAD]建立一个快照。Obtain the main process created by each application program at runtime and the process and/or dynamic link library and/or dynamic link library called by the main process through the API function with the function of establishing a snapshot for the specified process, the heap used by the process, the module, and the thread /or services, such as the CreateToolhelp32Snapshot function, the CreateToolhelp32Snapshot function is used to create a snapshot for the specified process, the heap [HEAP], module [MODULE], and thread [THREAD] used by the process.

在每个应用程序新增进程和/或新增配套进程和/或新增动态链接库和/或新增服务和/或删除进程时,还在所述终端配置列表中更新相应的记录。When each application program adds a new process and/or adds a supporting process and/or adds a dynamic link library and/or adds a service and/or deletes a process, the corresponding record is also updated in the terminal configuration list.

步骤S306,根据所述终端配置列表提取待检测应用程序在运行时所创建的主进程以及所述主进程调用的进程和/或动态链接库和/或服务在云端数据库中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上正确运行并反馈给所述终端;Step S306, according to the terminal configuration list, extract the main process created by the application to be detected when running and the process and/or dynamic link library and/or service called by the main process, and compare them in the cloud database, according to the comparison Determine whether the application program to be detected is running correctly on the terminal and feed back to the terminal according to the result;

参考值保存在所述云端数据库的白名单时,如果比对后发现终端配置列表中的主进程以及所述主进程调用的进程和/或动态链接库和/或服务均被云端数据库中的参考值所命中,此时可以判定所述待检测应用程序在所述终端上被正确设置;如果比对后终端配置列表中只要有一个主进程以及所述主进程调用的进程和/或动态链接库和/或服务没有被云端数据库中的参考值所命中,此时可以判定所述待检测应用程序在所述终端上没有被正确设置。When the reference value is saved in the white list of the cloud database, if it is found after comparison that the main process in the terminal configuration list and the process and/or dynamic link library and/or service called by the main process are all referenced in the cloud database If the value is hit, it can be determined that the application program to be detected is correctly set on the terminal; if there is only one main process and the process and/or dynamic link library called by the main process in the terminal configuration list after comparison And/or the service is not hit by the reference value in the cloud database, at this time it can be determined that the application program to be detected is not correctly set on the terminal.

参考值保存在所述云端数据库的黑名单时,如果比对后发现终端配置列表中只要有一个主进程以及所述主进程调用的进程和/或动态链接库和/或服务均被云端数据库中的参考键值所命中,此时可以判定所述待检测应用程序在所述终端上没有被正确设置;如果比对后终端配置列表中的主进程以及所述主进程调用的进程和/或动态链接库和/或服务均没有被云端数据库中的参考键值所命中,此时可以判定所述待检测应用程序在所述终端上被正确设置。When the reference value is stored in the blacklist of the cloud database, if it is found after comparison that there is only one main process in the terminal configuration list and the processes and/or dynamic link libraries and/or services invoked by the main process are all included in the cloud database At this time, it can be determined that the application program to be detected has not been correctly set on the terminal; if the main process in the terminal configuration list and the process and/or dynamic Neither the link library nor the service is hit by the reference key in the cloud database, and at this point it can be determined that the application program to be checked is correctly set on the terminal.

根据比对结果判定所述待检测应用程序在所述终端上正确运行时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上正确运行;According to the comparison result, the feedback sent to the terminal when the application program to be detected is determined to be running correctly on the terminal includes: prompting that the application program to be detected is running correctly on the terminal;

根据比对结果判定所述待检测应用程序在所述终端上没有正确运行时向所述终端发送的反馈,包括以下一项或多项的组合:提示所述待检测应用程序的非正确信息、提示修复所述待检测应用程序、提示终止所述待检测应用程序的运行、提示清理所述待检测应用程序、提示重新安装所述待检测应用程序。The feedback sent to the terminal when it is determined that the application to be detected is not running correctly on the terminal according to the comparison result includes a combination of one or more of the following: prompting incorrect information of the application to be detected, Prompting to repair the application program to be detected, prompting to terminate the running of the application program to be detected, prompting to clean the application program to be detected, and prompting to reinstall the application program to be detected.

以下以一个应用实例对上述步骤S30进行说明。待检测的应用程序以Fetion为例。The above step S30 is described below with an application example. The application to be detected takes Fetion as an example.

云端数据库中保存有所收集的每个应用程序运行时所创建的参考主进程及配套的进程和/或全部动态链接库和/或服务,所述参考主进程及配套的进程和/或全部动态链接库和/或服务为正确的参考值,例如其中至少包括:The collected reference main process and supporting processes and/or all dynamic link libraries and/or services created when each application is running are stored in the cloud database. The reference main process and supporting processes and/or all dynamic link libraries are stored in the cloud database. Link libraries and/or services to the correct reference values, for example which include at least:

主进程Fetion.exe、配套的动态链接库ADVAPI32.dll和AvatarX.dll。Main process Fetion.exe, supporting dynamic link libraries ADVAPI32.dll and AvatarX.dll.

终端配置列表中记录每个应用程序在运行时所创建的主进程以及所述主进程调用的进程和/或动态链接库和/或服务,例如:The terminal configuration list records the main process created by each application at runtime and the processes and/or dynamic link libraries and/or services invoked by the main process, for example:

Exe1=Fetion.exe&ADVAPI32.dll&AvatarX.dllExe1=Fetion.exe&ADVAPI32.dll&AvatarX.dll

Exe2=…Exe2=…

以上格式中,Fetion.exe是主进程,ADVAPI32.dll是主进程Fetion.exe的配套动态链接库,AvatarX.dll也是主进程Fetion.exe的配套动态链接库。In the above format, Fetion.exe is the main process, ADVAPI32.dll is the supporting dynamic link library of the main process Fetion.exe, and AvatarX.dll is also the supporting dynamic link library of the main process Fetion.exe.

应用程序Fetion在新增进程(包括临时加载的进程)、新增配套的dll(包括需要注入windows系统进程或dll)、新增配套的服务、删除进程时,终端配置列表中记录的参数会自动更新调整。When the application Fetion adds a new process (including a temporarily loaded process), adds a supporting dll (including a process or dll that needs to be injected into the windows system), adds a supporting service, or deletes a process, the parameters recorded in the terminal configuration list will automatically Update adjustments.

根据所述终端配置列表提取Fetion运行时所创建的参考主进程及配套的进程和/或全部动态链接库和/或服务在云端数据库中进行比对,如果比对后发现终端配置列表中的主进程及配套的进程和/或全部动态链接库和/或服务均被云端数据库中的参考值所命中,此时可以判定所述待检测应用程序在所述终端上被正确运行;如果比对后终端配置列表中的主进程及配套的进程和/或全部动态链接库和/或服务只要有一个没有被云端数据库中的参考值所命中,此时可以判定所述待检测应用程序在所述终端上没有被正确运行。According to the terminal configuration list, the reference main process and supporting processes and/or all dynamic link libraries and/or services created during Fetion runtime are extracted and compared in the cloud database, if the main process in the terminal configuration list is found after the comparison The process and supporting processes and/or all dynamic link libraries and/or services are hit by the reference value in the cloud database, and at this time it can be determined that the application program to be detected is correctly run on the terminal; if after comparison As long as one of the main process and supporting processes and/or all dynamic link libraries and/or services in the terminal configuration list is not hit by the reference value in the cloud database, it can be determined that the application program to be detected is on the terminal. is not running correctly.

以下再以三个装置实施例对本发明的装置进行说明,所述装置与上述方法流程对应,不足之处可参考上述方法部分。如图5所示,为检测应用程序的安装状态的装置,包括:云端数据库1、云端数据库管理模块2、终端配置列表3、终端配置列表维护模块4和比对分析模块5。The device of the present invention will be described below with three device embodiments. The device corresponds to the flow of the above-mentioned method. For the deficiencies, please refer to the part of the above-mentioned method. As shown in FIG. 5 , the device for detecting the installation state of an application program includes: a cloud database 1 , a cloud database management module 2 , a terminal configuration list 3 , a terminal configuration list maintenance module 4 and a comparison analysis module 5 .

第一装置实施例First device embodiment

所述云端数据库管理模块2,用于建立云端数据库1;The cloud database management module 2 is used to establish a cloud database 1;

所述云端数据库1,用于保存针对每个应用程序所收集的所有文件的参考特征码;The cloud database 1 is used to save the reference signature codes of all files collected for each application program;

所述终端配置列表维护模块4,用于维护终端配置列表3;The terminal configuration list maintenance module 4 is used to maintain the terminal configuration list 3;

所述终端配置列表3,用于记录所述终端上安装的每个应用程序的安装路径、根据所述安装路径获取的每个应用程序安装的全部文件以及每个文件的特征码;The terminal configuration list 3 is used to record the installation path of each application program installed on the terminal, all files installed by each application program obtained according to the installation path, and the feature code of each file;

所述比对分析模块5,用于根据所述终端配置列表3提取待检测应用程序的每个文件的特征码在云端数据库1中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上被正确安装并反馈给所述终端。The comparison and analysis module 5 is used to extract the feature code of each file of the application program to be detected according to the terminal configuration list 3 and compare it in the cloud database 1, and determine whether the application program to be detected is determined according to the comparison result. correctly installed on the terminal and fed back to the terminal.

所述终端配置列表维护模块4,在维护终端配置列表3时,进一步用于通过具有文件或目录是否存在的功能的应用程序编程接口API函数获取所述终端上安装的每个应用程序的安装路径;进一步用于根据所述安装路径,通过具有枚举文件或文件夹的功能的API函数获取每个应用程序安装的全部文件。The terminal configuration list maintenance module 4, when maintaining the terminal configuration list 3, is further used to obtain the installation path of each application program installed on the terminal through the application programming interface API function with the function of whether the file or directory exists ; It is further used to obtain all files installed by each application program through an API function having a function of enumerating files or folders according to the installation path.

所述终端配置列表维护模块4,在维护终端配置列表3时,还用于在每个应用程序新增文件和/或删除文件和/或修改文件内容(包括系统文件)和/或修改文件存路径时,在所述终端配置列表3中更新相应的记录。The terminal configuration list maintenance module 4 is also used to add new files and/or delete files and/or modify file content (including system files) and/or modify file storage in each application program when maintaining the terminal configuration list 3. When the path is selected, the corresponding record is updated in the terminal configuration list 3.

所述特征码,为唯一标识所述文件及文件内容的特征码,包括以下一种或者多种的组合:经由信息摘要算法MD5运算得出的MD5验证码、安全哈希算法校验码和循环冗余校验码。The feature code is a feature code that uniquely identifies the file and file content, including one or more of the following combinations: MD5 verification code obtained through information digest algorithm MD5 operation, secure hash algorithm check code and loop Redundancy check code.

所述比对分析模块5,根据比对结果判定所述待检测应用程序在所述终端上被正确安装时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上被正确安装;根据比对结果判定所述待检测应用程序在所述终端上没有被正确安装时向所述终端发送的反馈,包括以下一项或多项的组合:提示所述待检测应用程序的非正确信息、修复所述待检测应用程序、终止所述待检测应用程序的运行、清理所述待检测应用程序、重新安装所述待检测应用程序。The comparison and analysis module 5 determines the feedback sent to the terminal when the application to be detected is correctly installed on the terminal according to the comparison result, including: prompting that the application to be detected is on the terminal correctly installed; the feedback sent to the terminal when it is determined that the application to be detected has not been correctly installed on the terminal according to the comparison result includes a combination of one or more of the following: prompting the application to be detected incorrect information, repair the application program to be detected, terminate the operation of the application program to be detected, clean up the application program to be detected, and reinstall the application program to be detected.

第二装置实施例Second device embodiment

所述云端数据库管理模块2,用于建立云端数据库1;The cloud database management module 2 is used to establish a cloud database 1;

所述云端数据库1,用于保存针对每个应用程序所收集的写入注册表项的参考键值;The cloud database 1 is used to save the reference key value of the registry entry collected for each application;

所述终端配置列表维护模块4,用于维护终端配置列表3;The terminal configuration list maintenance module 4 is used to maintain the terminal configuration list 3;

所述终端配置列表3,用于记录所述终端上安装的每个应用程序所创建的注册表项的路径以及根据所述注册表项的路径获取的每个应用程序写入注册表项的键值;The terminal configuration list 3 is used to record the path of the registry entry created by each application installed on the terminal and the key of each application written to the registry entry obtained according to the path of the registry entry value;

所述比对分析模块5,用于根据所述终端配置列表3提取待检测应用程序的写入注册表项的键值在云端数据库1中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上的注册表中被正确设置并反馈给所述终端。The comparison and analysis module 5 is used to extract the key value written in the registry entry of the application to be detected according to the terminal configuration list 3 and compare it in the cloud database 1, and determine the application to be detected according to the comparison result Whether the program is correctly set in the registry on the terminal and is fed back to the terminal.

所述终端配置列表维护模块4,在维护终端配置列表3时,进一步用于通过具有在指定的注册表项下进行读写操作的功能的API函数获取每个应用程序所创建的注册表项的路径以及写入注册表项的键值。The terminal configuration list maintenance module 4, when maintaining the terminal configuration list 3, is further used to obtain the registry entries created by each application program through the API function with the function of reading and writing under the specified registry entries. path and key value written to the registry key.

所述终端配置列表维护模块4,在维护终端配置列表3时,还用于在每个应用程序修改注册表项的路径和/或新增注册表项和/或删除注册表项和/或修改注册表项内容和/或修改系统注册表项内容时,在所述终端配置列表3中更新相应的记录。The terminal configuration list maintenance module 4, when maintaining the terminal configuration list 3, is also used to modify the path of the registry item and/or add a new registry item and/or delete the registry item and/or modify the registry item in each application program. When modifying the contents of the registry entries and/or modifying the contents of the system registry entries, the corresponding records are updated in the terminal configuration list 3 .

所述比对分析模块5,根据比对结果判定所述待检测应用程序在所述终端上的注册表中被正确设置时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上的注册表中被正确设置;根据比对结果判定所述待检测应用程序在所述终端上的注册表中没有被正确设置时向所述终端发送的反馈,包括以下一项或多项的组合:提示所述待检测应用程序的非正确信息、修复所述待检测应用程序、终止所述待检测应用程序的运行、清理所述待检测应用程序、重新安装所述待检测应用程序。The comparison and analysis module 5 determines the feedback sent to the terminal when the application to be detected is correctly set in the registry on the terminal according to the comparison result, including: prompting that the application to be detected is The registry on the terminal is set correctly; according to the comparison result, the feedback sent to the terminal when it is determined that the application to be detected is not correctly set in the registry on the terminal includes the following one or A combination of items: prompting incorrect information of the application to be detected, repairing the application to be detected, terminating the operation of the application to be detected, cleaning up the application to be detected, reinstalling the application to be detected program.

第三装置实施例Third device embodiment

所述云端数据库管理模块2,用于建立云端数据库1;The cloud database management module 2 is used to establish a cloud database 1;

所述云端数据库1,用于保存所收集的每个应用程序运行时所创建的参考主进程及配套的进程和/或全部动态链接库和/或服务;The cloud database 1 is used to save the collected reference main process and supporting processes and/or all dynamic link libraries and/or services created when each application is running;

所述终端配置列表维护模块4,用于维护终端配置列表3;The terminal configuration list maintenance module 4 is used to maintain the terminal configuration list 3;

所述终端配置列表3,还用于记录所述终端上安装的每个应用程序在运行时所创建的主进程以及所述主进程调用的进程和/或动态链接库和/或服务;The terminal configuration list 3 is also used to record the main process created by each application installed on the terminal during operation and the process and/or dynamic link library and/or service called by the main process;

所述比对分析模块5,还用于根据所述终端配置列表3提取待检测应用程序在运行时所创建的主进程以及所述主进程调用的进程和/或动态链接库和/或服务在云端数据库1中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上正确运行并反馈给所述终端。The comparison and analysis module 5 is also used to extract the main process created by the application program to be detected at runtime and the process and/or dynamic link library and/or service called by the main process according to the terminal configuration list 3. The comparison is performed in the cloud database 1, and according to the comparison result, it is determined whether the application program to be detected is running correctly on the terminal and fed back to the terminal.

所述终端配置列表维护模块4,在维护终端配置列表3时,进一步用于通过具有为指定的进程、进程使用的堆、模块、线程建立快照的功能的API函数获取每个应用程序在运行时所创建的主进程以及所述主进程调用的进程和/或动态链接库和/或服务。The terminal configuration list maintenance module 4, when maintaining the terminal configuration list 3, is further used to obtain each application program at runtime through an API function having the function of setting up a snapshot for the specified process, the heap, the module, and the thread used by the process. The created main process and the processes and/or dynamic link libraries and/or services invoked by the main process.

所述终端配置列表维护模块4,在维护终端配置列表3时,还用于在每个应用程序新增进程和/或新增配套进程和/或新增动态链接库和/或新增服务和/或删除进程时,在所述终端配置列表3中更新相应的记录。The terminal configuration list maintenance module 4, when maintaining the terminal configuration list 3, is also used to add a new process and/or a new supporting process and/or a new dynamic link library and/or a new service and /or when deleting a process, update a corresponding record in the terminal configuration list 3 .

所述比对分析模块5,根据比对结果判定所述待检测应用程序在所述终端上正确运行时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上正确运行;根据比对结果判定所述待检测应用程序在所述终端上没有正确运行时向所述终端发送的反馈,包括以下一项或多项的组合:提示所述待检测应用程序的非正确信息、修复所述待检测应用程序、终止所述待检测应用程序的运行、清理所述待检测应用程序、重新安装所述待检测应用程序。The comparison analysis module 5 determines the feedback sent to the terminal when the application program to be detected is running correctly on the terminal according to the comparison result, including: prompting that the application program to be detected is correct on the terminal Running; the feedback sent to the terminal when it is determined that the application program to be detected is not running correctly on the terminal according to the comparison result includes a combination of one or more of the following: prompting that the application program to be detected is not correct information, repair the application program to be detected, terminate the running of the application program to be detected, clean up the application program to be detected, and reinstall the application program to be detected.

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。It should be noted that, in the case of no conflict, the embodiments of the present invention and the features in the embodiments can be combined arbitrarily with each other.

当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。Certainly, the present invention also can have other multiple embodiments, without departing from the spirit and essence of the present invention, those skilled in the art can make various corresponding changes and deformations according to the present invention, but these corresponding changes All changes and modifications should belong to the scope of protection of the appended claims of the present invention.

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令、相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。Those of ordinary skill in the art can understand that all or part of the steps in the above method can be instructed by a program and completed by related hardware, and the program can be stored in a computer-readable storage medium, such as a read-only memory, a magnetic disk or an optical disk, and the like. Optionally, all or part of the steps in the foregoing embodiments may also be implemented using one or more integrated circuits. Correspondingly, each module/unit in the foregoing embodiments may be implemented in the form of hardware, or may be implemented in the form of software function modules. The present invention is not limited to any specific combination of hardware and software.

Claims (16)

1.一种检测应用程序的安装状态的方法,其特征在于,包括:1. A method for detecting the installation state of an application program, comprising: 建立云端数据库,其中保存有针对每个应用程序所收集的所有文件的参考特征码;Establish a cloud database, which saves the reference signatures of all files collected for each application; 维护终端配置列表,其中记录有所述终端上安装的每个应用程序的安装路径、根据所述安装路径获取的每个应用程序安装的全部文件以及每个文件的特征码;Maintaining a terminal configuration list, which records the installation path of each application program installed on the terminal, all files installed by each application program obtained according to the installation path, and the feature code of each file; 根据所述终端配置列表提取待检测应用程序的每个文件的特征码在云端数据库中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上被正确安装并反馈给所述终端。According to the terminal configuration list, the feature code of each file of the application to be detected is extracted and compared in the cloud database, and whether the application to be detected is correctly installed on the terminal is determined according to the comparison result and fed back to the terminal. described terminal. 2.如权利要求1所述的方法,其特征在于,2. The method of claim 1, wherein 所述特征码,为唯一标识所述文件及文件内容的特征码,包括以下一种或者多种的组合:经由信息摘要算法MD5运算得出的MD5验证码、安全哈希算法校验码和循环冗余校验码。The feature code is a feature code that uniquely identifies the file and file content, including one or more of the following combinations: MD5 verification code obtained through information digest algorithm MD5 operation, secure hash algorithm check code and loop Redundancy check code. 3.如权利要求1或2所述的方法,其特征在于,所述维护终端配置列表,还包括:3. The method according to claim 1 or 2, wherein the maintenance terminal configuration list further comprises: 在每个应用程序新增文件和/或删除文件和/或修改文件内容和/或修改文件存路径时,还在所述终端配置列表中更新相应的记录。When each application program adds files and/or deletes files and/or modifies file content and/or modifies file storage paths, the corresponding records are also updated in the terminal configuration list. 4.如权利要求1-3中任一项所述的方法,其特征在于,4. The method according to any one of claims 1-3, wherein 所述云端数据库中还保存有针对每个应用程序所收集的写入注册表项的参考键值;The cloud database also saves the reference key value of the registry entry collected for each application; 所述终端配置列表中还记录有所述终端上安装的每个应用程序所创建的注册表项的路径以及根据所述注册表项的路径获取的每个应用程序写入注册表项的键值;The terminal configuration list also records the path of the registry entry created by each application installed on the terminal and the key value of each application written to the registry entry obtained according to the path of the registry entry ; 还根据所述终端配置列表提取待检测应用程序的写入注册表项的键值在云端数据库中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上的注册表中被正确设置并反馈给所述终端。Also according to the terminal configuration list, extract the key value of the application program to be detected written into the registry item and compare it in the cloud database, and determine whether the application program to be detected is in the registration form on the terminal according to the comparison result is correctly set and fed back to the terminal. 5.如权利要求1-4中任一项所述的方法,其特征在于,所述维护终端配置列表,还包括:5. The method according to any one of claims 1-4, wherein the maintenance terminal configuration list further comprises: 在每个应用程序修改注册表项的路径和/或新增注册表项和/或删除注册表项和/或修改注册表项内容和/或修改系统注册表项内容时,还在所述终端配置列表中更新相应的记录。When each application modifies the path of the registry item and/or adds a new registry item and/or deletes the registry item and/or modifies the content of the registry item and/or modifies the content of the system registry item, the terminal The corresponding record is updated in the configuration list. 6.如权利要求1-5中任一项所述的方法,其特征在于,6. The method according to any one of claims 1-5, wherein 所述云端数据库中还保存有所收集的每个应用程序运行时所创建的参考主进程及配套的进程和/或全部动态链接库和/或服务;The collected reference main process and supporting processes and/or all dynamic link libraries and/or services created when each application program is running are also stored in the cloud database; 所述终端配置列表中还记录有所述终端上安装的每个应用程序在运行时所创建的主进程以及所述主进程调用的进程和/或动态链接库和/或服务;The terminal configuration list also records the main process created by each application program installed on the terminal when running, and the process and/or dynamic link library and/or service called by the main process; 根据所述终端配置列表提取待检测应用程序在运行时所创建的主进程以及所述主进程调用的进程和/或动态链接库和/或服务在云端数据库中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上正确运行并反馈给所述终端。According to the terminal configuration list, extract the main process created by the application to be detected at runtime and the process and/or dynamic link library and/or service called by the main process, compare them in the cloud database, and judge according to the comparison result Whether the application program to be checked is running correctly on the terminal is fed back to the terminal. 7.如权利要求1-6中任一项所述的方法,其特征在于,所述维护终端配置列表,还包括:7. The method according to any one of claims 1-6, wherein the maintenance terminal configuration list further comprises: 在每个应用程序新增进程和/或新增配套进程和/或新增动态链接库和/或新增服务和/或删除进程时,还在所述终端配置列表中更新相应的记录。When each application program adds a new process and/or adds a supporting process and/or adds a dynamic link library and/or adds a service and/or deletes a process, the corresponding record is also updated in the terminal configuration list. 8.如权利要求1-7中任一项所述的方法,其特征在于,8. The method according to any one of claims 1-7, wherein 根据比对结果判定所述待检测应用程序在所述终端上被正确安装时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上被正确安装;The feedback sent to the terminal when determining that the application to be detected is correctly installed on the terminal according to the comparison result includes: prompting that the application to be detected is correctly installed on the terminal; 根据比对结果判定所述待检测应用程序在所述终端上的注册表中被正确设置时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上的注册表中被正确设置;The feedback sent to the terminal when it is determined that the application to be detected is correctly set in the registry on the terminal according to the comparison result includes: prompting that the application to be detected is in the registry on the terminal is set correctly; 根据比对结果判定所述待检测应用程序在所述终端上正确运行时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上正确运行;According to the comparison result, the feedback sent to the terminal when the application program to be detected is determined to be running correctly on the terminal includes: prompting that the application program to be detected is running correctly on the terminal; 根据比对结果判定所述待检测应用程序在所述终端上没有被正确安装时和/或在所述终端上的注册表中没有被正确设置时和/或在所述终端上没有正确运行时,向所述终端发送的反馈,包括以下一项或多项的组合:提示所述待检测应用程序的非正确信息、提示修复所述待检测应用程序、提示终止所述待检测应用程序的运行、提示清理所述待检测应用程序、提示重新安装所述待检测应用程序。According to the comparison result, when it is determined that the application program to be detected is not correctly installed on the terminal and/or is not correctly set in the registry on the terminal and/or is not correctly running on the terminal , the feedback sent to the terminal includes a combination of one or more of the following: prompting incorrect information of the application to be detected, prompting to repair the application to be detected, prompting to terminate the operation of the application to be detected , prompting to clean up the application program to be detected, and prompting to reinstall the application program to be detected. 9.一种检测应用程序的安装状态的装置,其特征在于,包括:云端数据库、云端数据库管理模块、终端配置列表、终端配置列表维护模块和比对分析模块;9. A device for detecting the installation state of an application program, comprising: a cloud database, a cloud database management module, a terminal configuration list, a terminal configuration list maintenance module, and a comparison and analysis module; 所述云端数据库管理模块,用于建立云端数据库;The cloud database management module is used to establish a cloud database; 所述云端数据库,用于保存针对每个应用程序所收集的所有文件的参考特征码;The cloud database is used to save the reference signature codes of all files collected for each application program; 所述终端配置列表维护模块,用于维护终端配置列表;The terminal configuration list maintenance module is used to maintain the terminal configuration list; 所述终端配置列表,用于记录所述终端上安装的每个应用程序的安装路径、根据所述安装路径获取的每个应用程序安装的全部文件以及每个文件的特征码;The terminal configuration list is used to record the installation path of each application program installed on the terminal, all files installed by each application program obtained according to the installation path, and the feature code of each file; 所述比对分析模块,用于根据所述终端配置列表提取待检测应用程序的每个文件的特征码在云端数据库中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上被正确安装并反馈给所述终端。The comparison and analysis module is used to extract the feature code of each file of the application program to be detected according to the terminal configuration list and compare it in the cloud database, and determine whether the application program to be detected is in the The terminal is installed correctly and feeds back to the terminal. 10.如权利要求9所述的装置,其特征在于,10. The apparatus of claim 9, wherein 所述比对分析模块,所提取的所述特征码,为唯一标识所述文件及文件内容的特征码,包括以下一种或者多种的组合:经由信息摘要算法MD5运算得出的MD5验证码、安全哈希算法校验码和循环冗余校验码。The feature code extracted by the comparison and analysis module is a feature code that uniquely identifies the file and file content, including one or more of the following combinations: MD5 verification code obtained through the information digest algorithm MD5 operation , Secure Hash Algorithm Check Code and Cyclic Redundancy Check Code. 11.如权利要求9或10所述的装置,其特征在于,11. Apparatus as claimed in claim 9 or 10, characterized in that, 所述终端配置列表维护模块,在维护终端配置列表时,还用于在每个应用程序新增文件和/或删除文件和/或修改文件内容和/或修改文件存路径时,在所述终端配置列表中更新相应的记录。The terminal configuration list maintenance module, when maintaining the terminal configuration list, is also used for adding files and/or deleting files and/or modifying file content and/or modifying file storage paths in each application program, The corresponding record is updated in the configuration list. 12.如权利要求9-11中任一项所述的装置,其特征在于,12. The device according to any one of claims 9-11, characterized in that, 所述云端数据库,还用于保存针对每个应用程序所收集的写入注册表项的参考键值;The cloud database is also used to save the reference key value of the registry entry collected for each application; 所述终端配置列表,还用于记录所述终端上安装的每个应用程序所创建的注册表项的路径以及根据所述注册表项的路径获取的每个应用程序写入注册表项的键值;The terminal configuration list is also used to record the path of the registry item created by each application program installed on the terminal and the key written into the registry item by each application program obtained according to the path of the registry item value; 所述比对分析模块,还用于根据所述终端配置列表提取待检测应用程序的写入注册表项的键值在云端数据库中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上的注册表中被正确设置并反馈给所述终端。The comparison and analysis module is also used to extract the key value written in the registry entry of the application program to be detected according to the terminal configuration list and compare it in the cloud database, and determine whether the application program to be detected is based on the comparison result. It is correctly set in the registry on the terminal and fed back to the terminal. 13.如权利要求9-12中任一项所述的装置,其特征在于,13. The device according to any one of claims 9-12, wherein 所述终端配置列表维护模块,在维护终端配置列表时,还用于在每个应用程序修改注册表项的路径和/或新增注册表项和/或删除注册表项和/或修改注册表项内容和/或修改系统注册表项内容时,在所述终端配置列表中更新相应的记录。The terminal configuration list maintenance module is also used to modify the path of the registry item and/or add a new registry item and/or delete the registry item and/or modify the registry in each application program when maintaining the terminal configuration list When modifying the item content and/or modifying the system registry item content, the corresponding record is updated in the terminal configuration list. 14.如权利要求9-13中任一项所述的装置,其特征在于,14. The device according to any one of claims 9-13, wherein 所述云端数据库,还用于保存所收集的每个应用程序运行时所创建的参考主进程及配套的进程和/或全部动态链接库和/或服务;The cloud database is also used to save the collected reference main process and supporting processes and/or all dynamic link libraries and/or services created when each application is running; 所述终端配置列表,还用于记录所述终端上安装的每个应用程序在运行时所创建的主进程以及所述主进程调用的进程和/或动态链接库和/或服务;The terminal configuration list is also used to record the main process created by each application installed on the terminal during operation and the processes and/or dynamic link libraries and/or services invoked by the main process; 所述比对分析模块,还用于根据所述终端配置列表提取待检测应用程序在运行时所创建的主进程以及所述主进程调用的进程和/或动态链接库和/或服务在云端数据库中进行比对,根据比对结果判定所述待检测应用程序是否在所述终端上正确运行并反馈给所述终端。The comparison and analysis module is also used to extract the main process created by the application to be detected at runtime and the process and/or dynamic link library and/or service called by the main process according to the terminal configuration list in the cloud database comparison, and determine whether the application program to be detected is running correctly on the terminal according to the comparison result, and feed back to the terminal. 15.如权利要求9-14中任一项所述的装置,其特征在于,15. The device according to any one of claims 9-14, wherein 所述终端配置列表维护模块,在维护终端配置列表时,还用于在每个应用程序新增进程和/或新增配套进程和/或新增动态链接库和/或新增服务和/或删除进程时,在所述终端配置列表中更新相应的记录。The terminal configuration list maintenance module, when maintaining the terminal configuration list, is also used to add new processes and/or add supporting processes and/or add dynamic link libraries and/or add new services and/or When a process is deleted, a corresponding record is updated in the terminal configuration list. 16.如权利要求9-15中任一项所述的装置,其特征在于,16. The device according to any one of claims 9-15, wherein 所述比对分析模块,根据比对结果判定所述待检测应用程序在所述终端上被正确安装时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上被正确安装;The comparison and analysis module determines the feedback sent to the terminal when the application to be detected is correctly installed on the terminal according to the comparison result, including: prompting that the application to be detected is installed on the terminal Install correctly; 所述比对分析模块,根据比对结果判定所述待检测应用程序在所述终端上的注册表中被正确设置时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上的注册表中被正确设置;The comparison and analysis module determines the feedback sent to the terminal when the application to be detected is correctly set in the registry on the terminal according to the comparison result, including: prompting that the application to be detected is correctly set in the registration form on the terminal is correctly set in the registry on the above-mentioned terminal; 所述比对分析模块,根据比对结果判定所述待检测应用程序在所述终端上正确运行时向所述终端发送的反馈,包括:提示所述待检测应用程序在所述终端上正确运行;The comparison and analysis module determines the feedback sent to the terminal when the application to be detected runs correctly on the terminal according to the comparison result, including: prompting that the application to be detected runs correctly on the terminal ; 所述比对分析模块,根据比对结果判定所述待检测应用程序在所述终端上没有被正确安装时和/或在所述终端上的注册表中没有被正确设置时和/或在所述终端上没有正确运行时,向所述终端发送的反馈,包括以下一项或多项的组合:提示所述待检测应用程序的非正确信息、修复所述待检测应用程序、终止所述待检测应用程序的运行、清理所述待检测应用程序、重新安装所述待检测应用程序。The comparison and analysis module, according to the comparison result, determines that the application program to be detected is not correctly installed on the terminal and/or is not correctly set in the registry on the terminal and/or is not correctly installed on the terminal. When the terminal does not run correctly, the feedback sent to the terminal includes a combination of one or more of the following: prompting incorrect information of the application program to be detected, repairing the application program to be detected, terminating the application program to be detected Detecting the running of the application program, cleaning the application program to be detected, and reinstalling the application program to be detected.
CN201210215997.3A 2012-06-26 2012-06-26 A kind of method and device detecting the installment state of application program Active CN102736978B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210215997.3A CN102736978B (en) 2012-06-26 2012-06-26 A kind of method and device detecting the installment state of application program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210215997.3A CN102736978B (en) 2012-06-26 2012-06-26 A kind of method and device detecting the installment state of application program

Publications (2)

Publication Number Publication Date
CN102736978A true CN102736978A (en) 2012-10-17
CN102736978B CN102736978B (en) 2015-09-30

Family

ID=46992519

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210215997.3A Active CN102736978B (en) 2012-06-26 2012-06-26 A kind of method and device detecting the installment state of application program

Country Status (1)

Country Link
CN (1) CN102736978B (en)

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103001947A (en) * 2012-11-09 2013-03-27 北京奇虎科技有限公司 A program processing method and system
CN102999606A (en) * 2012-11-21 2013-03-27 东莞宇龙通信科技有限公司 Software deleting method and device
CN103067364A (en) * 2012-12-21 2013-04-24 华为技术有限公司 Virus detection method and equipment
CN103077353A (en) * 2013-01-24 2013-05-01 北京奇虎科技有限公司 Method and device for actively defending rogue program
CN103235730A (en) * 2013-04-27 2013-08-07 天津长瑞华通科技发展有限公司 Portable management device based on C/S (client/server) client software and implementation method of device
CN103473163A (en) * 2013-09-11 2013-12-25 腾讯科技(深圳)有限公司 Application program detection method and device
CN103645922A (en) * 2013-12-25 2014-03-19 北京奇虎科技有限公司 Software cleaning method based on cloud query
CN103701922A (en) * 2013-12-31 2014-04-02 曙光云计算技术有限公司 Deployment method and system for application safety of PAAS (platform-as-a-service) platform
CN103810105A (en) * 2014-03-06 2014-05-21 中国工商银行股份有限公司 Method and device for detecting application program version
WO2014079266A1 (en) * 2012-11-26 2014-05-30 北京奇虎科技有限公司 Security data processing method and system
CN104102539A (en) * 2013-04-09 2014-10-15 腾讯科技(深圳)有限公司 Method and device for acquiring underlying library called by mobile terminal application program
CN104113443A (en) * 2013-04-19 2014-10-22 中兴通讯股份有限公司 Network equipment detection method, device and cloud detection system
CN104219323A (en) * 2014-09-18 2014-12-17 深圳市中兴移动通信有限公司 Application downloading method and mobile terminal
CN104239215A (en) * 2014-09-30 2014-12-24 北京奇虎科技有限公司 Method and device for investigating useless software
CN104317699A (en) * 2014-07-24 2015-01-28 小米科技有限责任公司 Application program verifying method and device
CN104346206A (en) * 2014-10-30 2015-02-11 北京奇虎科技有限公司 Method and system for recovering installation of unloaded software
CN104932965A (en) * 2014-03-18 2015-09-23 北京奇虎科技有限公司 Object real-time monitoring method and device
CN105117644A (en) * 2015-08-26 2015-12-02 福建天晴数码有限公司 Method and system for acquiring Android plug-in program
CN105493470A (en) * 2013-08-28 2016-04-13 亚马逊科技公司 Dynamic application security verification
CN105487935A (en) * 2015-12-07 2016-04-13 中南大学 Active service acquiring method based on environment perception
CN105554096A (en) * 2015-12-11 2016-05-04 鹏博士电信传媒集团股份有限公司 Method and system for realizing cloud game cloud service
CN105631318A (en) * 2015-12-23 2016-06-01 北京金山安全软件有限公司 Method and device for acquiring registry key values
US9870215B2 (en) 2015-11-30 2018-01-16 International Business Machines Corporation Tracking an application installation state
CN107766212A (en) * 2017-11-30 2018-03-06 北京小米移动软件有限公司 Determine the method and device of the installment state of application program
CN107786527A (en) * 2016-08-31 2018-03-09 阿里巴巴集团控股有限公司 Realize the method and apparatus of service discovery
CN108563453A (en) * 2018-04-02 2018-09-21 郑州云海信息技术有限公司 A kind of recognition methods of application program installation and system
CN109376505A (en) * 2017-08-02 2019-02-22 武汉斗鱼网络科技有限公司 Guard method and device on a kind of andriod platform to so file
CN112527624A (en) * 2019-09-18 2021-03-19 财团法人工业技术研究院 Detection system, detection method, and update verification method executed using detection method
CN112910882A (en) * 2021-01-28 2021-06-04 山东有人物联网股份有限公司 Network management method, device, system and computer readable storage medium
CN113052641A (en) * 2021-04-21 2021-06-29 湖南快乐阳光互动娱乐传媒有限公司 Processing method and device of activity reward data, electronic equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560776B1 (en) * 2000-02-18 2003-05-06 Avaya Technology Corp. Software installation verification tool
CN1955971A (en) * 2005-10-27 2007-05-02 北京振戎融通通信技术有限公司 Safety installation method suitable for Java application program
CN101017435A (en) * 2006-04-14 2007-08-15 北京瑞星国际软件有限公司 Method and apparatus used for upgrading software
CN101789888A (en) * 2010-01-12 2010-07-28 腾讯科技(深圳)有限公司 Detection method and device for software installation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560776B1 (en) * 2000-02-18 2003-05-06 Avaya Technology Corp. Software installation verification tool
CN1955971A (en) * 2005-10-27 2007-05-02 北京振戎融通通信技术有限公司 Safety installation method suitable for Java application program
CN101017435A (en) * 2006-04-14 2007-08-15 北京瑞星国际软件有限公司 Method and apparatus used for upgrading software
CN101789888A (en) * 2010-01-12 2010-07-28 腾讯科技(深圳)有限公司 Detection method and device for software installation

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103001947B (en) * 2012-11-09 2015-09-30 北京奇虎科技有限公司 A kind of program processing method and system
CN103001947A (en) * 2012-11-09 2013-03-27 北京奇虎科技有限公司 A program processing method and system
CN102999606A (en) * 2012-11-21 2013-03-27 东莞宇龙通信科技有限公司 Software deleting method and device
CN102999606B (en) * 2012-11-21 2015-12-23 东莞宇龙通信科技有限公司 software deleting method and device
WO2014079266A1 (en) * 2012-11-26 2014-05-30 北京奇虎科技有限公司 Security data processing method and system
CN103067364B (en) * 2012-12-21 2015-11-25 华为技术有限公司 Method for detecting virus and equipment
US9723021B2 (en) 2012-12-21 2017-08-01 Huawei Technologies Co., Ltd. Virus detecting method and device
CN103067364A (en) * 2012-12-21 2013-04-24 华为技术有限公司 Virus detection method and equipment
CN103077353B (en) * 2013-01-24 2015-12-02 北京奇虎科技有限公司 The method and apparatus of Initiative Defense rogue program
CN103077353A (en) * 2013-01-24 2013-05-01 北京奇虎科技有限公司 Method and device for actively defending rogue program
CN104102539A (en) * 2013-04-09 2014-10-15 腾讯科技(深圳)有限公司 Method and device for acquiring underlying library called by mobile terminal application program
CN104102539B (en) * 2013-04-09 2019-06-28 腾讯科技(深圳)有限公司 Obtain the method and device in the bottom library that application program for mobile terminal calls
US10063412B2 (en) 2013-04-19 2018-08-28 Zte Corporation Network device detecting method and apparatus, and cloud detection system
CN104113443A (en) * 2013-04-19 2014-10-22 中兴通讯股份有限公司 Network equipment detection method, device and cloud detection system
CN104113443B (en) * 2013-04-19 2018-10-02 南京中兴新软件有限责任公司 A kind of network device detection methods, device and cloud detection system
CN103235730A (en) * 2013-04-27 2013-08-07 天津长瑞华通科技发展有限公司 Portable management device based on C/S (client/server) client software and implementation method of device
CN105493470A (en) * 2013-08-28 2016-04-13 亚马逊科技公司 Dynamic application security verification
CN105493470B (en) * 2013-08-28 2019-08-06 亚马逊科技公司 The system and method for dynamic application safety verification
CN103473163B (en) * 2013-09-11 2016-10-26 腾讯科技(深圳)有限公司 application program detection method and device
CN103473163A (en) * 2013-09-11 2013-12-25 腾讯科技(深圳)有限公司 Application program detection method and device
CN103645922A (en) * 2013-12-25 2014-03-19 北京奇虎科技有限公司 Software cleaning method based on cloud query
CN103701922A (en) * 2013-12-31 2014-04-02 曙光云计算技术有限公司 Deployment method and system for application safety of PAAS (platform-as-a-service) platform
CN103701922B (en) * 2013-12-31 2017-06-06 曙光云计算技术有限公司 The method and system of the application security deployment of PAAS platforms
CN103810105A (en) * 2014-03-06 2014-05-21 中国工商银行股份有限公司 Method and device for detecting application program version
CN103810105B (en) * 2014-03-06 2016-08-31 中国工商银行股份有限公司 application version detection method and device
CN104932965A (en) * 2014-03-18 2015-09-23 北京奇虎科技有限公司 Object real-time monitoring method and device
CN104932965B (en) * 2014-03-18 2019-05-28 北京奇虎科技有限公司 Object method for real-time monitoring and device
CN104317699A (en) * 2014-07-24 2015-01-28 小米科技有限责任公司 Application program verifying method and device
CN104219323A (en) * 2014-09-18 2014-12-17 深圳市中兴移动通信有限公司 Application downloading method and mobile terminal
CN104239215A (en) * 2014-09-30 2014-12-24 北京奇虎科技有限公司 Method and device for investigating useless software
CN104239215B (en) * 2014-09-30 2018-02-02 北京奇虎科技有限公司 The investigation method and apparatus of garbageware
CN104346206B (en) * 2014-10-30 2018-06-01 北京奇虎科技有限公司 A kind of method and system of unloaded software rejuvenation installation
CN104346206A (en) * 2014-10-30 2015-02-11 北京奇虎科技有限公司 Method and system for recovering installation of unloaded software
CN105117644B (en) * 2015-08-26 2018-08-28 福建天晴数码有限公司 Acquire Android plug-in program method and system
CN105117644A (en) * 2015-08-26 2015-12-02 福建天晴数码有限公司 Method and system for acquiring Android plug-in program
US9870215B2 (en) 2015-11-30 2018-01-16 International Business Machines Corporation Tracking an application installation state
US10078506B2 (en) 2015-11-30 2018-09-18 International Business Machines Corporation Tracking an application installation state
CN105487935A (en) * 2015-12-07 2016-04-13 中南大学 Active service acquiring method based on environment perception
CN105554096A (en) * 2015-12-11 2016-05-04 鹏博士电信传媒集团股份有限公司 Method and system for realizing cloud game cloud service
CN105631318A (en) * 2015-12-23 2016-06-01 北京金山安全软件有限公司 Method and device for acquiring registry key values
CN105631318B (en) * 2015-12-23 2019-04-05 珠海豹趣科技有限公司 A kind of acquisition methods and device of registration table key assignments
CN107786527B (en) * 2016-08-31 2021-11-05 阿里巴巴集团控股有限公司 Method and equipment for realizing service discovery
CN107786527A (en) * 2016-08-31 2018-03-09 阿里巴巴集团控股有限公司 Realize the method and apparatus of service discovery
CN109376505A (en) * 2017-08-02 2019-02-22 武汉斗鱼网络科技有限公司 Guard method and device on a kind of andriod platform to so file
CN107766212A (en) * 2017-11-30 2018-03-06 北京小米移动软件有限公司 Determine the method and device of the installment state of application program
CN108563453A (en) * 2018-04-02 2018-09-21 郑州云海信息技术有限公司 A kind of recognition methods of application program installation and system
CN112527624A (en) * 2019-09-18 2021-03-19 财团法人工业技术研究院 Detection system, detection method, and update verification method executed using detection method
US12086249B2 (en) 2019-09-18 2024-09-10 Industrial Technology Research Institute Detection system, detection method, and an update verification method performed by using the detection method
CN112910882A (en) * 2021-01-28 2021-06-04 山东有人物联网股份有限公司 Network management method, device, system and computer readable storage medium
CN113052641A (en) * 2021-04-21 2021-06-29 湖南快乐阳光互动娱乐传媒有限公司 Processing method and device of activity reward data, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN102736978B (en) 2015-09-30

Similar Documents

Publication Publication Date Title
CN102736978B (en) A kind of method and device detecting the installment state of application program
US9910743B2 (en) Method, system and device for validating repair files and repairing corrupt software
CN105637479B (en) Method for modifying computer program, computer system and computer readable medium
CN104200161B (en) Method for achieving intelligent sandbox file detection and intelligent sandbox detection system based on method
US7272748B1 (en) Method and apparatus to detect and recover from a stack frame corruption
CN106951345B (en) Consistency test method and device for disk data of virtual machine
CN107437029A (en) Leak restorative procedure, leak prosthetic device and server
US20080148399A1 (en) Protection against stack buffer overrun exploitation
WO2014000613A1 (en) System repair method and device, and storage medium
CN107783776B (en) Method and device for processing firmware upgrade package, and electronic device
CN101788915A (en) White list updating method based on trusted process tree
US9606905B2 (en) Systems, methods, and media for testing software patches
CN104978532B (en) A kind of bug-fixing client logic testing method and bug-fixing client logic testing system
CN108197476B (en) A kind of vulnerability detection method and device for intelligent terminal equipment
Talebi et al. Undo workarounds for kernel bugs
WO2022156277A1 (en) Application program installation method and apparatus, and computing device and readable storage medium
CN112099880A (en) Scenario-driven application reduction method and system
Kröll et al. ARIstoteles–dissecting apple’s baseband interface
CN106708550B (en) Method and device for loading shared object library
CN112579330B (en) Methods, devices and equipment for processing abnormal data in operating systems
CN110363011B (en) Method and apparatus for verifying security of UEFI-based BIOS
KR102425474B1 (en) BinTyper: Type confusion detection without source code
CN110096888B (en) A method and system for speeding up verification and analysis of SMM security risks
US9122551B2 (en) Methods and systems for generating read-only operating systems
US20240281361A1 (en) Bintyper: type confusion bug detection for c++ program binaries

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: QIZHI SOFTWARE (BEIJING) CO., LTD.

Effective date: 20120910

Owner name: BEIJING QIHU TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: QIZHI SOFTWARE (BEIJING) CO., LTD.

Effective date: 20120910

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100016 CHAOYANG, BEIJING TO: 100088 XICHENG, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20120910

Address after: 100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park)

Applicant after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Applicant after: Qizhi software (Beijing) Co.,Ltd.

Address before: The 4 layer 100016 unit of Beijing city Chaoyang District Jiuxianqiao Road No. 14 Building C

Applicant before: Qizhi software (Beijing) Co.,Ltd.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220720

Address after: 300450 No. 9-3-401, No. 39, Gaoxin 6th Road, Binhai Science Park, Binhai New Area, Tianjin

Patentee after: 3600 Technology Group Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230703

Address after: 1765, floor 17, floor 15, building 3, No. 10 Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: Beijing Hongxiang Technical Service Co.,Ltd.

Address before: 300450 No. 9-3-401, No. 39, Gaoxin 6th Road, Binhai Science Park, Binhai New Area, Tianjin

Patentee before: 3600 Technology Group Co.,Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 1765, floor 17, floor 15, building 3, No. 10 Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: Beijing 360 Zhiling Technology Co.,Ltd.

Country or region after: China

Address before: 1765, floor 17, floor 15, building 3, No. 10 Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee before: Beijing Hongxiang Technical Service Co.,Ltd.

Country or region before: China