WO2016086782A1 - Method and device for uninstalling crack application program - Google Patents

Method and device for uninstalling crack application program Download PDF

Info

Publication number
WO2016086782A1
WO2016086782A1 PCT/CN2015/095575 CN2015095575W WO2016086782A1 WO 2016086782 A1 WO2016086782 A1 WO 2016086782A1 CN 2015095575 W CN2015095575 W CN 2015095575W WO 2016086782 A1 WO2016086782 A1 WO 2016086782A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
cracked
layer
version
deleted
Prior art date
Application number
PCT/CN2015/095575
Other languages
French (fr)
Chinese (zh)
Inventor
陈杰
Original Assignee
北京奇虎科技有限公司
奇智软件(北京)有限公司
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 北京奇虎科技有限公司, 奇智软件(北京)有限公司 filed Critical 北京奇虎科技有限公司
Publication of WO2016086782A1 publication Critical patent/WO2016086782A1/en

Links

Images

Classifications

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

Definitions

  • the present invention relates to the field of mobile terminal technologies, and in particular, to a method and an apparatus for uninstalling a cracked version application.
  • the Apple Store App Store On the iPhone, you can download and install the application (software) from two ways. One is the Apple Store App Store, and the other is the jailbroken store Cydia. If the downloaded software needs to be deleted, you can press and hold the icon and other icons to start shaking. Then click on the fork in the upper right corner to uninstall it; the latter can't download it in this way. After long pressing the icon to start shaking, the fork will not be displayed in the upper right corner. This is because the jailbreak software is mostly not like the Apple Store. The software is installed in the Applications directory of the mobile user. Most of them are installed in the Applications and other directories in the root directory. The native Apple system does not support such deletion. The jailbreak software can only be deleted in Cydia, or it can be deleted by running the delete command directly in the shell environment on the iPhone.
  • the Applications folder of the root directory can be scanned, and then the jailbroken software is deleted by deleting the files.
  • this method mainly has the following shortcomings.
  • the user operation is not intuitive, and can not be directly deleted like the program that deletes the AppStore. It is deleted by matching the application name.
  • the deletion is not complete, the program in Cydia is not the same as the installation files under the application under the root directory, and some even go to the system application folder to install the file. If you do not completely delete it by deleting it, then you can't complete the cleanup with Cydia.
  • the present invention has been made in order to provide a method and apparatus for uninstalling a cracked version of an application that overcomes the above problems or at least partially solves the above problems.
  • a method for uninstalling a cracked version application includes a system framework layer and an application layer, and the method includes: when the user clicks delete After the program is operated, the system framework layer calls a cracked version application determining function preset by the application layer; the cracked version application determining function determines whether the application to be deleted is a cracked version of the cracked version of the application, and if so, Feedback to the system framework layer, wherein the cracked version application refers to a third-party application that can be installed under the native operating system and can be installed after performing an elevated operation on the native operating system; the system framework layer calls The application layer pre-sets an application uninstall function, and the cracked version application uninstall function starts a process of deleting the application-related file, and implements uninstallation of the cracked version of the application.
  • the method further includes: setting an application identifier set in the application layer in advance; determining whether the to-be-deleted application is a cracked version application comprises: determining whether the to-be-deleted application identifier is included in the cracked version In the application identification collection, if yes, it is determined that the application to be deleted is a cracked application.
  • the method further includes: obtaining, in the application layer, a file installation address and/or a directory of the cracked application in advance; and determining whether the application to be deleted is a cracked application comprises: determining whether the application to be deleted is installed In the file installation address and/or directory of the cracked version application, if yes, it is determined that the application to be deleted is a cracked version application.
  • the system framework layer invoking the application layer pre-set application determining function includes: the system framework layer adopts a hook mechanism, and calls a canUninstallIcon method of a hook SBIconController class preset in the application layer, Implementing the functionality of the application judgment function.
  • the system framework layer invoking the application uninstallation function preset by the application layer includes: the system framework layer adopts a hook mechanism, and invokes an iconCloseBoxTapped method of a hook SBIconController class preset in the application layer, Implement the functionality of the application uninstall function.
  • the uninstalling the application comprises: executing a dpkg command or an rm command to delete the cracked application related file.
  • the method further includes: executing a killall command, deleting all cache processes related to the application, so that the uninstalling takes effect immediately.
  • the user clicking to delete the application operation comprises: the user pressing and holding the long time to delete
  • the method further includes: the system framework layer executing a delete icon display command, and displaying, on the application to be deleted, an icon for the user to perform the delete operation.
  • the system framework layer before the system framework layer invokes the cracked version uninstall function preset by the application layer, the system framework layer further determines that the user has clicked the icon for the user to perform the delete operation.
  • the operating system refers to an iOS operating system
  • the performing the enhanced permission operation refers to obtaining the read/write permission to the file system by means of jailbreaking; or the operating system refers to the android system, and the executing increases the permission.
  • Operation refers to the super administrator permission obtained by root.
  • an apparatus for uninstalling a cracked version of an application comprising a system framework layer and an application layer
  • the apparatus comprising: a cracked version determining function calling unit, configured to delete by a user After the application is operated, the system framework layer calls the cracked version application determining function preset by the application layer; the cracked version application determining unit is configured to determine whether the application to be deleted is a cracked version application, and if so, feedback
  • the system framework layer wherein the cracked version application refers to a third-party application that cannot be installed under a native operating system and can be installed after performing an elevated operation operation on a native operating system; and an application uninstallation execution unit for utilizing
  • the system framework layer invokes a cracked version application uninstall function preset by the application layer, and the cracked version application uninstall function starts a process of deleting the application related file, and implements uninstalling the cracked version application.
  • the device further includes: a cracked version application identifier collection unit, configured to set a cracked version of the application identifier set in the application layer in advance; the cracked version application determining unit is specifically configured to: the application layer determines the to-be-deleted Whether the application identifier is included in the cracked application identifier set, and if so, it is determined that the application to be deleted is a cracked application.
  • a cracked version application identifier collection unit configured to set a cracked version of the application identifier set in the application layer in advance
  • the cracked version application determining unit is specifically configured to: the application layer determines the to-be-deleted Whether the application identifier is included in the cracked application identifier set, and if so, it is determined that the application to be deleted is a cracked application.
  • the device further includes: a cracked version application installation obtaining unit, configured to obtain a file installation address and/or a directory of the cracked version application in the application layer in advance; the cracked version application determining unit is specifically configured to: determine to be Delete whether the application is installed in the file installation address and/or directory of the cracked application, and if so, it is determined that the application to be deleted is a cracked application.
  • a cracked version application installation obtaining unit configured to obtain a file installation address and/or a directory of the cracked version application in the application layer in advance
  • the cracked version application determining unit is specifically configured to: determine to be Delete whether the application is installed in the file installation address and/or directory of the cracked application, and if so, it is determined that the application to be deleted is a cracked application.
  • the cracked version determining function calling unit is specifically configured to: adopt the system framework layer
  • the hook mechanism calls the canUninstallIcon method of the hook SBIconController class preset in the application layer to implement the function of the cracked version application judgment function.
  • the application uninstallation execution unit is specifically configured to: the system framework layer adopts a hook mechanism, and invokes an iconCloseBoxTapped method of a hook SBIconController class preset in the application layer to implement the cracked version application uninstall function.
  • the system framework layer adopts a hook mechanism, and invokes an iconCloseBoxTapped method of a hook SBIconController class preset in the application layer to implement the cracked version application uninstall function.
  • the application uninstallation execution unit is specifically configured to: execute a dpkg command or an rm command to delete the cracked application related file.
  • the uninstall application uninstallation execution unit is specifically configured to execute a killall command to delete all cache processes related to the cracked application, so that the uninstallation takes effect immediately.
  • the user clicking the delete application operation comprises: the user pressing the application to be deleted for a long time; the cracked version application determining unit is further configured to: execute the delete icon display command in the system framework layer, and the application to be deleted An icon for the user to perform the delete operation is displayed.
  • the application uninstallation execution unit is further configured to: the system framework layer determines that the user has clicked the icon for the user to perform the delete operation.
  • the operating system refers to an iOS operating system
  • the performing the enhanced permission operation refers to obtaining the read/write permission to the file system by means of jailbreaking; or the operating system refers to the android system, and the executing increases the permission.
  • Operation refers to the super administrator permission obtained by root.
  • a computer program comprising computer readable code that, when run on a computing device, causes the computing device to perform the method of uninstalling the cracked version of the application described above.
  • a computer readable medium storing the above computer program is provided.
  • the present invention sets the cracked version application judgment function and the application uninstall function.
  • the cracked version application judgment function determines that the application to be uninstalled is a cracked application
  • the application to be deleted can be displayed on the terminal.
  • the icon of the fork is convenient for the user to perform the delete operation.
  • the present invention is more flexible than the deb uninstall script mode, because the function can customize the code, such as performing a networked operation or playing a box to uninstall the questionnaire, and the deb uninstall script can only execute shell commands, which is relatively limited.
  • FIG. 1 shows a flow chart of a method for uninstalling a cracked version of an application in accordance with one embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of an apparatus for uninstalling a cracked version application according to an embodiment of the present invention
  • FIG. 3 is a block diagram schematically showing a computing device for performing a method of uninstalling a cracked version of an application according to the present invention
  • Fig. 4 schematically shows a storage unit for holding or carrying program code implementing a method of uninstalling a cracked version of an application according to the present invention.
  • the prior art deletes the jailbroken software by scanning the Applications folder of the root directory and deleting the files. This method is not intuitive and deletes the user operation. Except for incomplete defects.
  • the technical problem to be solved by the present invention is that the software installed from Cydia can be deleted by long-shocking, and the operation experience is no different from the software on the AppStore.
  • the inventor of the present invention found in the research process that by setting the cracked version application judgment function and the cracked version application uninstall function, when the cracked version application judgment function determines that the application to be uninstalled is a cracked application, The icon to be deleted can be displayed on the terminal to display the icon to be forked, so that the user can perform the deletion operation.
  • the user executes the delete command on the cracked version application the application related file and process are completely deleted by cracking the application uninstall function. .
  • the operating system includes an application layer (app layer) and a system framework layer (framework layer), and other layers that may be included from the functional division are not discussed in the present invention.
  • the app layer can be understood as the upper layer, which is responsible for interacting with the user, such as application maintenance, and identifying different kinds of click content when the page is clicked to display different context menus.
  • the framework layer acts as the middle layer. The main responsibility of this layer is to forward the user requests obtained by the app layer, such as launching the application, clicking the link, clicking to save the image, etc., and forwarding it to the lower layer; Or distribute it to the upper layer through a message or through an intermediate proxy class to present it to the user.
  • a preferred implementation of the present invention is to improve the app layer and the framework layer, thereby utilizing the synergy of the two layers to implement the uninstallation of the cracked version of the application.
  • the framework layer calls the app layer through the interface at some time, and uses the cracked version of the application layer pre-set by the app layer to determine the function and the application uninstall function, thereby implementing the uninstallation of the cracked version of the application.
  • FIG. 1 is a flowchart of a method for uninstalling a cracked version application according to an embodiment of the present invention, including:
  • the above "user click delete application operation” means that the user presses and holds the application to be deleted for a long time. For example, if a user wants to delete a piece of software, he will hold down the software icon for a long time.
  • the cracked version application determining function determines whether the application to be deleted is a cracked version of the application, and if so, feeds back to the system framework layer.
  • the cracked version of the application identifier set is set in advance at the application layer; when it is determined whether the application to be deleted is a cracked application, the application layer determines whether the application identifier to be deleted is included in the cracked application identifier set, If yes, it is determined that the application to be deleted is a cracked version of the application.
  • the file installation address and/or directory of the cracked version application is obtained in advance at the application layer; when it is determined whether the application to be deleted is a cracked version application, the application layer determines whether the application to be deleted is installed in the cracked version. The file installation address and / or directory of the version of the application, if it is, then determine that the application to be deleted is a cracked version of the application.
  • the method further includes: the system framework layer executing a delete icon display command, and displaying, on the application to be deleted, a delete icon for the user to perform the delete operation.
  • delete icon refers to the "fork" displayed on the application to be deleted, which is convenient for the user to click to perform the delete operation.
  • S103 The system framework layer calls the cracked version application uninstall function preset by the application layer, and the cracked version application uninstall function starts the process of deleting the application related file, and implements the uninstallation of the cracked version application.
  • the system framework layer further determines that the user has clicked an icon for the user to perform the delete operation. For example, if the user clicks on the "fork" on the application to be deleted, the system framework layer determines that the user has executed the command to delete the application, and then invokes the cracked application uninstall function to uninstall.
  • the solution of the present invention is a function for managing a cracked version of the application implemented in the management software of the mobile terminal.
  • the mobile guard software in order to implement the uninstallation of the cracked version of the mobile phone by the mobile guard software, the mobile guard software needs to preset the identification set of the cracked version of the managed application; and, pre-set the cracked application judgment function and The cracked version of the application uninstall function allows the application to be evaluated and unloaded when the user performs a delete operation on the application.
  • iOS system is a closed source system, not open source. User permissions are very low, through the "cracked version" to open the closed door of the system, remove the restrictions of the iOS system, you can freely modify the system files, install plug-ins, and install some extensions that are not in the App Store (app store) Use the program, which is to get the super privilege of the iOS system. For example, installing software other than the App Store, replacing the theme of the theme, running the shell program, and even unlocking the operator's restrictions on the terminal network (commonly known as "unlocking").
  • the embodiment of the present invention is preferably performed under the condition that the iOS system super authority is acquired.
  • the "cracked version application” (also referred to as “cracked version application” and “cracked version software”) in the present invention refers to a system that cannot be installed under the native operating system and can be installed after performing an elevated operation on the native operating system.
  • Third-party applications for example, in the iOS system, refer to third-party applications that are unofficially certified under operating system permissions.
  • the embodiment of the present invention can also be applied to other operating systems.
  • the android system then the "cracked version of the application” refers to the application installed under the super administrator authority obtained by the root means.
  • the above framework layer calls the cracked version application judgment function and the application uninstall function in the app layer, and can be implemented by a hook (hook or hook) mechanism.
  • the hook mechanism allows interception of processing messages or specific events.
  • a hook is actually a program segment that processes a message and hooks it into the system through a system call.
  • the hook program first captures the message before it reaches the destination window, that is, the hook function first gains control.
  • the hook function can process (change) the message, or continue to deliver the message without processing, and can also force the end of the message.
  • the hook mechanism is used to intervene to delete the application process, and the judgment and uninstall operation of the cracked version application is implemented. It can also be understood that, by using the hook mechanism, the class responsible for managing the cracked application in the app layer is called through the interface between the app layer and the framework layer.
  • the framework layer uses the hook mechanism to call the canUninstallIcon method of the hook SBIconController class preset in the app layer to implement the function of the cracked version of the application judgment function.
  • the app layer uses the canUninstallIcon method of the Hook SBIconController class to determine whether the bundle id of the cracked program returns "YES" to the framework layer, indicating that the delete icon can be displayed.
  • the performance of the terminal is that the user long presses the application to be deleted. Icon when This cracked version of the application can directly display a "fork”.
  • the framework layer uses the hook mechanism to call the iconCloseBoxTapped method of the hook SBIconController class preset in the app layer to implement the function of the cracked version of the application uninstall function.
  • the way of the command deletes or unloads all of its own files you can call the dpkg-P package name command or use the rm command to delete all files in the cracked version of the software, such as the command "rm-rf/Applications/360safe.app". And after completion, restart or close the hook. This means that the software to be uninstalled has been deleted, and then the existing cache process is killed, and the killall process name is used to close, so that the uninstallation takes effect immediately.
  • the following is a sample program code that implements the cracked version of the application judgment function and the cracked version of the application uninstall function.
  • the present invention sets the cracked version application judgment function and the crack version application uninstall function, and when the cracked version application judgment function determines that the application to be uninstalled is the cracked application, the application to be deleted can be displayed on the terminal.
  • the icon to be forked is convenient for the user to perform the delete operation.
  • the present invention is more flexible than the deb uninstall script mode, because the function can customize the code, such as performing a networked operation or playing a box to uninstall the questionnaire, and the deb uninstall script can only execute shell commands, which is relatively limited.
  • the present invention also provides an apparatus for uninstalling a cracked version of an application.
  • the device can be implemented by hardware, software or a combination of software and hardware.
  • the device may refer to a functional module inside the terminal, or may refer to the terminal itself, as long as the terminal includes a function of implementing the device.
  • FIG. 2 illustrates an apparatus for uninstalling a cracked version of an application, the apparatus comprising:
  • the cracking version determining function invoking unit 201 is configured to: after the user clicks the delete application operation, the system framework layer calls the cracked version application determining function preset by the application layer;
  • the cracked version application determining unit 202 is configured to determine whether the application to be deleted is a cracked version application, and if so, feedback to the system framework layer;
  • the application uninstallation execution unit 203 is configured to use the system framework layer to invoke a cracked version application uninstall function preset by the application layer to uninstall the cracked version application.
  • the device further includes: a cracked version application identifier collection unit 204, configured to pre- The application layer sets a cracked version of the application identifier set; the cracked version application determining unit 202 is specifically configured to: determine, by the application layer, whether the to-be-deleted application identifier is included in the cracked version of the application identifier set, and if so, Make sure the application to be deleted is a cracked version of the application.
  • a cracked version application identifier collection unit 204 configured to pre- The application layer sets a cracked version of the application identifier set
  • the cracked version application determining unit 202 is specifically configured to: determine, by the application layer, whether the to-be-deleted application identifier is included in the cracked version of the application identifier set, and if so, Make sure the application to be deleted is a cracked version of the application.
  • the device further includes: a cracked version application installation obtaining unit 205, configured to obtain a file installation address and/or a directory of the cracked version application in advance at the application layer; the cracked version application determining unit is specifically configured to: determine Whether the application to be deleted is installed in the file installation address and/or directory of the cracked version application, and if so, it is determined that the application to be deleted is a cracked version application.
  • a cracked version application installation obtaining unit 205 configured to obtain a file installation address and/or a directory of the cracked version application in advance at the application layer
  • the cracked version application determining unit is specifically configured to: determine Whether the application to be deleted is installed in the file installation address and/or directory of the cracked version application, and if so, it is determined that the application to be deleted is a cracked version application.
  • the cracked version determining function invoking unit 201 is specifically configured to: the system framework layer adopts a hook mechanism, and invokes a canUninstallIcon method of a hook SBIconController class preset in the application layer to implement the cracked version application. Determine the function of the function.
  • the application uninstallation execution unit 203 is specifically configured to: the system framework layer adopts a hook mechanism, and invokes an iconCloseBoxTapped method of a hook SBIconController class preset in the application layer to implement the cracked version application uninstall function. The function.
  • the application uninstallation execution unit 203 is specifically configured to: execute a dpkg command or an rm command to delete the cracked application related file.
  • the application uninstallation execution unit 203 is specifically configured to execute a killall command to delete all cache processes related to the cracked application, so that the uninstallation takes effect immediately.
  • the user clicking the delete application operation comprises: the user pressing the application to be deleted for a long time; the cracked version application determining unit is further configured to: execute the delete icon display command in the system framework layer, and the application to be deleted An icon for the user to perform the delete operation is displayed.
  • the application uninstall execution unit 203 is further configured to: the system framework layer determines that the user has clicked the icon for the user to perform the delete operation.
  • the operating system refers to an iOS operating system
  • the device pre-selects the super-rights of the iOS operating system.
  • modules in the devices of the embodiments can be adaptively changed and placed in one or more devices different from the embodiment.
  • the modules or units or components of the embodiments may be combined into one module or unit or component, and further they may be divided into a plurality of sub-modules or sub-units or sub-components.
  • any combination of the features disclosed in the specification, including the accompanying claims, the abstract and the drawings, and any methods so disclosed, or All processes or units of the device are combined.
  • Each feature disclosed in this specification (including the accompanying claims, the abstract and the drawings) may be replaced by alternative features that provide the same, equivalent or similar purpose.
  • the various component embodiments of the present invention may be implemented in hardware, or in a software module running on one or more processors, or in a combination thereof.
  • Those skilled in the art should It is understood that some or all of the functionality of some or all of the means for uninstalling the cracked version of the application in accordance with embodiments of the present invention may be implemented in practice using a microprocessor or digital signal processor (DSP).
  • DSP digital signal processor
  • the invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein.
  • Such a program implementing the invention may be stored on a computer readable medium or may be in the form of one or more signals. Such signals may be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
  • Figure 3 illustrates a computing device that can implement a method of uninstalling a cracked version of an application in accordance with the present invention.
  • the computing device conventionally includes a processor 310 and a computer program product or computer readable medium in the form of a memory 320.
  • the memory 320 may be an electronic memory such as a flash memory, an EEPROM (Electrically Erasable Programmable Read Only Memory), an EPROM, a hard disk, or a ROM.
  • the memory 320 has a storage space 330 that stores program code 331 for performing any of the method steps described above.
  • storage space 330 storing program code may include various program code 331 for implementing various steps in the above methods, respectively.
  • the program code can be read from or written to one or more computer program products.
  • These computer program products include program code carriers such as a hard disk, a compact disk (CD), a memory card, or a floppy disk.
  • Such computer program products are typically portable or fixed storage units such as those shown in FIG.
  • the storage unit may have storage segments, storage spaces, and the like that are similarly arranged to memory 320 in the computing device of FIG.
  • the program code can be compressed, for example, in an appropriate form.
  • the storage unit comprises computer readable code 331' for performing the steps of the method according to the invention, ie code that can be read by a processor such as 310, which when executed by the computing device causes the computing device Perform the various steps in the method described above.

Abstract

Disclosed are a method and a device for uninstalling a crack application program. The method comprises: (S101) when a user clicks an operation of deleting an application program, a system framework layer invokes a crack application program determining function preset in an application program layer; (S102) the crack application program determining function determines whether the to-be-deleted application program is a crack application program, and if yes, feeds back to the system framework layer, the crack application program referring to a third-party application program that cannot be installed in a native operating system and can be installed after an authorization operation is improved for the native operating system; and (S103) the system framework layer invokes a crack application program uninstallation function preset in the application program layer, and the crack application program uninstallation function starts a process of deleting a file related to the application program, to uninstall the crack application program. As can be seen, by setting a crack application program determining function and a crack application program uninstallation function, a crack application program can be conveniently and completely deleted.

Description

卸载破解版应用程序的方法及装置Method and device for uninstalling cracked application 技术领域Technical field
本发明涉及移动终端技术领域,具体涉及一种卸载破解版应用程序的方法及装置。The present invention relates to the field of mobile terminal technologies, and in particular, to a method and an apparatus for uninstalling a cracked version application.
背景技术Background technique
在iPhone上可以从两种途径下载安装应用程序(软件),一种是苹果商店App Store,一种是越狱商店Cydia;前者下载后的软件如果需要删除,可以长按住图标等图标开始抖动,然后点击右上角的叉,就可以卸载了;后者则无法通过这种途径进行下载,长按图标开始抖动后,右上角不会显示叉,这是因为越狱的软件大都不会像苹果商店里的软件一样,安装在mobile用户的Applications目录下,它们大多安装在根目录的Applications以及其他目录下,原生的苹果系统并不支持这样的删除。越狱软件只能在Cydia中删除,或者是在iPhone上的shell环境下直接运行删除命令删除。On the iPhone, you can download and install the application (software) from two ways. One is the Apple Store App Store, and the other is the jailbroken store Cydia. If the downloaded software needs to be deleted, you can press and hold the icon and other icons to start shaking. Then click on the fork in the upper right corner to uninstall it; the latter can't download it in this way. After long pressing the icon to start shaking, the fork will not be displayed in the upper right corner. This is because the jailbreak software is mostly not like the Apple Store. The software is installed in the Applications directory of the mobile user. Most of them are installed in the Applications and other directories in the root directory. The native Apple system does not support such deletion. The jailbreak software can only be deleted in Cydia, or it can be deleted by running the delete command directly in the shell environment on the iPhone.
现有技术,可以扫描根目录的Applications文件夹,然后通过删除文件的方式对越狱的软件进行删除。但是这种方式主要有以下几个缺点。首先,用户操作不直观,不能直接像删除AppStore的程序一样,长按进行删除,要通过匹配应用名称的方式删除。另外,删除不彻底,Cydia中的程序不一样只在根目录下的Applications下安装文件,有的甚至会到系统的应用文件夹中去安装文件。如果通过删除的方式不彻底删除后,那么再用Cydia也无法完成清除工作。In the prior art, the Applications folder of the root directory can be scanned, and then the jailbroken software is deleted by deleting the files. However, this method mainly has the following shortcomings. First of all, the user operation is not intuitive, and can not be directly deleted like the program that deletes the AppStore. It is deleted by matching the application name. In addition, the deletion is not complete, the program in Cydia is not the same as the installation files under the application under the root directory, and some even go to the system application folder to install the file. If you do not completely delete it by deleting it, then you can't complete the cleanup with Cydia.
发明内容Summary of the invention
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的卸载破解版应用程序的方法及装置。In view of the above problems, the present invention has been made in order to provide a method and apparatus for uninstalling a cracked version of an application that overcomes the above problems or at least partially solves the above problems.
依据本发明的一个方面,提供一种卸载破解版应用程序的方法,终端的操作系统包括系统框架层和应用程序层,所述方法包括:在用户点击删除应 用程序操作后,所述系统框架层调用所述应用程序层预先设置的破解版应用程序判断函数;所述破解版应用程序判断函数判断待删除应用程序是否为破解版应用程序破解版,若是,反馈给所述系统框架层,其中,所述破解版应用程序是指在原生操作系统下无法安装而在对原生操作系统执行提高权限操作后可安装的第三方应用程序;所述系统框架层调用所述应用程序层预先设置的应用程序卸载函数,所述破解版应用程序卸载函数启动删除所述应用程序相关文件的过程,实现对所述破解版应用程序的卸载。According to an aspect of the present invention, a method for uninstalling a cracked version application is provided. The operating system of the terminal includes a system framework layer and an application layer, and the method includes: when the user clicks delete After the program is operated, the system framework layer calls a cracked version application determining function preset by the application layer; the cracked version application determining function determines whether the application to be deleted is a cracked version of the cracked version of the application, and if so, Feedback to the system framework layer, wherein the cracked version application refers to a third-party application that can be installed under the native operating system and can be installed after performing an elevated operation on the native operating system; the system framework layer calls The application layer pre-sets an application uninstall function, and the cracked version application uninstall function starts a process of deleting the application-related file, and implements uninstallation of the cracked version of the application.
优选的,所述方法还包括:预先在应用程序层设置应用程序标识集合;所述判断待删除应用程序是否为破解版应用程序包括:判断所述待删除应用程序标识是否包含在所述破解版应用程序标识集合中,若是,则确定待删除应用程序为破解版应用程序。Preferably, the method further includes: setting an application identifier set in the application layer in advance; determining whether the to-be-deleted application is a cracked version application comprises: determining whether the to-be-deleted application identifier is included in the cracked version In the application identification collection, if yes, it is determined that the application to be deleted is a cracked application.
优选的,所述方法还包括:预先在应用程序层获取破解版应用程序的文件安装地址和/或目录;所述判断待删除应用程序是否为破解版应用程序包括:判断待删除应用程序是否安装在所述破解版应用程序的文件安装地址和/或目录下,如果是,则确定待删除应用程序为破解版应用程序。Preferably, the method further includes: obtaining, in the application layer, a file installation address and/or a directory of the cracked application in advance; and determining whether the application to be deleted is a cracked application comprises: determining whether the application to be deleted is installed In the file installation address and/or directory of the cracked version application, if yes, it is determined that the application to be deleted is a cracked version application.
优选的,所述系统框架层调用所述应用程序层预先设置的应用程序判断函数包括:所述系统框架层采用hook机制,调用预先设置在所述应用程序层中的hook SBIconController类的canUninstallIcon方法,实现所述应用程序判断函数的功能。Preferably, the system framework layer invoking the application layer pre-set application determining function includes: the system framework layer adopts a hook mechanism, and calls a canUninstallIcon method of a hook SBIconController class preset in the application layer, Implementing the functionality of the application judgment function.
优选的,所述系统框架层调用所述应用程序层预先设置的应用程序卸载函数包括:所述系统框架层采用hook机制,调用预先设置在所述应用程序层中的hook SBIconController类的iconCloseBoxTapped方法,实现所述应用程序卸载函数的功能。Preferably, the system framework layer invoking the application uninstallation function preset by the application layer includes: the system framework layer adopts a hook mechanism, and invokes an iconCloseBoxTapped method of a hook SBIconController class preset in the application layer, Implement the functionality of the application uninstall function.
优选的,所述卸载所述应用程序包括:执行dpkg命令或者rm命令,对所述破解版应用程序相关文件进行删除。Preferably, the uninstalling the application comprises: executing a dpkg command or an rm command to delete the cracked application related file.
优选的,在卸载所述应用程序之后,还包括:执行killall命令,将与所述应用程序相关的所有缓存进程删除,使得卸载立即生效。Preferably, after the uninstalling the application, the method further includes: executing a killall command, deleting all cache processes related to the application, so that the uninstalling takes effect immediately.
优选的,所述用户点击删除应用程序操作包括:用户长时间按住待删除 应用程序;所述反馈给所述系统框架层之后,还包括:所述系统框架层执行删除图标显示命令,在待删除应用程序上显示供用户执行删除操作的图标。Preferably, the user clicking to delete the application operation comprises: the user pressing and holding the long time to delete After the feedback to the system framework layer, the method further includes: the system framework layer executing a delete icon display command, and displaying, on the application to be deleted, an icon for the user to perform the delete operation.
优选的,在所述系统框架层调用所述应用程序层预先设置的破解版卸载函数之前,还包括:所述系统框架层确定用户已点击了所述供用户执行删除操作的图标。Preferably, before the system framework layer invokes the cracked version uninstall function preset by the application layer, the system framework layer further determines that the user has clicked the icon for the user to perform the delete operation.
优选的,所述操作系统是指iOS操作系统,所述执行提高权限操作是指通过越狱手段获得对文件系统的可读写权限;或者,所述操作系统是指android系统,所述执行提高权限操作是指通过root手段获得的超级管理员权限。Preferably, the operating system refers to an iOS operating system, and the performing the enhanced permission operation refers to obtaining the read/write permission to the file system by means of jailbreaking; or the operating system refers to the android system, and the executing increases the permission. Operation refers to the super administrator permission obtained by root.
依据本发明的另一个方面,提供一种卸载破解版应用程序的装置,终端的操作系统包括系统框架层和应用程序层,所述装置包括:破解版判断函数调用单元,用于在用户点击删除应用程序操作后,所述系统框架层调用所述应用程序层预先设置的破解版应用程序判断函数;破解版应用判断单元,用于判断待删除应用程序是否为破解版应用程序,若是,反馈给所述系统框架层,其中,所述破解版应用程序是指在原生操作系统下无法安装而在对原生操作系统执行提高权限操作后可安装的第三方应用程序;应用卸载执行单元,用于利用所述系统框架层调用所述应用程序层预先设置的破解版应用程序卸载函数,所述破解版应用程序卸载函数启动删除所述应用程序相关文件的过程,实现对所述破解版应用程序的卸载。According to another aspect of the present invention, there is provided an apparatus for uninstalling a cracked version of an application, the operating system of the terminal comprising a system framework layer and an application layer, the apparatus comprising: a cracked version determining function calling unit, configured to delete by a user After the application is operated, the system framework layer calls the cracked version application determining function preset by the application layer; the cracked version application determining unit is configured to determine whether the application to be deleted is a cracked version application, and if so, feedback The system framework layer, wherein the cracked version application refers to a third-party application that cannot be installed under a native operating system and can be installed after performing an elevated operation operation on a native operating system; and an application uninstallation execution unit for utilizing The system framework layer invokes a cracked version application uninstall function preset by the application layer, and the cracked version application uninstall function starts a process of deleting the application related file, and implements uninstalling the cracked version application. .
优选的,所述装置还包括:破解版应用标识采集单元,用于预先在应用程序层设置破解版应用程序标识集合;破解版应用判断单元具体用于:所述应用程序层判断所述待删除应用程序标识是否包含在所述破解版应用程序标识集合中,若是,则确定待删除应用程序为破解版应用程序。Preferably, the device further includes: a cracked version application identifier collection unit, configured to set a cracked version of the application identifier set in the application layer in advance; the cracked version application determining unit is specifically configured to: the application layer determines the to-be-deleted Whether the application identifier is included in the cracked application identifier set, and if so, it is determined that the application to be deleted is a cracked application.
优选的,所述装置还包括:破解版应用安装获取单元,用于预先在应用程序层获取破解版应用程序的文件安装地址和/或目录;所述破解版应用判断单元具体用于:判断待删除应用程序是否安装在所述破解版应用程序的文件安装地址和/或目录下,如果是,则确定待删除应用程序为破解版应用程序。Preferably, the device further includes: a cracked version application installation obtaining unit, configured to obtain a file installation address and/or a directory of the cracked version application in the application layer in advance; the cracked version application determining unit is specifically configured to: determine to be Delete whether the application is installed in the file installation address and/or directory of the cracked application, and if so, it is determined that the application to be deleted is a cracked application.
优选的,所述破解版判断函数调用单元具体用于:所述系统框架层采用 hook机制,调用预先设置在所述应用程序层中的hook SBIconController类的canUninstallIcon方法,实现所述破解版应用程序判断函数的功能。Preferably, the cracked version determining function calling unit is specifically configured to: adopt the system framework layer The hook mechanism calls the canUninstallIcon method of the hook SBIconController class preset in the application layer to implement the function of the cracked version application judgment function.
优选的,所述应用卸载执行单元具体用于:所述系统框架层采用hook机制,调用预先设置在所述应用程序层中的hook SBIconController类的iconCloseBoxTapped方法,实现所述破解版应用程序卸载函数的功能。Preferably, the application uninstallation execution unit is specifically configured to: the system framework layer adopts a hook mechanism, and invokes an iconCloseBoxTapped method of a hook SBIconController class preset in the application layer to implement the cracked version application uninstall function. Features.
优选的,所述应用卸载执行单元具体用于:执行dpkg命令或者rm命令,对所述破解版应用程序相关文件进行删除。Preferably, the application uninstallation execution unit is specifically configured to: execute a dpkg command or an rm command to delete the cracked application related file.
优选的,所述所述卸载应用卸载执行单元具体用于:执行killall命令,将与所述破解版应用程序相关的所有缓存进程删除,使得卸载立即生效。Preferably, the uninstall application uninstallation execution unit is specifically configured to execute a killall command to delete all cache processes related to the cracked application, so that the uninstallation takes effect immediately.
优选的,所述用户点击删除应用程序操作包括:用户长时间按住待删除应用程序;所述破解版应用判断单元还用于:所述系统框架层执行删除图标显示命令,在待删除应用程序上显示供用户执行删除操作的图标。Preferably, the user clicking the delete application operation comprises: the user pressing the application to be deleted for a long time; the cracked version application determining unit is further configured to: execute the delete icon display command in the system framework layer, and the application to be deleted An icon for the user to perform the delete operation is displayed.
优选的,应用卸载执行单元还用于:所述系统框架层确定用户已点击了所述供用户执行删除操作的图标。Preferably, the application uninstallation execution unit is further configured to: the system framework layer determines that the user has clicked the icon for the user to perform the delete operation.
优选的,所述操作系统是指iOS操作系统,所述执行提高权限操作是指通过越狱手段获得对文件系统的可读写权限;或者,所述操作系统是指android系统,所述执行提高权限操作是指通过root手段获得的超级管理员权限。Preferably, the operating system refers to an iOS operating system, and the performing the enhanced permission operation refers to obtaining the read/write permission to the file system by means of jailbreaking; or the operating system refers to the android system, and the executing increases the permission. Operation refers to the super administrator permission obtained by root.
依据本发明的又一个方面,提供一种计算机程序,其包括计算机可读代码,当计算机可读代码在计算设备上运行时,导致计算设备执行上述的卸载破解版应用程序的方法。In accordance with still another aspect of the present invention, a computer program is provided comprising computer readable code that, when run on a computing device, causes the computing device to perform the method of uninstalling the cracked version of the application described above.
依据本发明的再一个方面,提供一种计算机可读介质,其中存储了上述计算机程序。According to still another aspect of the present invention, a computer readable medium storing the above computer program is provided.
可见,本发明通过设置破解版应用程序判断函数和应用程序卸载函数,当通过破解版应用程序判断函数确定待卸载应用程序为破解版应用程序时,可在终端上将待删除应用程序显示出待叉的图标,方便用户执行删除操作,当用户对破解版应用程序执行了删除命令时,通过破解版应用程序卸载函数彻底删除应用程序相关文件及进程用户可以很方面的删除破解版程序。另 外,相比于deb卸载脚本方式,本发明更灵活,因为函数可以自定义代码,比如执行联网的操作或者弹一个卸载调查问卷的框,deb卸载脚本只能执行shell命令,比较受局限。It can be seen that the present invention sets the cracked version application judgment function and the application uninstall function. When the cracked version application judgment function determines that the application to be uninstalled is a cracked application, the application to be deleted can be displayed on the terminal. The icon of the fork is convenient for the user to perform the delete operation. When the user executes the delete command on the cracked version application, the application-related file and the process are completely deleted by the cracked version of the application uninstall function, and the user can delete the cracked program in a very large way. Another In addition, the present invention is more flexible than the deb uninstall script mode, because the function can customize the code, such as performing a networked operation or playing a box to uninstall the questionnaire, and the deb uninstall script can only execute shell commands, which is relatively limited.
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。The above description is only an overview of the technical solutions of the present invention, and the above-described and other objects, features and advantages of the present invention can be more clearly understood. Specific embodiments of the invention are set forth below.
附图概述BRIEF abstract
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:Various other advantages and benefits will become apparent to those skilled in the art from a The drawings are only for the purpose of illustrating the preferred embodiments and are not to be construed as limiting. Throughout the drawings, the same reference numerals are used to refer to the same parts. In the drawing:
图1示出了根据本发明一个实施例的卸载破解版应用程序的方法流程图;1 shows a flow chart of a method for uninstalling a cracked version of an application in accordance with one embodiment of the present invention;
图2示出了根据本发明一个实施例的卸载破解版应用程序的装置结构示意图;2 is a schematic structural diagram of an apparatus for uninstalling a cracked version application according to an embodiment of the present invention;
图3示意性地示出了用于执行根据本发明的卸载破解版应用程序的方法的计算设备的框图;以及3 is a block diagram schematically showing a computing device for performing a method of uninstalling a cracked version of an application according to the present invention;
图4示意性地示出了用于保持或者携带实现根据本发明的卸载破解版应用程序的方法的程序代码的存储单元。Fig. 4 schematically shows a storage unit for holding or carrying program code implementing a method of uninstalling a cracked version of an application according to the present invention.
本发明的较佳实施方式Preferred embodiment of the invention
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While the embodiments of the present invention have been shown in the drawings, the embodiments Rather, these embodiments are provided so that this disclosure will be more fully understood and the scope of the disclosure will be fully disclosed.
如前所述的,现有技术通过扫描根目录的Applications文件夹并通过删除文件的方式对越狱的软件进行删除,这种方式存在用户操作不直观以及删 除不彻底的缺陷。As described above, the prior art deletes the jailbroken software by scanning the Applications folder of the root directory and deleting the files. This method is not intuitive and deletes the user operation. Except for incomplete defects.
本发明要解决的技术问题,就是可以使得从Cydia安装的软件可以通过长按抖动的方式进行删除,操作体验上跟AppStore上的软件无差异。The technical problem to be solved by the present invention is that the software installed from Cydia can be deleted by long-shocking, and the operation experience is no different from the software on the AppStore.
对此,本发明的发明人在研究过程中发现,通过设置破解版应用程序判断函数和破解版应用程序卸载函数,当通过破解版应用程序判断函数确定待卸载应用程序为破解版应用程序时,可在终端上将待删除应用程序显示出待叉的图标,方便用户执行删除操作,当用户对破解版应用程序执行了删除命令时,通过破解版应用程序卸载函数彻底删除应用程序相关文件及进程。In this regard, the inventor of the present invention found in the research process that by setting the cracked version application judgment function and the cracked version application uninstall function, when the cracked version application judgment function determines that the application to be uninstalled is a cracked application, The icon to be deleted can be displayed on the terminal to display the icon to be forked, so that the user can perform the deletion operation. When the user executes the delete command on the cracked version application, the application related file and process are completely deleted by cracking the application uninstall function. .
本领域技术人员理解,操作系统包括应用程序层(app层)和系统框架层(framework层),至于从功能划分上有可能包括的的其他层本发明则不作讨论。其中,通常app层可以理解为上层,负责与用户交互的界面,例如应用程序维护、以及点击页面时识别不同种类的点击内容从而显示不同的上下文菜单等。通常framework层作为中间层,这一层的主要职责是,将app层获得的用户请求,如启动用用程序、点击链接、点击保存图片之类,转发往下层去;将下层处理好的内容,或者通过消息,或者通过中间代理类,来分发至上层,对用户展现出来。Those skilled in the art understand that the operating system includes an application layer (app layer) and a system framework layer (framework layer), and other layers that may be included from the functional division are not discussed in the present invention. Among them, the app layer can be understood as the upper layer, which is responsible for interacting with the user, such as application maintenance, and identifying different kinds of click content when the page is clicked to display different context menus. Usually the framework layer acts as the middle layer. The main responsibility of this layer is to forward the user requests obtained by the app layer, such as launching the application, clicking the link, clicking to save the image, etc., and forwarding it to the lower layer; Or distribute it to the upper layer through a message or through an intermediate proxy class to present it to the user.
本发明一种优选实现方式是,对app层和framework层进行改进,从而利用这两层的协同配合实现对破解版应用程序的卸载。具体的,framework层在某些时机通过接口调用app层,利用app层预先设置的破解版应用程序判断函数和应用程序卸载函数,实现对破解版应用程序的卸载。A preferred implementation of the present invention is to improve the app layer and the framework layer, thereby utilizing the synergy of the two layers to implement the uninstallation of the cracked version of the application. Specifically, the framework layer calls the app layer through the interface at some time, and uses the cracked version of the application layer pre-set by the app layer to determine the function and the application uninstall function, thereby implementing the uninstallation of the cracked version of the application.
参见图1,为本发明实施例提供的一种卸载破解版应用程序的方法流程图,包括:FIG. 1 is a flowchart of a method for uninstalling a cracked version application according to an embodiment of the present invention, including:
S101:在用户点击删除应用程序操作后,系统框架层调用应用程序层预先设置的破解版应用程序判断函数。S101: After the user clicks the delete application operation, the system framework layer invokes the cracked version application judgment function preset by the application layer.
例如,上述“用户点击删除应用程序操作”是指:用户长时间按住待删除应用程序。比如,用户要删除某款软件,则他会长时间按住该软件图标。For example, the above "user click delete application operation" means that the user presses and holds the application to be deleted for a long time. For example, if a user wants to delete a piece of software, he will hold down the software icon for a long time.
S102:破解版应用程序判断函数判断待删除应用程序是否为破解版应用程序,若是,反馈给系统框架层。 S102: The cracked version application determining function determines whether the application to be deleted is a cracked version of the application, and if so, feeds back to the system framework layer.
优选的,预先在应用程序层设置破解版应用程序标识集合;当判断待删除应用程序是否为破解版应用程序时,应用程序层判断待删除应用程序标识是否包含在破解版应用程序标识集合中,若是,则确定待删除应用程序为破解版应用程序。Preferably, the cracked version of the application identifier set is set in advance at the application layer; when it is determined whether the application to be deleted is a cracked application, the application layer determines whether the application identifier to be deleted is included in the cracked application identifier set, If yes, it is determined that the application to be deleted is a cracked version of the application.
优选的,预先在应用程序层获取破解版应用程序的文件安装地址和/或目录;当判断待删除应用程序是否为破解版应用程序时,应用程序层判断待删除应用程序是否安装在所述破解版应用程序的文件安装地址和/或目录下,如果是,则确定待删除应用程序为破解版应用程序。优选的,所述反馈给所述系统框架层之后,还包括:系统框架层执行删除图标显示命令,在待删除应用程序上显示供用户执行删除操作的删除图标。例如,“删除图标”是指在待删除应用程序上显示的“叉”,便于用户点击以便执行删除操作。Preferably, the file installation address and/or directory of the cracked version application is obtained in advance at the application layer; when it is determined whether the application to be deleted is a cracked version application, the application layer determines whether the application to be deleted is installed in the cracked version. The file installation address and / or directory of the version of the application, if it is, then determine that the application to be deleted is a cracked version of the application. Preferably, after the feedback to the system framework layer, the method further includes: the system framework layer executing a delete icon display command, and displaying, on the application to be deleted, a delete icon for the user to perform the delete operation. For example, "delete icon" refers to the "fork" displayed on the application to be deleted, which is convenient for the user to click to perform the delete operation.
S103:系统框架层调用应用程序层预先设置的破解版应用程序卸载函数,破解版应用程序卸载函数启动删除应用程序相关文件的过程,实现对破解版应用程序的卸载。S103: The system framework layer calls the cracked version application uninstall function preset by the application layer, and the cracked version application uninstall function starts the process of deleting the application related file, and implements the uninstallation of the cracked version application.
优选的,在系统框架层调用所述应用程序层预先设置的破解版应用程序卸载函数之前,还包括:系统框架层确定用户已点击了供用户执行删除操作的图标。例如,用户点击了待删除应用程序上的“叉”,系统框架层则确定用户执行了要删除该应用程序的命令,随即调用破解版应用程序卸载函数进行卸载。Preferably, before the system framework layer invokes the cracked version application uninstall function preset by the application layer, the system framework layer further determines that the user has clicked an icon for the user to perform the delete operation. For example, if the user clicks on the "fork" on the application to be deleted, the system framework layer determines that the user has executed the command to delete the application, and then invokes the cracked application uninstall function to uninstall.
为了理解方便,可设想到,本发明方案是在移动终端的管理类软件中实现的对破解版应用程序管理的一个功能。以一个实际例子说明,为了实现手机卫士软件对手机中破解版应用程序的卸载,该手机卫士软件需要预先设置所管理的破解版应用程序的标识集合;并且,预先设置破解版应用程序判断函数和破解版应用程序卸载函数,从而在用户对应用程序执行删除操作时,可对应用程序进行判断和卸载操作。For the convenience of understanding, it is conceivable that the solution of the present invention is a function for managing a cracked version of the application implemented in the management software of the mobile terminal. In a practical example, in order to implement the uninstallation of the cracked version of the mobile phone by the mobile guard software, the mobile guard software needs to preset the identification set of the cracked version of the managed application; and, pre-set the cracked application judgment function and The cracked version of the application uninstall function allows the application to be evaluated and unloaded when the user performs a delete operation on the application.
下面以iOS系统为例对本发明实施例进行介绍。The following describes an embodiment of the present invention by taking an iOS system as an example.
众所周知,iOS系统为闭源系统,非开源。用户权限很低,通过“破解版”来打开系统封闭的大门,解除iOS系统的限制,可以随意的修改系统文件,安装插件,以及安装一些App Store(应用程序商店)中没有的扩展应 用程序,也就是获取iOS系统的超级权限。例如安装App Store以外的软件,更换外观主题,运行shell程序,甚至可以解开运营商对于终端网络的限制(即俗称的“解锁”)。本发明实施例优选地是在获取了iOS系统超级权限条件下进行的。本发明中的“破解版应用程序”(或者称为“破解版应用程序”、“破解版软件”)是指在原生操作系统下无法安装而在对原生操作系统执行提高权限操作后可安装的第三方应用程序,例如,在ios系统中,是指获取了操作系统权限条件下安装的非官方认证的第三方应用程序。当然,除了ios系统,本发明实施例还可以应用在其他操作系统中。比如android系统,那么“破解版应用程序”就是指通过root手段获得的超级管理员权限条件下安装的应用程序。As we all know, iOS system is a closed source system, not open source. User permissions are very low, through the "cracked version" to open the closed door of the system, remove the restrictions of the iOS system, you can freely modify the system files, install plug-ins, and install some extensions that are not in the App Store (app store) Use the program, which is to get the super privilege of the iOS system. For example, installing software other than the App Store, replacing the theme of the theme, running the shell program, and even unlocking the operator's restrictions on the terminal network (commonly known as "unlocking"). The embodiment of the present invention is preferably performed under the condition that the iOS system super authority is acquired. The "cracked version application" (also referred to as "cracked version application" and "cracked version software") in the present invention refers to a system that cannot be installed under the native operating system and can be installed after performing an elevated operation on the native operating system. Third-party applications, for example, in the iOS system, refer to third-party applications that are unofficially certified under operating system permissions. Of course, in addition to the iOS system, the embodiment of the present invention can also be applied to other operating systems. For example, the android system, then the "cracked version of the application" refers to the application installed under the super administrator authority obtained by the root means.
具体实现上,上述framework层调用app层中的破解版应用程序判断函数和应用程序卸载函数,都可以通过hook(挂钩或钩子)机制实现。hook机制允许截获处理消息或特定事件。钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。在本发明实施例中,采用hook机制干预删除应用程序的过程,实现对破解版应用程序的判断和卸载操作。也可以理解为,利用hook机制,通过app层与framework层之间的接口,调用app层中的负责管理破解版应用程序的类。In the specific implementation, the above framework layer calls the cracked version application judgment function and the application uninstall function in the app layer, and can be implemented by a hook (hook or hook) mechanism. The hook mechanism allows interception of processing messages or specific events. A hook is actually a program segment that processes a message and hooks it into the system through a system call. Whenever a specific message is sent, the hook program first captures the message before it reaches the destination window, that is, the hook function first gains control. At this time, the hook function can process (change) the message, or continue to deliver the message without processing, and can also force the end of the message. In the embodiment of the present invention, the hook mechanism is used to intervene to delete the application process, and the judgment and uninstall operation of the cracked version application is implemented. It can also be understood that, by using the hook mechanism, the class responsible for managing the cracked application in the app layer is called through the interface between the app layer and the framework layer.
下面具体介绍如何实现破解版应用程序判断函数和破解版应用程序卸载函数的功能。The following describes in detail how to implement the function of the cracked version of the application judgment function and the cracked version of the application uninstall function.
(1)破解版应用程序判断函数(1) crack version of the application judgment function
简言之,framework层采用hook机制,调用预先设置在app层中的hook SBIconController类的canUninstallIcon方法,实现破解版应用程序判断函数的功能。In short, the framework layer uses the hook mechanism to call the canUninstallIcon method of the hook SBIconController class preset in the app layer to implement the function of the cracked version of the application judgment function.
具体的,app层通过Hook SBIconController类的canUninstallIcon方法,判断如果是破解版程序的bundle id,则向framework层返回“YES,表示可以显示删除图标。在终端的表现就是,用户长按待删除应用程序的图标时, 此破解版应用程序可以直接显示出一个“叉”。Specifically, the app layer uses the canUninstallIcon method of the Hook SBIconController class to determine whether the bundle id of the cracked program returns "YES" to the framework layer, indicating that the delete icon can be displayed. The performance of the terminal is that the user long presses the application to be deleted. Icon when This cracked version of the application can directly display a "fork".
(2)破解版应用程序卸载函数(2) crack version of the application uninstall function
简言之,framework层采用hook机制,调用预先设置在app层中的hook SBIconController类的iconCloseBoxTapped方法,实现破解版应用程序卸载函数的功能。In short, the framework layer uses the hook mechanism to call the iconCloseBoxTapped method of the hook SBIconController class preset in the app layer to implement the function of the cracked version of the application uninstall function.
具体的,通过hook SBIconController类的iconCloseBoxTapped方法,用户点击上一步出现的“叉”之后,就回执行到这个函数,所以在此函数中,判断如果是自己程序的bundle id,然后用dpkg命令或者rm命令的方式对自己的所有文件进行删除或者卸载。其中,可以调用dpkg-P程序包名这个命令或者用rm命令把破解版软件中的所有文件全部删除,比如执行命令“rm–rf/Applications/360safe.app”。并在完成后,对所hook的进行重启或者关闭。意思是,已经把要卸载的软件删除了,然后再把现有的缓存进程杀死,利用killall进程名称的方式进行关闭,使得卸载立即生效。Specifically, by the iconCloseBoxTapped method of the hook SBIconController class, the user clicks on the "fork" that appeared in the previous step, and then executes the function back to this function, so in this function, it is judged that if it is the bundle id of its own program, then use the dpkg command or rm The way of the command deletes or unloads all of its own files. Among them, you can call the dpkg-P package name command or use the rm command to delete all files in the cracked version of the software, such as the command "rm-rf/Applications/360safe.app". And after completion, restart or close the hook. This means that the software to be uninstalled has been deleted, and then the existing cache process is killed, and the killall process name is used to close, so that the uninstallation takes effect immediately.
下面是实现破解版应用程序判断函数和破解版应用程序卸载函数的示例程序代码。The following is a sample program code that implements the cracked version of the application judgment function and the cracked version of the application uninstall function.
Figure PCTCN2015095575-appb-000001
Figure PCTCN2015095575-appb-000001
Figure PCTCN2015095575-appb-000002
Figure PCTCN2015095575-appb-000002
Figure PCTCN2015095575-appb-000003
Figure PCTCN2015095575-appb-000003
Figure PCTCN2015095575-appb-000004
Figure PCTCN2015095575-appb-000004
可见,本发明通过设置破解版应用程序判断函数和破解版应用程序卸载函数,当通过破解版应用程序判断函数确定待卸载应用程序为破解版应用程序时,可在终端上将待删除应用程序显示出待叉的图标,方便用户执行删除操作,当用户对破解版应用程序执行了删除命令时,通过破解版应用程序卸载函数彻底删除应用程序相关文件及进程用户可以很方面的删除破解版程序。另外,相比于deb卸载脚本方式,本发明更灵活,因为函数可以自定义代码,比如执行联网的操作或者弹一个卸载调查问卷的框,deb卸载脚本只能执行shell命令,比较受局限。It can be seen that the present invention sets the cracked version application judgment function and the crack version application uninstall function, and when the cracked version application judgment function determines that the application to be uninstalled is the cracked application, the application to be deleted can be displayed on the terminal. The icon to be forked is convenient for the user to perform the delete operation. When the user executes the delete command on the cracked version application, the application-related file and the process are completely deleted by the cracked version of the application uninstall function, and the user can delete the cracked program in a very large way. In addition, the present invention is more flexible than the deb uninstall script mode, because the function can customize the code, such as performing a networked operation or playing a box to uninstall the questionnaire, and the deb uninstall script can only execute shell commands, which is relatively limited.
与上述方法相对应,本发明还提供一种卸载破解版应用程序的装置。该装置可以通过硬件、软件或软硬件结合方式实现。该装置可以是指终端内部的功能模块,也可以是指终端本身,只要终端包括实现该装置的功能即可。Corresponding to the above method, the present invention also provides an apparatus for uninstalling a cracked version of an application. The device can be implemented by hardware, software or a combination of software and hardware. The device may refer to a functional module inside the terminal, or may refer to the terminal itself, as long as the terminal includes a function of implementing the device.
图2示出了根据本发明一个实施例的卸载破解版应用程序的装置,该装置包括:2 illustrates an apparatus for uninstalling a cracked version of an application, the apparatus comprising:
破解版判断函数调用单元201,用于在用户点击删除应用程序操作后,所述系统框架层调用所述应用程序层预先设置的破解版应用程序判断函数;The cracking version determining function invoking unit 201 is configured to: after the user clicks the delete application operation, the system framework layer calls the cracked version application determining function preset by the application layer;
破解版应用判断单元202,用于判断待删除应用程序是否为破解版应用程序,若是,反馈给所述系统框架层;The cracked version application determining unit 202 is configured to determine whether the application to be deleted is a cracked version application, and if so, feedback to the system framework layer;
应用卸载执行单元203,用于利用所述系统框架层调用所述应用程序层预先设置的破解版应用程序卸载函数,卸载所述破解版应用程序。The application uninstallation execution unit 203 is configured to use the system framework layer to invoke a cracked version application uninstall function preset by the application layer to uninstall the cracked version application.
优选的,所述装置还包括:破解版应用标识采集单元204,用于预先在 应用程序层设置破解版应用程序标识集合;破解版应用判断单元202具体用于:所述应用程序层判断所述待删除应用程序标识是否包含在所述破解版应用程序标识集合中,若是,则确定待删除应用程序为破解版应用程序。Preferably, the device further includes: a cracked version application identifier collection unit 204, configured to pre- The application layer sets a cracked version of the application identifier set; the cracked version application determining unit 202 is specifically configured to: determine, by the application layer, whether the to-be-deleted application identifier is included in the cracked version of the application identifier set, and if so, Make sure the application to be deleted is a cracked version of the application.
优选的,所述装置还包括:破解版应用安装获取单元205,用于预先在应用程序层获取破解版应用程序的文件安装地址和/或目录;所述破解版应用判断单元具体用于:判断待删除应用程序是否安装在所述破解版应用程序的文件安装地址和/或目录下,如果是,则确定待删除应用程序为破解版应用程序。Preferably, the device further includes: a cracked version application installation obtaining unit 205, configured to obtain a file installation address and/or a directory of the cracked version application in advance at the application layer; the cracked version application determining unit is specifically configured to: determine Whether the application to be deleted is installed in the file installation address and/or directory of the cracked version application, and if so, it is determined that the application to be deleted is a cracked version application.
优选的,所述破解版判断函数调用单元201具体用于:所述系统框架层采用hook机制,调用预先设置在所述应用程序层中的hook SBIconController类的canUninstallIcon方法,实现所述破解版应用程序判断函数的功能。Preferably, the cracked version determining function invoking unit 201 is specifically configured to: the system framework layer adopts a hook mechanism, and invokes a canUninstallIcon method of a hook SBIconController class preset in the application layer to implement the cracked version application. Determine the function of the function.
优选的,所述应用卸载执行单元203具体用于:所述系统框架层采用hook机制,调用预先设置在所述应用程序层中的hook SBIconController类的iconCloseBoxTapped方法,实现所述破解版应用程序卸载函数的功能。Preferably, the application uninstallation execution unit 203 is specifically configured to: the system framework layer adopts a hook mechanism, and invokes an iconCloseBoxTapped method of a hook SBIconController class preset in the application layer to implement the cracked version application uninstall function. The function.
优选的,所述所述应用卸载执行单元203具体用于:执行dpkg命令或者rm命令,对所述破解版应用程序相关文件进行删除。Preferably, the application uninstallation execution unit 203 is specifically configured to: execute a dpkg command or an rm command to delete the cracked application related file.
优选的,所述所述应用卸载执行单元203具体用于:执行killall命令,将与所述破解版应用程序相关的所有缓存进程删除,使得卸载立即生效。Preferably, the application uninstallation execution unit 203 is specifically configured to execute a killall command to delete all cache processes related to the cracked application, so that the uninstallation takes effect immediately.
优选的,所述用户点击删除应用程序操作包括:用户长时间按住待删除应用程序;所述破解版应用判断单元还用于:所述系统框架层执行删除图标显示命令,在待删除应用程序上显示供用户执行删除操作的图标。Preferably, the user clicking the delete application operation comprises: the user pressing the application to be deleted for a long time; the cracked version application determining unit is further configured to: execute the delete icon display command in the system framework layer, and the application to be deleted An icon for the user to perform the delete operation is displayed.
优选的,应用卸载执行单元203还用于:所述系统框架层确定用户已点击了所述供用户执行删除操作的图标。Preferably, the application uninstall execution unit 203 is further configured to: the system framework layer determines that the user has clicked the icon for the user to perform the delete operation.
优选的,所述操作系统是指iOS操作系统,并且,所述装置预选获取了所述iOS操作系统的超级权限。Preferably, the operating system refers to an iOS operating system, and the device pre-selects the super-rights of the iOS operating system.
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定 编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。The algorithms and displays provided herein are not inherently related to any particular computer, virtual system, or other device. Various general purpose systems can also be used with the teaching based on the teachings herein. The structure required to construct such a system is apparent from the above description. Moreover, the invention is not directed to any particular Programming language. It is to be understood that the invention may be embodied in a variety of programming language, and the description of the specific language has been described above in order to disclose the preferred embodiments of the invention.
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。In the description provided herein, numerous specific details are set forth. However, it is understood that the embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures, and techniques are not shown in detail so as not to obscure the understanding of the description.
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。Similarly, the various features of the invention are sometimes grouped together into a single embodiment, in the above description of the exemplary embodiments of the invention, Figure, or a description of it. However, the method disclosed is not to be interpreted as reflecting the intention that the claimed invention requires more features than those recited in the claims. Rather, as the following claims reflect, inventive aspects reside in less than all features of the single embodiments disclosed herein. Therefore, the claims following the specific embodiments are hereby explicitly incorporated into the embodiments, and each of the claims as a separate embodiment of the invention.
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。Those skilled in the art will appreciate that the modules in the devices of the embodiments can be adaptively changed and placed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and further they may be divided into a plurality of sub-modules or sub-units or sub-components. In addition to such features and/or at least some of the processes or units being mutually exclusive, any combination of the features disclosed in the specification, including the accompanying claims, the abstract and the drawings, and any methods so disclosed, or All processes or units of the device are combined. Each feature disclosed in this specification (including the accompanying claims, the abstract and the drawings) may be replaced by alternative features that provide the same, equivalent or similar purpose.
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。In addition, those skilled in the art will appreciate that, although some embodiments described herein include certain features that are included in other embodiments and not in other features, combinations of features of different embodiments are intended to be within the scope of the present invention. Different embodiments are formed and formed. For example, in the following claims, any one of the claimed embodiments can be used in any combination.
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当 理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的卸载破解版应用程序的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。The various component embodiments of the present invention may be implemented in hardware, or in a software module running on one or more processors, or in a combination thereof. Those skilled in the art should It is understood that some or all of the functionality of some or all of the means for uninstalling the cracked version of the application in accordance with embodiments of the present invention may be implemented in practice using a microprocessor or digital signal processor (DSP). The invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein. Such a program implementing the invention may be stored on a computer readable medium or may be in the form of one or more signals. Such signals may be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
例如,图3示出了可以实现根据本发明的卸载破解版应用程序的方法的计算设备。该计算设备传统上包括处理器310和以存储器320形式的计算机程序产品或者计算机可读介质。存储器320可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器320具有存储用于执行上述方法中的任何方法步骤的程序代码331的存储空间330。例如,存储程序代码的存储空间330可以包括分别用于实现上面的方法中的各种步骤的各个程序代码331。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘、紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图4所示的便携式或者固定存储单元。该存储单元可以具有与图3的计算设备中的存储器320类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括用于执行根据本发明的方法步骤的计算机可读代码331',即可以由诸如310之类的处理器读取的代码,当这些代码由计算设备运行时,导致该计算设备执行上面所描述的方法中的各个步骤。For example, Figure 3 illustrates a computing device that can implement a method of uninstalling a cracked version of an application in accordance with the present invention. The computing device conventionally includes a processor 310 and a computer program product or computer readable medium in the form of a memory 320. The memory 320 may be an electronic memory such as a flash memory, an EEPROM (Electrically Erasable Programmable Read Only Memory), an EPROM, a hard disk, or a ROM. The memory 320 has a storage space 330 that stores program code 331 for performing any of the method steps described above. For example, storage space 330 storing program code may include various program code 331 for implementing various steps in the above methods, respectively. The program code can be read from or written to one or more computer program products. These computer program products include program code carriers such as a hard disk, a compact disk (CD), a memory card, or a floppy disk. Such computer program products are typically portable or fixed storage units such as those shown in FIG. The storage unit may have storage segments, storage spaces, and the like that are similarly arranged to memory 320 in the computing device of FIG. The program code can be compressed, for example, in an appropriate form. Typically, the storage unit comprises computer readable code 331' for performing the steps of the method according to the invention, ie code that can be read by a processor such as 310, which when executed by the computing device causes the computing device Perform the various steps in the method described above.
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一 个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。 It is to be noted that the above-described embodiments are illustrative of the invention and are not intended to be limiting, and that the invention may be devised without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as a limitation. The word "comprising" does not exclude the presence of the elements or steps that are not recited in the claims. The word "a" or "an" The invention can be implemented by means of hardware comprising several distinct elements and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be the same A hardware item is embodied. The use of the words first, second, and third does not indicate any order. These words can be interpreted as names.

Claims (22)

  1. 一种卸载破解版应用程序的方法,终端的操作系统包括系统框架层和应用程序层,所述方法包括:A method for uninstalling a cracked version of an application, the operating system of the terminal comprising a system framework layer and an application layer, the method comprising:
    在用户点击删除应用程序操作后,所述系统框架层调用所述应用程序层预先设置的破解版应用程序判断函数;After the user clicks the delete application operation, the system framework layer calls the cracked version application judgment function preset by the application layer;
    所述破解版应用程序判断函数判断待删除应用程序是否为破解版应用程序破解版,若是,反馈给所述系统框架层,其中,所述破解版应用程序是指在原生操作系统下无法安装而在对原生操作系统执行提高权限操作后可安装的第三方应用程序;The cracked version application determining function determines whether the application to be deleted is a cracked version of the cracked version of the application, and if so, feedbacks to the system framework layer, wherein the cracked version of the application is unable to be installed under the native operating system. A third-party application that can be installed after performing an elevated operation on the native operating system;
    所述系统框架层调用所述应用程序层预先设置的应用程序卸载函数,所述破解版应用程序卸载函数启动删除所述应用程序相关文件的过程,实现对所述破解版应用程序的卸载。The system framework layer invokes an application uninstall function preset by the application layer, and the cracked application uninstall function starts a process of deleting the application related file to implement uninstallation of the cracked application.
  2. 如权利要求1所述的方法,所述方法还包括:The method of claim 1 further comprising:
    预先在应用程序层设置应用程序标识集合;Set the application ID collection in advance at the application layer;
    所述判断待删除应用程序是否为破解版应用程序包括:判断所述待删除应用程序标识是否包含在所述破解版应用程序标识集合中,若是,则确定待删除应用程序为破解版应用程序。The determining whether the application to be deleted is a cracked application comprises: determining whether the application identifier to be deleted is included in the cracked application identifier set, and if yes, determining that the application to be deleted is a cracked application.
  3. 如权利要求1所述的方法,所述方法还包括:The method of claim 1 further comprising:
    预先在应用程序层获取破解版应用程序的文件安装地址和/或目录;Obtain the file installation address and/or directory of the cracked application in advance at the application layer;
    所述判断待删除应用程序是否为破解版应用程序包括:The determining whether the application to be deleted is a cracked application includes:
    判断待删除应用程序是否安装在所述破解版应用程序的文件安装地址和/或目录下,如果是,则确定待删除应用程序为破解版应用程序。Determining whether the application to be deleted is installed in the file installation address and/or directory of the cracked version application, and if so, determining that the application to be deleted is a cracked version application.
  4. 如权利要求1所述的方法,其中,所述系统框架层调用所述应用程序层预先设置的应用程序判断函数包括:The method of claim 1, wherein the system framework layer invoking the application layer pre-set application judgment function comprises:
    所述系统框架层采用hook机制,调用预先设置在所述应用程序层中的hook SBIconController类的canUninstallIcon方法,实现所述应用程序判断函数的功能。 The system framework layer uses a hook mechanism to call the canUninstallIcon method of the hook SBIconController class preset in the application layer to implement the function of the application determining function.
  5. 如权利要求1所述的方法,其中,所述系统框架层调用所述应用程序层预先设置的应用程序卸载函数包括:The method of claim 1, wherein the system framework layer calls the application uninstallation function preset by the application layer to include:
    所述系统框架层采用hook机制,调用预先设置在所述应用程序层中的hook SBIconController类的iconCloseBoxTapped方法,实现所述应用程序卸载函数的功能。The system framework layer uses a hook mechanism to call the iconCloseBoxTapped method of the hook SBIconController class preset in the application layer to implement the function of the application uninstall function.
  6. 如权利要求1所述的方法,其中,所述卸载所述应用程序包括:The method of claim 1 wherein said uninstalling said application comprises:
    执行dpkg命令或者rm命令,对所述破解版应用程序相关文件进行删除。Run the dpkg command or the rm command to delete the files related to the cracked application.
  7. 如权利要求6所述的方法,其中,在卸载所述应用程序之后,还包括:The method of claim 6, wherein after uninstalling the application, the method further comprises:
    执行killall命令,将与所述应用程序相关的所有缓存进程删除,使得卸载立即生效。Execute the killall command to delete all cache processes associated with the application, so that the uninstall takes effect immediately.
  8. 如权利要求1所述的方法,其中,所述用户点击删除应用程序操作包括:用户长时间按住待删除应用程序;The method of claim 1, wherein the user clicking to delete the application operation comprises: the user pressing the application to be deleted for a long time;
    所述反馈给所述系统框架层之后,还包括:所述系统框架层执行删除图标显示命令,在待删除应用程序上显示供用户执行删除操作的图标。After the feedback to the system framework layer, the method further includes: the system framework layer executing a delete icon display command, and displaying, on the application to be deleted, an icon for the user to perform the delete operation.
  9. 如权利要求8所述的方法,其中,在所述系统框架层调用所述应用程序层预先设置的破解版卸载函数之前,还包括:The method of claim 8, wherein before the system framework layer calls the cracked version uninstall function preset by the application layer, the method further comprises:
    所述系统框架层确定用户已点击了所述供用户执行删除操作的图标。The system framework layer determines that the user has clicked on the icon for the user to perform the delete operation.
  10. 如权利要求1所述的方法,其中,所述操作系统是指iOS操作系统,所述执行提高权限操作是指通过越狱手段获得对文件系统的可读写权限;或者,所述操作系统是指android系统,所述执行提高权限操作是指通过root手段获得的超级管理员权限。The method of claim 1, wherein the operating system refers to an iOS operating system, and the performing the enhanced permission operation refers to obtaining a read/write permission to the file system by means of jailbreaking; or the operating system refers to In the android system, the execution of the enhanced authority operation refers to the super administrator authority obtained by the root means.
  11. 一种卸载破解版应用程序的装置,终端的操作系统包括系统框架层和应用程序层,所述装置包括:An apparatus for uninstalling a cracked version application, the operating system of the terminal includes a system framework layer and an application layer, and the apparatus includes:
    破解版判断函数调用单元,用于在用户点击删除应用程序操作后,所述系统框架层调用所述应用程序层预先设置的破解版应用程序判断函数;The cracking version determining function calling unit is configured to: after the user clicks the delete application operation, the system framework layer calls the cracked version application determining function preset by the application layer;
    破解版应用判断单元,用于判断待删除应用程序是否为破解版应用程 序,若是,反馈给所述系统框架层,其中,所述破解版应用程序是指在原生操作系统下无法安装而在对原生操作系统执行提高权限操作后可安装的第三方应用程序;The cracked version application judging unit is used to determine whether the application to be deleted is a cracked application The sequence, if yes, is fed back to the system framework layer, wherein the cracked version application refers to a third-party application that can be installed under the native operating system and can be installed after performing an elevated operation on the native operating system;
    应用卸载执行单元,用于利用所述系统框架层调用所述应用程序层预先设置的破解版应用程序卸载函数,所述破解版应用程序卸载函数启动删除所述应用程序相关文件的过程,实现对所述破解版应用程序的卸载。An application uninstallation execution unit, configured to invoke, by using the system framework layer, a cracked version application uninstall function preset by the application layer, where the cracked version application uninstall function starts a process of deleting the related file of the application, and implements The uninstallation of the cracked version of the application.
  12. 如权利要求11所述的装置,所述装置还包括:破解版应用标识采集单元,用于预先在应用程序层设置破解版应用程序标识集合;破解版应用判断单元具体用于:所述应用程序层判断所述待删除应用程序标识是否包含在所述破解版应用程序标识集合中,若是,则确定待删除应用程序为破解版应用程序。The device of claim 11, further comprising: a cracked version application identifier collection unit, configured to set a cracked version of the application identifier set in advance at the application layer; the cracked version application determining unit is specifically configured to: the application The layer determines whether the to-be-deleted application identifier is included in the cracked application identifier set, and if yes, determines that the to-be-deleted application is a cracked version application.
  13. 如权利要求11所述的装置,所述装置还包括:破解版应用安装获取单元,用于预先在应用程序层获取破解版应用程序的文件安装地址和/或目录;所述破解版应用判断单元具体用于:判断待删除应用程序是否安装在所述破解版应用程序的文件安装地址和/或目录下,如果是,则确定待删除应用程序为破解版应用程序。The device of claim 11, further comprising: a cracked version application installation obtaining unit, configured to obtain a file installation address and/or a directory of the cracked version application in advance at the application layer; Specifically, it is used to determine whether the application to be deleted is installed in the file installation address and/or directory of the cracked application, and if yes, determine that the application to be deleted is a cracked application.
  14. 如权利要求11所述的装置,其中,所述破解版判断函数调用单元具体用于:所述系统框架层采用hook机制,调用预先设置在所述应用程序层中的hook SBIconController类的canUninstallIcon方法,实现所述破解版应用程序判断函数的功能。The device of claim 11, wherein the cracked version determining function calling unit is specifically configured to: the system framework layer adopts a hook mechanism, and invokes a canUninstallIcon method of a hook SBIconController class preset in the application layer, Implementing the function of the cracked version of the application judgment function.
  15. 如权利要求11所述的装置,其中,所述应用卸载执行单元具体用于:所述系统框架层采用hook机制,调用预先设置在所述应用程序层中的hook SBIconController类的iconCloseBoxTapped方法,实现所述破解版应用程序卸载函数的功能。The device of claim 11, wherein the application uninstallation execution unit is configured to: use a hook mechanism by the system framework layer, and call an iconCloseBoxTapped method of a hook SBIconController class preset in the application layer to implement the The function of the cracked version of the application uninstall function.
  16. 如权利要求11所述的装置,其中,所述应用卸载执行单元具体用于:执行dpkg命令或者rm命令,对所述破解版应用程序相关文件进行删除。The device of claim 11, wherein the application uninstallation execution unit is specifically configured to: execute a dpkg command or an rm command to delete the cracked application related file.
  17. 如权利要求16所述的装置,其中,所述所述卸载应用卸载执行单元具体用于:执行killall命令,将与所述破解版应用程序相关的所有缓存进程删除,使得卸载立即生效。The device of claim 16, wherein the uninstall application uninstall execution unit is specifically configured to execute a killall command to delete all cache processes related to the cracked application, so that the uninstallation takes effect immediately.
  18. 如权利要求11所述的装置,其中,所述用户点击删除应用程序操 作包括:用户长时间按住待删除应用程序;所述破解版应用判断单元还用于:所述系统框架层执行删除图标显示命令,在待删除应用程序上显示供用户执行删除操作的图标。The apparatus of claim 11 wherein said user clicks on the delete application The method includes: the user presses the application to be deleted for a long time; the cracked version application determining unit is further configured to: execute, by the system framework layer, a delete icon display command, and display an icon for the user to perform the delete operation on the application to be deleted.
  19. 如权利要求18所述的装置,其中,应用卸载执行单元还用于:所述系统框架层确定用户已点击了所述供用户执行删除操作的图标。The apparatus of claim 18, wherein the application uninstall execution unit is further configured to: the system framework layer determines that the user has clicked on the icon for the user to perform the delete operation.
  20. 如权利要求11所述的装置,其中,所述操作系统是指iOS操作系统,所述执行提高权限操作是指通过越狱手段获得对文件系统的可读写权限;或者,所述操作系统是指android系统,所述执行提高权限操作是指通过root手段获得的超级管理员权限。The device according to claim 11, wherein the operating system refers to an iOS operating system, and the performing the enhanced permission operation means obtaining the read/write permission to the file system by means of jailbreaking; or the operating system means In the android system, the execution of the enhanced authority operation refers to the super administrator authority obtained by the root means.
  21. 一种计算机程序,包括计算机可读代码,当所述计算机可读代码在计算设备上运行时,导致所述计算设备执行根据权利要求1-10中的任一项所述的卸载破解版应用程序的方法。A computer program comprising computer readable code, when the computer readable code is run on a computing device, causing the computing device to perform the uninstall crack application according to any one of claims 1-10 Methods.
  22. 一种计算机可读介质,其中存储了如权利要求21所述的计算机程序。 A computer readable medium storing the computer program of claim 21.
PCT/CN2015/095575 2014-12-05 2015-11-25 Method and device for uninstalling crack application program WO2016086782A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410737945.1A CN105718278B (en) 2014-12-05 2014-12-05 Unloading cracks the method and device of edition application program
CN201410737945.1 2014-12-05

Publications (1)

Publication Number Publication Date
WO2016086782A1 true WO2016086782A1 (en) 2016-06-09

Family

ID=56090992

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/095575 WO2016086782A1 (en) 2014-12-05 2015-11-25 Method and device for uninstalling crack application program

Country Status (2)

Country Link
CN (2) CN105718278B (en)
WO (1) WO2016086782A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199208A (en) * 2020-09-09 2021-01-08 福建天泉教育科技有限公司 Method and terminal for providing additional function interface on android system

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105718278B (en) * 2014-12-05 2019-02-12 北京奇虎科技有限公司 Unloading cracks the method and device of edition application program
CN106709285B (en) * 2016-11-23 2020-03-17 北京小米移动软件有限公司 Display method and device of application lock interface
CN108334775B (en) * 2018-01-23 2022-09-23 创新先进技术有限公司 Method and device for detecting jail-crossing plug-in

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043655A (en) * 2011-01-04 2011-05-04 奇智软件(北京)有限公司 Method and system for carrying out advanced uninstall on software
CN102662667A (en) * 2012-03-31 2012-09-12 奇智软件(北京)有限公司 Software uninstalling method and device
CN102831002A (en) * 2012-09-26 2012-12-19 北京奇虎科技有限公司 Patch unloading method and device
US20130247021A1 (en) * 2012-03-13 2013-09-19 Hon Hai Precision Industry Co., Ltd. Electronic device, system and method for updating and uninstalling software
CN103617065A (en) * 2013-12-13 2014-03-05 广州市久邦数码科技有限公司 System and method for forced uninstallation of system software of mobile terminal

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693232B (en) * 2011-03-23 2014-05-21 腾讯科技(深圳)有限公司 Method and device for cancelling files
KR20130033785A (en) * 2011-09-27 2013-04-04 인포섹(주) Apparatus and method for marking persnol information in text using api hook, and program storing medium for executing the method
US9529996B2 (en) * 2011-10-11 2016-12-27 Citrix Systems, Inc. Controlling mobile device access to enterprise resources
CN103345411A (en) * 2013-07-09 2013-10-09 北京奇虎科技有限公司 Method and device for uninstalling application program
CN105718278B (en) * 2014-12-05 2019-02-12 北京奇虎科技有限公司 Unloading cracks the method and device of edition application program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043655A (en) * 2011-01-04 2011-05-04 奇智软件(北京)有限公司 Method and system for carrying out advanced uninstall on software
US20130247021A1 (en) * 2012-03-13 2013-09-19 Hon Hai Precision Industry Co., Ltd. Electronic device, system and method for updating and uninstalling software
CN102662667A (en) * 2012-03-31 2012-09-12 奇智软件(北京)有限公司 Software uninstalling method and device
CN102831002A (en) * 2012-09-26 2012-12-19 北京奇虎科技有限公司 Patch unloading method and device
CN103617065A (en) * 2013-12-13 2014-03-05 广州市久邦数码科技有限公司 System and method for forced uninstallation of system software of mobile terminal

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199208A (en) * 2020-09-09 2021-01-08 福建天泉教育科技有限公司 Method and terminal for providing additional function interface on android system
CN112199208B (en) * 2020-09-09 2023-07-07 福建天泉教育科技有限公司 Method and terminal for providing additional function interface on android system

Also Published As

Publication number Publication date
CN105718278A (en) 2016-06-29
CN105718278B (en) 2019-02-12
CN109683922A (en) 2019-04-26

Similar Documents

Publication Publication Date Title
CN106708557B (en) Update processing method and device for terminal application
JP5658283B2 (en) Application operating method, apparatus and system
WO2016086782A1 (en) Method and device for uninstalling crack application program
US20150012924A1 (en) Method and Device for Loading a Plug-In
WO2015062389A1 (en) Method and apparatus for uninstalling system application on terminal device
US10356212B2 (en) Application delivery to a computing device using dynamic application volume creation and streaming
WO2014000573A1 (en) Interface presentation method, system and terminal
TW201640342A (en) Application page quick access method and mobile terminal using the same
WO2015058574A1 (en) Method and apparatus for implementing push notification of extensive application program
JP2010129080A (en) Software executing system and software executing method
CA2793588A1 (en) Virtual application extension points
US11126417B2 (en) System and method for application plug-in distribution
US9298916B2 (en) Method and apparatus for enhanced file system monitoring on mobile communications devices
TW201814509A (en) Method and device for implementing communication of web page and local application and electronic equipment
WO2014206183A1 (en) Macro virus scanning method and system
US20130167148A1 (en) Computing device and virtual machine operation control method
WO2011095036A1 (en) Method and system for generating software package
CN106775876B (en) Method for quickly starting application by android system
WO2018082289A1 (en) Method and device for managing application and computer storage medium
US9910662B2 (en) Selectively migrating applications during an operating system upgrade
WO2014012361A1 (en) Method and device for creating control interface for external device
WO2017096826A1 (en) Method and device for controlling mobile terminal
CN105808059A (en) Application processing method and device based on terminal system
US20180253316A1 (en) Capturing pre-fetch blocks of an operating system to improve boot performance in a cloud environment
US9910667B2 (en) Segregating a monolithic computing system into multiple attachable application containers based on application boundaries

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15865805

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15865805

Country of ref document: EP

Kind code of ref document: A1