Application program detection method, electronic device and computer program

By detecting electronic device mode, blacklist list, operating system version, screen recording status and operating system tampering during application startup, the security vulnerabilities existing in application startup are solved, and the secure startup and operation of the application is achieved.

CN119847926AInactive Publication Date: 2025-04-18BEIJING SENSESHIELD TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411935290.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-26
Publication Date
2025-04-18
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The existing technology is difficult to effectively detect and prevent security vulnerabilities and risks in the startup process of applications, resulting in serious consequences such as user data leakage and malicious code injection.

Method used

By detecting preset detection items one by one during the application startup process, including electronic device mode, blacklist list, operating system version, screen recording status and operating system tampering, if the detection is not passed, the display interactive controls allow the user to enter control instructions to control the application startup process.

Benefits of technology

Ensure that the application is started and operated in a safe and standardized environment, prevent potential security risks, and ensure the security of user information and the stable operation of applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119847926A_ABST
    Figure CN119847926A_ABST
Patent Text Reader

Abstract

The invention provides an application program detection method, which comprises the following steps of: displaying information of at least one detection item on a starting interface in a starting process of an application program; when the detection item passes the detection, the application program is normally started and enters an application program use interface; when the detection item does not pass the detection, the application program exits or an interaction control is displayed on a starting interface so that a user can input a control instruction, and then the starting process of the application program is controlled; wherein the information of the detection item is pre-configured in the server, is acquired from the server in the starting process of the application program, and is used for enabling the application program to be safely used. The invention further provides electronic equipment, a computer readable storage medium and a computer program.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of terminal application technology, and in particular to an application detection method, an electronic device, a computer-readable storage medium, and a computer program. Background Art

[0002] Mobile phones are one of the most commonly used electronic devices today, and applications installed on them are also widely used. Application security testing is an important part of ensuring the security of mobile applications. During the development process, due to technical, personnel, and management reasons, applications may have various security vulnerabilities and risks. Once these vulnerabilities are exploited by hackers, they may lead to serious consequences such as user data leakage, malicious code injection, and application tampering. Therefore, it is necessary to conduct security testing on applications and discover potential security risks in a timely manner to ensure user information security and stable operation of applications. Summary of the invention

[0003] The purpose of the embodiments of the present application is to provide an application detection method, an electronic device, a computer-readable storage medium, and a computer program.

[0004] A first aspect of the present application provides an application detection method, the method comprising:

[0005] During the process of starting the application, displaying information of at least one detection item on the startup interface;

[0006] When the detection item passes the detection, the application is started normally and enters the application usage interface;

[0007] When the detection item fails the detection, the application program exits or displays an interactive control on the startup interface to allow the user to input a control instruction, thereby controlling the startup process of the application program;

[0008] The information of the detection items is pre-configured on the server and obtained from the server during the application startup process, so as to ensure the safe use of the application.

[0009] In some embodiments, the detection item includes detecting whether the electronic device where the application is located is in developer mode, and the method includes:

[0010] Obtaining a mode of the electronic device where the current application is located, the mode being a developer mode or a non-developer mode;

[0011] When it is detected that the electronic device is in developer mode, a first interactive control is displayed on the startup interface, and the first interactive control is used to enable the user to input a first instruction, and the first instruction switches the developer mode of the electronic device to non-developer mode, so that the application starts normally.

[0012] In some embodiments, the detection item includes detecting whether the electronic device of the application is in a blacklist, and the method further includes:

[0013] Obtaining a blacklist of electronic devices for the application, wherein the blacklist includes a plurality of electronic device models that are prohibited from using the application;

[0014] Determine whether the electronic device is in the blacklist based on the model of the electronic device currently used by the application;

[0015] When it is detected that the current electronic device of the application is in the blacklist, the application exits.

[0016] In some embodiments, the detection item includes whether the operating system version of the electronic device of the application is a supported version, and the method further includes:

[0017] Obtaining a version of an operating system of an electronic device that supports running the application;

[0018] Based on the operating system version information of the current electronic device of the application, determining whether it is the version of the operating system of the electronic device that supports running the application;

[0019] When it is detected that the operating system version of the current electronic device is lower than the minimum version of the operating system of the electronic device that supports running the application, a second interactive control is displayed on the startup page, and the second interactive control is used to enable the user to input a second instruction, and the second instruction upgrades the operating system version of the current electronic device.

[0020] In some embodiments, the method further comprises:

[0021] Based on the installation package of the application, determine whether the application supports the minimum version requirement of the operating system of the electronic device.

[0022] In some embodiments, the detection item includes detecting whether the electronic device of the application is currently in a screen recording state, and the method further includes:

[0023] Determine whether the screen recording function is enabled on the electronic device of the application;

[0024] When it is detected that the electronic device of the application is in the screen recording state, a third interactive control is displayed on the startup interface, and the third interactive control is used to prompt the user to turn off the screen recording so that the application can start normally.

[0025] In some embodiments, the detection item further includes detecting whether the operating system of the application program has been tampered with, and the method further includes:

[0026] When the operating system of the electronic device where the application is located is an Android version, detecting whether the operating system of the electronic device where the application is located is in ROOT mode, or when the electronic device where the application is located is an IOS version, detecting whether the operating system of the electronic device where the application is located is in jailbreak mode;

[0027] If it is detected that the operating system of the electronic device where the application is located is in ROOT mode or jailbreak mode, a fourth interactive control is displayed on the startup page, and the fourth interactive control is used to prompt the user that the application is unsafe and will be exited.

[0028] In some embodiments, the method further comprises:

[0029] After the application is started normally, when the application is switched from the background to the foreground, at least one of the detection items is re-detected.

[0030] In some embodiments, the application supports at least encryption of files, and sharing of encrypted files;

[0031] The method further comprises:

[0032] After the application is started normally, in response to a preset operation of the first user on the first file, detecting whether the electronic device where the application is located is currently in a screen recording state;

[0033] The first file is an encrypted file shared by the second user to the first user in the application;

[0034] When the electronic device is not in a screen recording state, the first file is opened in the application.

[0035] A second aspect of the present application provides an electronic device, including:

[0036] A processing unit, a storage unit, a display unit and a communication unit, wherein the storage unit stores program instructions, and when the program instructions are executed by the processing unit, the electronic device executes any one of the methods described above, the display unit is at least used to display the application and interactive controls, and the communication unit is at least used to communicate between the application and a server.

[0037] A third aspect of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores instructions, and when the instructions are executed on a computer, the computer is enabled to execute any one of the methods described.

[0038] A fourth aspect of the present application provides a computer program, which includes computer instructions. When the computer instructions are executed on a computer device, the computer device executes any one of the methods described above.

[0039] The application detection method provided in the present application detects whether each preset detection item complies with the safety specifications one by one during the application startup process. If it does not comply with the safety specifications, the user is guided to input control instructions in an interactive manner on the startup page to make the application exit or control the startup process of the application, thereby ensuring the safe startup and safe operation of the application. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Figure 1 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application;

[0041] Figure 2 A software structure block diagram of an electronic device provided in an embodiment of the present application;

[0042] Figure 3 A schematic diagram of the application architecture of the application detection method provided in the embodiment of the present application;

[0043] Figure 4 A flowchart of an application detection method provided in an embodiment of the present application. DETAILED DESCRIPTION

[0044] Various aspects and features of the present application are described herein with reference to the accompanying drawings.

[0045] It should be understood that various modifications may be made to the embodiments of the present application. Therefore, the above description should not be considered as limiting, but only as an example of an embodiment. Other modifications within the scope and spirit of the present application will occur to those skilled in the art.

[0046] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the present application and, together with the general description of the present application given above and the detailed description of the embodiments given below, serve to explain the principles of the present application.

[0047] These and other characteristics of the present application will become apparent from the following description of a preferred form of embodiment given as a non-limiting example with reference to the accompanying drawings.

[0048] It should also be understood that although the present application has been described with reference to some specific examples, those skilled in the art will be able to readily implement many other equivalent forms of the present application.

[0049] The terminal device of the embodiment of the present application may also be any form of electronic device, for example, the electronic device may include a handheld device with image processing function, a vehicle-mounted device, etc. For example, some electronic devices are: mobile phones, tablet computers, PDAs, laptop computers, mobile Internet devices (MID), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, cellular phones, cordless phones, session initiation protocols

[0050] (session initiation protocol, SIP) phone, wireless local loop (wireless local loop, WLL) station, personal digital assistant (personal digital assistant, PDA), handheld device with wireless communication function, computing device or other processing device connected to a wireless modem, vehicle-mounted device, wearable device, terminal device in a 5G network or terminal device in a future evolved public land mobile communication network (public land mobile network, PLMN), etc., the embodiments of the present application are not limited to this.

[0051] As an example but not limitation, in the embodiments of the present application, the electronic device may also be a wearable device. Wearable devices may also be referred to as wearable smart devices, which are a general term for wearable devices that are intelligently designed and developed using wearable technology for daily wear, such as glasses, gloves, watches, clothing, and shoes. A wearable device is a portable device that is worn directly on the body or integrated into the user's clothes or accessories. Wearable devices are not only hardware devices, but also powerful functions achieved through software support, data interaction, and cloud interaction. Broadly speaking, wearable smart devices include full-featured, large-sized, and fully or partially independent of smartphones, such as smart watches or smart glasses, as well as devices that only focus on a certain type of application function and need to be used in conjunction with other devices such as smartphones, such as various types of smart bracelets and smart jewelry for vital sign monitoring.

[0052] In addition, in the embodiments of the present application, the electronic device can also be a terminal device in the Internet of Things (IoT) system. IoT is an important part of the future development of information technology. Its main technical feature is to connect objects to the network through communication technology, thereby realizing an intelligent network that interconnects people and machines and things.

[0053] The electronic devices in the embodiments of the present application may also be referred to as: terminal equipment, user equipment (UE), mobile station (MS), mobile terminal (MT), access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication equipment, user agent or user device, etc.

[0054] In an embodiment of the present application, the electronic device or each network device includes a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and a memory (also called main memory). The operating system can be any one or more computer operating systems that implement business processing through processes, such as Linux operating system, Unix operating system, Android operating system, iOS operating system, or Windows operating system. The application layer includes applications such as browsers, address books, word processing software, and instant messaging software.

[0055] The application detection method of the embodiment of the present application can be applied to various types of electronic devices with display functions.

[0056] Figure 1 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application.

[0057] like Figure 1 As shown, the electronic device 100 may include a processor 110, a memory 120, a universal serial bus (USB) interface 130, a charging management module 140, a mobile communication module 150, a wireless communication module 160, a camera 170, a display screen 180, a SIM card interface 190, a sensor 200, an audio module 210 and a button 220, etc.

[0058] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc.

[0059] In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0060] The memory 120 can be used to store computer executable program codes, and the executable program codes include instructions. The memory 120 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application program required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created during the use of the electronic device 100 (such as audio data, a phone book, etc.), etc. In addition, the memory 120 may include one or more storage units, for example, it may include a volatile memory (volatile memory), such as: a dynamic random access memory (DRAM), a static random access memory (SRAM), etc.; it may also include a non-volatile memory (NVM), such as: a read-only memory (ROM), a flash memory, etc. The processor 110 executes various functional applications and data processing of the electronic device 100 by running instructions stored in the memory 120 and / or instructions stored in a memory provided in the processor. It should be noted here that the operating system referred to in the embodiments of the present application includes but is not limited to Android operating system, IOS operating system, iPad OS, HarmonyOS, Windows operating system, Linux operating system, MAC OS operating system, embedded system, etc.

[0061] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.

[0062] The mobile communication module 150 can provide a solution for wireless communication including 2G / 3G / 4G / 5G etc. for applications on the electronic device 100. The mobile communication module 150 can include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. In some embodiments, at least some functional modules of the mobile communication module 150 can be arranged in the same device as at least some modules of the processor 110.

[0063] The wireless communication module 160 may include a wireless fidelity (Wi-Fi) module, a bluetooth (BT) module, a GNSS module, a near field communication (NFC) module, an infrared (IR) module, etc. The wireless communication module 160 may be one or more devices integrating at least one of the above modules. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110.

[0064] In the embodiment of the present application, the wireless communication function of the electronic device 100 may include, for example, global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wide band code division multiple access (WCDMA), time division code division multiple access (TD-SCDMA), long term evolution (LTE), fifth generation mobile networks new radio (5G NR), BT, GNSS, WLAN, NFC, FM, and / or IR and other functions.

[0065] The camera 170 is used to capture still images or videos. The camera 170 includes a lens and a photosensitive element. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, and then transmits the electrical signal to the ISP for conversion into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in standard RGB, YUV, RYYB and other formats.

[0066] The audio module 210 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signal. The audio module 210 can also be used to encode and decode audio signals. In some embodiments, the audio module 210 can be arranged in the processor 110, or some functional modules of the audio module 210 can be arranged in the processor 110. The audio module 210 can include a speaker, a receiver, a microphone, an earphone interface, etc.

[0067] The charging management module 140 is used to receive charging input from a charger. The charger may be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 may receive charging input from the wired charger through the USB interface 130 .

[0068] The power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140 to power the processor 110, the display screen 180, the camera 170, and the wireless communication module 160.

[0069] The sensor 200 may include a pressure sensor, a gyroscope sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, and the like.

[0070] The key 220 includes a power key, a volume key, etc. The key 220 may be a mechanical key or a touch key. The electronic device 100 may receive key input and generate key signal input related to user settings and function control of the electronic device 100.

[0071] The SIM card interface 190 is used to connect a SIM card. The SIM card can be connected to or disconnected from the electronic device 100 by inserting or removing the SIM card interface 190. The electronic device 100 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1.

[0072] It is to be understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0073] Figure 2 It is a software structure block diagram of the electronic device 100 according to an embodiment of the present application.

[0074] The software system of the electronic device 100 may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. In the embodiment of the present invention, the Android system of the layered architecture is taken as an example to exemplify the software structure of the electronic device 100.

[0075] The layered architecture divides the software into several layers, each with clear roles and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system library, and the kernel layer.

[0076] The application layer can include a series of application packages. Figure 2 As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message, etc. The application framework layer provides an application programming interface (API) and programming framework for the applications in the application layer. The application framework layer includes some predefined functions.

[0077] like Figure 2 As shown, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.

[0078] The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc. The content provider is used to store and obtain data and make the data accessible to applications. The data may include video, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.

[0079] The view system includes visual controls, such as controls for displaying text, controls for displaying images, etc. The view system can be used to build applications. A display interface can be composed of one or more views. For example, a display interface including a text notification icon can include a view for displaying text and a view for displaying images.

[0080] The phone manager is used to provide communication functions of the electronic device 100, such as management of call status, including answering and hanging up.

[0081] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.

[0082] The notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as notifications of applications running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message is displayed in the status bar, a prompt sound is emitted, an electronic device vibrates, an indicator light flashes, etc.

[0083] Android Runtime includes core libraries and virtual machines. Android runtime is responsible for scheduling and management of the Android system. The core library consists of two parts: one is the function that the Java language needs to call, and the other is the Android core library.

[0084] The application layer and the application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.

[0085] The system library may include multiple functional modules, such as: surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.

[0086] The surface manager is used to manage the display subsystem and provide the fusion of 2D and 3D layers for multiple applications.

[0087] The media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files, etc. The media library can support a variety of audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.

[0088] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.

[0089] A 2D graphics engine is a drawing engine for 2D drawings.

[0090] The kernel layer is the layer between hardware and software. The kernel layer contains at least display driver, camera driver, audio driver, and sensor driver.

[0091] Figure 3 A schematic diagram of the application architecture of the application program detection method of the present application is shown.

[0092] like Figure 3 As shown, the terminal 100 can be used to send a detection item request of an application. For example, when a user clicks on an application to start, the terminal 100 sends the detection item request of the application to the server 400 .

[0093] After the server 400 sends the items to be detected to the terminal 100, the terminal 100 displays the content of each detection item on the startup page. At the same time, the terminal 100 obtains local information related to the terminal device 100 according to the items to be detected, and compares the local related information with the information obtained by the server 400 to determine whether the detection item passes the security detection.

[0094] In some embodiments, during the detection process of each detection item, according to the detection status of each detection item, if the detection item fails the security detection, the terminal 100 prompts the user to input a control instruction in the form of an interactive control on the startup page to exit the application or control the startup process of the application. If the detection item passes the security detection, the application is started.

[0095] The network 300 represents the connection mode of the terminal 100 and the server 400. The terminal 100 and the server 400 can be directly or indirectly connected by wired or wireless communication, and the present application is not limited here. Optionally, the above-mentioned communication mode uses standard communication technology and / or protocol. The Internet is usually the Internet, but it can also be any network, including but not limited to any combination of a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a mobile, wired or wireless network, a private network or a virtual private network. In some embodiments, the data exchanged through the network is represented by technologies and / or formats including Hyper Text Mark-up Language (HTML), Extensible Markup Language (XML), etc. In addition, conventional encryption technologies such as Secure Socket Layer (SSL), Transport Layer Security (TLS), Virtual Private Network (VPN), Internet Protocol Security (IPsec) can also be used to encrypt all or some links. In other embodiments, customized and / or dedicated data communication technologies may be used to replace or supplement the above-mentioned data communication technologies.

[0096] Figure 4A schematic diagram of the application detection method flow in one embodiment of the present application is shown. Figure 4 As shown, the method includes:

[0097] S101, during the process of starting the application, displaying information of at least one detection item on the startup interface;

[0098] S102, when the detection item passes the detection, the application is started normally and enters the application usage interface;

[0099] S103, when the detection item fails the detection, the application program exits or an interactive control is displayed on the startup interface to allow the user to input a control instruction, thereby controlling the startup process of the application program;

[0100] The information of the detection items is pre-configured on the server and obtained from the server during the application startup process to ensure the safe use of the application.

[0101] For ease of understanding, the above steps are described below.

[0102] Combination Figure 3 In order to ensure the safe startup and use of the application running on the terminal device 100, detection items are pre-configured on the server 400 side. During the startup of the application, the terminal device 100 requests the server to obtain the detection items that need to be detected, and then detects each detection item. The detection item configuration information is set on the server and can be updated at any time. The configuration information may include a detection name, such as safe mode activation detection, device blacklist detection, operating system version detection, etc. The configuration information may also include detection details corresponding to the name item, such as a device blacklist detection may correspond to a blacklist list of device models, which contains several device models. The model entering the blacklist list indicates that the application is unsafe when it is running. For another example, the operating system version detection, its configuration information may also include a corresponding operating system version information list, which is used to indicate the operating system version information that supports the operation of the application.

[0103] In step S101, taking the electronic device 100 as a terminal device as an example, when the user clicks on the application icon installed on the electronic device 100 to start the application, the application enters the startup page, and the startup page displays the detection item information to be performed by the application, wherein there is at least one detection item, for example, the detection item may be whether the current electronic device is in the blacklist.

[0104] In the above step S102, if the electronic device passes the security test of each detection item, the application is started normally and enters the application user interface. Optionally, during the detection process, the detection status of each detection item can be displayed, for example, through text prompts such as "detecting", "detection passed", etc. Alternatively, the detection progress of each detection item can be prompted by different icons.

[0105] S103, when the detection item fails the detection, the application program exits or an interactive control is displayed on the startup interface to allow the user to input a control instruction, thereby controlling the startup process of the application program;

[0106] The application detection method provided in the present application detects whether each preset detection item complies with the safety specifications one by one during the application startup process. If it does not comply with the safety specifications, the user is guided to input control instructions in an interactive manner on the startup page to make the application exit or control the startup process of the application, thereby ensuring the safe startup and safe operation of the application.

[0107] In some embodiments, the detection item includes detecting whether the electronic device where the application is located is in developer mode, and the method includes:

[0108] Get the mode of the electronic device where the current application is located, which can be developer mode or non-developer mode;

[0109] When it is detected that the electronic device is in developer mode, a first interactive control is displayed on the startup interface. The first interactive control is used to allow the user to input a first instruction. The first instruction switches the developer mode of the electronic device to non-developer mode, so that the application starts normally.

[0110] Developer mode is a special setting option that allows users to access and modify the underlying functions of the device for more in-depth operations and optimizations. This mode usually appears in professional devices or applications that require advanced settings, and is suitable for developers and users who need advanced debugging functions. When the terminal device 100 is placed in developer mode, the underlying functions of the terminal device 100 may be modified at any time, and the resulting application running environment may be unsafe. During the application startup process, when the terminal 100 obtains detection items from the server including whether the electronic device is in developer mode, it detects whether the terminal device has turned on the developer mode. When it is detected that the developer mode is turned on, a message prompt box pops up to prompt the user to turn off the developer mode, or prompts the user to enter a command to turn off the developer mode, so that the electronic device switches the developer mode to non-developer mode.

[0111] The present application ensures the security of the application running environment by detecting whether the developer mode is turned on on the electronic device where the application is running.

[0112] In some embodiments, the detection item includes detecting whether the electronic device of the application is in a blacklist, and the method further includes:

[0113] Obtain a blacklist of electronic devices for the application, the blacklist including multiple electronic device models that are prohibited from using the application;

[0114] Determine whether the electronic device is in the blacklist based on the model of the electronic device currently used by the application;

[0115] When it is detected that the current electronic device of the application is in the blacklist, the application exits.

[0116] For any terminal device 100, since the hardware of the device 100 itself is unsafe, the terminal device 100 is marked in the blacklist. Since the terminal device type can be uniquely identified by the device model, when the blacklist obtained by the terminal device 100 from the server 400 contains the terminal device model, it means that the hardware environment in which the current application is running is unsafe. The user can be prompted that the device model is unsafe through a message box, for example, "The current device model is unsafe and the application is about to exit", and then exit the startup.

[0117] This application performs security checks on the hardware devices on which the application runs to ensure the security of the application's hardware operating environment.

[0118] In some embodiments, the detection item includes whether the operating system version of the electronic device of the application is a supported version, and the method further includes:

[0119] Obtaining a version of an operating system of an electronic device that supports running the application;

[0120] Based on the operating system version information of the current electronic device of the application, determining whether it is a version of the operating system of the electronic device that supports running the application;

[0121] When it is detected that the operating system version of the current electronic device is lower than the minimum version of the operating system of the electronic device that supports running the application, a second interactive control is displayed on the startup page, and the second interactive control is used to enable the user to input a second instruction, and the second instruction upgrades the operating system version of the current electronic device.

[0122] The operating system of the terminal device 100 is a necessary software system environment for running applications. The security of the operating system plays an important role in the safe operation of applications. Moreover, as the operating system is upgraded again and again, its security is gradually improved. Some low-version operating systems cannot guarantee the safe operation of applications, and users may not upgrade the operating system of the terminal device 100 in a timely manner. When the application is started, the terminal device 100 can obtain the version information of the operating system supported by the application from the server, and then compare the version information of the local operating system with the former. If it is equal to or higher than the former, it means that the software operating environment is safe and can be started normally. Otherwise, a pop-up message prompts the user to upgrade the current operating system, such as "Please upgrade the current operating system". After the user clicks "Confirm", the operating system is automatically upgraded.

[0123] This application performs security testing on the operating system on which the application is running to ensure the security of the operating system environment in which the application is running.

[0124] In some embodiments, the method further comprises:

[0125] Based on the installation package of the application, determine whether the application supports the minimum version requirement of the operating system of the electronic device.

[0126] The installation package of the application is necessary for the terminal device 100 to use the Android application. When the Android package of the application is packaged, the version information of the operating system of the electronic device required by the application can be packaged together. When the application is detected, the information of the operating system of the electronic device required by the application can be determined through the information of the installation package, and then the minimum version number of the operating system required to run the application can be obtained.

[0127] In some embodiments, the detection item includes detecting whether the electronic device of the application is currently in a screen recording state, and the method further includes:

[0128] Determine whether the screen recording function is enabled on the electronic device of the application;

[0129] When it is detected that the electronic device of the application is in the screen recording state, a third interactive control is displayed on the startup interface, and the third interactive control is used to prompt the user to turn off the screen recording so that the application can start normally.

[0130] The terminal device 100 can be installed with various applications, for example, software with a screen recording function. When the screen recording software is turned on, if the user operates some applications with relatively high security requirements, such as mobile banking applications, then the relevant user privacy information of the mobile banking will be captured, causing hidden dangers to property safety. In order to ensure the security of the application, the application detection method provided in the present application can detect whether the terminal device 100 has screen recording turned on when the application is started. If screen recording is turned on, the user is prompted to turn off the screen recording software in the form of a message prompt box on the startup page to prevent personal privacy information from being recorded.

[0131] In addition, for different operating systems of the electronic device 100, different development functions can be used to detect whether the screen recording function is turned on.

[0132] For the IOS platform, the application detection method provided in this application can implement anti-screenshot and anti-recording by calling the `isSecureTextEntry` property of the `UITextField` property in the development interface, and add it as an invisible view to the main window of the application.

[0133] For devices with iOS18+ and above, the application detection method provided in this application can detect whether the terminal device 100 supports the biometric function (Face ID or Touch ID) by calling the `LocalAuthentication` framework in the development interface function. If the terminal device 100 supports biometrics, the terminal device 100 is considered safe. If the terminal device 100 does not support it, the user is prompted that there may be a risk of leakage and sensitive operations are prohibited.

[0134] Android platform, the application detection method provided by this application can also be used by calling the development interface function and setting the property WindowManager.LayoutParams to

[0135] `WindowManager.LayoutParams.FLAG_SECURE` is used to mark the prohibition of screenshots and screen recording to prevent screenshots and screen recording.

[0136] During the application development process, you can also monitor the screen recording status through the `addScreenRecordingCallback` method provided by Android 14+. The specific methods include: registering the screen recording status callback through `WindowManager.addScreenRecordingCallback`; when screen recording behavior is detected, it is marked as unsafe and sensitive operations are restricted according to business needs.

[0137] Mac OS (operating system) can detect whether the screen is being recorded through the `CGSIsScreenWatcherPresent` function. The specific methods include: dynamically linking the `CoreGraphics` framework; obtaining the address of the `CGSIsScreenWatcherPresent` function and calling it; returning the screen recording status and restricting operations according to business needs.

[0138] The application detection method provided in this application can detect whether the screen recording function is turned on on the device of the application, so that the user can use the application in a non-screen recording mode to ensure the data security of the application.

[0139] In some embodiments, the detection item further includes detecting whether the operating system of the application program has been tampered with, and the method further includes:

[0140] When the operating system of the electronic device where the application is located is an Android version, detect whether the operating system of the electronic device where the application is located is in ROOT mode, or when the operating system of the electronic device where the application is located is an IOS version, detect whether the operating system of the electronic device where the application is located is in jailbreak mode;

[0141] If it is detected that the operating system of the electronic device where the application is located is in ROOT mode or jailbreak mode, a fourth interactive control is displayed on the startup page, and the fourth interactive control is used to prompt the user that the application is unsafe and will be exited.

[0142] The operating system of the terminal device 100 can be Android or IOS. When the terminal device 100 obtains the detection items of the server 400 including whether the operating system has been tampered with, after the application enters the startup page, when the current operating system is the Android version, it is obtained whether the operating system is in ROOT mode. If it is in ROOT mode, it means that it has the highest authority to operate the Android operating system and is in an unsafe state. Or when the current operating system is the IOS version, it is obtained whether the operating system is in jailbreak mode. If it is in jailbreak mode, it means that the IOS operating system has been tampered with and the application running environment is in an unsafe state. When the above two situations are detected, the fourth interactive control is displayed on the startup page, and the fourth interactive control is used to prompt the user that the application is unsafe and will exit. As an example, the fourth interactive control can be a message prompt box, for example, the prompt message is "The current operating environment of the operating system is unsafe and the application is about to exit."

[0143] The application detection method provided in the present application can detect whether the device operating system has been tampered with, so that the application is started under a secure operating system, thereby ensuring the safe operation of the application.

[0144] In some embodiments, the method further comprises:

[0145] After the application is started normally, when the application is switched from the background to the foreground, at least one detection item is re-detected.

[0146] After the application is switched from the foreground to the background, the user can operate the electronic device 100 where the current application is located, including modifying whether the current electronic device is in developer mode, or opening an application with a screen recording function on the electronic device 100, or the other detection items mentioned above. For example, although the application has been started normally, during the use of the application, after the user switches the application from the foreground to the background, the user sets the mode of the electronic device to the developer mode. Therefore, after the electronic device is switched from the background to the foreground, if the developer mode is not detected again, the application will be run in the developer mode of the electronic device 100, which may cause the operating environment of the application to be unsafe. At this time, the application detection method of the present application can detect whether it is running in the developer mode again. If so, the user can be prompted to turn off the developer mode of the electronic device 100 by popping up a prompt box to allow the application to run safely.

[0147] The above re-detection after switching between the foreground and background is described with the developer mode as the detection item. It should be noted that the re-detection after switching between the foreground and background can detect any of the above detection items, which will not be described one by one here.

[0148] In some embodiments, the application supports at least encryption of files, and sharing of encrypted files;

[0149] The aforementioned method may further include:

[0150] After the application is started normally, in response to a preset operation of the first user on the first file, detecting whether the electronic device where the application is located is currently in a screen recording state;

[0151] The first file is an encrypted file shared by the second user to the first user in the application;

[0152] When the electronic device is not in a screen recording state, open the first file in the application.

[0153] For ease of understanding, the cloud disk application is used as an example for explanation. The terminal device 100 installs a cloud disk application, which supports users to upload encrypted files, and supports the transmission of encrypted files and the decryption of encrypted files. When user A sends an encrypted file to user B through the cloud disk application, user B can start the cloud disk client. If the cloud disk server verifies that user B has the authority to open the encrypted file, the encrypted file is decrypted, opened and viewed in the cloud disk client. When the cloud disk application is started, or after the cloud disk application is started and when user B opens the encrypted file, it detects whether the terminal device 100 is in the screen recording state. If it is not in the screen recording state, user B can open the encrypted file in the cloud disk and view it. If it is in the screen recording state, it is prohibited to open it. In this way, not only can user B be effectively prevented from sharing the encrypted file shared by user A with other users without permission, but also user B can be effectively prevented from transcribing the file content by means of screen recording and other methods and then disseminating it without permission. Therefore, the application program using the above scheme can further enhance the file owner's control over the shared files and improve the security and privacy of the shared files.

[0154] An electronic device according to at least one embodiment of the present application includes:

[0155] A processing unit, a storage unit, a display unit and a communication unit, wherein the storage unit stores program instructions. When the program instructions are executed by the processing unit, the electronic device executes any one of the methods. The display unit is at least used to display the application and interactive controls. The communication unit is at least used for communication between the application and the server.

[0156] The display unit may be a display screen 180 of the electronic device 100 of the present application, the processing unit may be a processor 110 of the electronic device 100, the storage unit may be a memory 120 of the electronic device 100 of the present application, and the communication unit may be a communication module 150 or 160 of the electronic device 100 of the present application, and communicates with the server 400 through the communication module 150 or 160. Applications and interactive controls may be displayed on the display screen 180, and user control commands may be input through the interactive controls. In addition, control commands may also be input through the key 220.

[0157] According to a computer-readable storage medium of at least one embodiment of the present application, the computer-readable storage medium stores computer instructions, and when the computer instructions are executed on a computer, the computer is enabled to execute any one of the methods.

[0158] The methods described in the above embodiments may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or codes on a computer-readable medium or transmitted on a computer-readable medium. Computer-readable media may include computer storage media and communication media, and may also include any medium that can transfer a computer program from one place to another. The storage medium may be any target medium that can be accessed by a computer.

[0159] In one possible implementation, a computer-readable medium may include RAM, ROM, compact disc read-only memory (CD-ROM) or other optical disk storage, disk storage or other magnetic storage devices, or any other medium that is intended to carry or store the required program code in the form of instructions or data structures and can be accessed by a computer. Moreover, any connection is appropriately referred to as a computer-readable medium. For example, if a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL) or wireless technology (such as infrared, radio and microwave) is used to transmit software from a website, server or other remote source, the coaxial cable, fiber optic cable, twisted pair, DSL or wireless technology such as infrared, radio and microwave are included in the definition of medium. Disks and optical disks as used herein include optical disks, laser disks, optical disks, digital versatile disks (DVD), floppy disks and Blu-ray disks, where disks usually reproduce data magnetically, while optical disks reproduce data optically using lasers. Combinations of the above should also be included in the scope of computer-readable media.

[0160] According to a computer program of at least one embodiment of the present application, the computer program includes computer instructions, which are stored in a computer-readable storage medium. When a processor of a computer device reads the computer instructions from the computer-readable storage medium, the processor executes the computer instructions, so that the computer device executes any one of the methods.

[0161] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable device to generate a machine, so that the instructions executed by the processing unit of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0162] The above specific implementation methods further illustrate the purpose, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above are only specific implementation methods of the present invention and are not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made on the basis of the technical solutions of the present invention should be included in the scope of protection of the present invention.

[0163] Those skilled in the art should understand that the above embodiments are only for the purpose of clearly illustrating the present application, and are not intended to limit the scope of the present application. For those skilled in the art, other changes or modifications may be made based on the above disclosure, and these changes or modifications are still within the scope of the present application.

Claims

1. An application detection method, characterized in that: The method comprises: During the process of starting the application, displaying information of at least one detection item on the startup interface; When the detection item passes the detection, the application is started normally and enters the application usage interface; When the detection item fails the detection, the application program exits or displays an interactive control on the startup interface to allow the user to input a control instruction, thereby controlling the startup process of the application program; The information of the detection items is pre-configured on the server and obtained from the server during the application startup process, so as to ensure the safe use of the application.

2. The application detection method according to claim 1, characterized in that: The detection item includes detecting whether the electronic device where the application is located is in developer mode, and the method includes: Obtaining a mode of the electronic device where the current application is located, the mode being a developer mode or a non-developer mode; When it is detected that the electronic device is in developer mode, a first interactive control is displayed on the startup interface, and the first interactive control is used to enable the user to input a first instruction, and the first instruction switches the developer mode of the electronic device to non-developer mode, so that the application starts normally.

3. The application detection method according to any one of claims 1 to 2, characterized in that: The detection item includes detecting whether the electronic device of the application is in a blacklist, and the method further includes: Obtaining a blacklist of electronic devices for the application, wherein the blacklist includes a plurality of electronic device models that are prohibited from using the application; Determine whether the electronic device is in the blacklist based on the model of the electronic device currently used by the application; When it is detected that the current electronic device of the application is in the blacklist, the application exits.

4. The application detection method according to any one of claims 1 to 3, characterized in that: The detection item includes whether the operating system version of the electronic device of the application is a supported version, and the method further includes: Obtaining a version of an operating system of an electronic device that supports running the application; Based on the operating system version information of the current electronic device of the application, determining whether it is the version of the operating system of the electronic device that supports running the application; When it is detected that the operating system version of the current electronic device is lower than the minimum version of the operating system of the electronic device that supports running the application, a second interactive control is displayed on the startup page, and the second interactive control is used to enable the user to input a second instruction, and the second instruction upgrades the operating system version of the current electronic device.

5. The application detection method according to claim 4, characterized in that: The method further comprises: Based on the installation package of the application, determine whether the application supports the minimum version requirement of the operating system of the electronic device.

6. The application detection method according to any one of claims 1 to 5, characterized in that: The detection item includes detecting whether the electronic device of the application is currently in a screen recording state, and the method further includes: Determine whether the screen recording function is enabled on the electronic device of the application; When it is detected that the electronic device of the application is in the screen recording state, a third interactive control is displayed on the startup interface, and the third interactive control is used to prompt the user to turn off the screen recording so that the application can start normally.

7. The application detection method according to any one of claims 1 to 6, characterized in that: The detection item also includes detecting whether the operating system of the application program has been tampered with, and the method further includes: When the operating system of the electronic device where the application is located is an Android version, detecting whether the operating system of the electronic device where the application is located is in ROOT mode, or when the electronic device where the application is located is an IOS version, detecting whether the operating system of the electronic device where the application is located is in jailbreak mode; If it is detected that the operating system of the electronic device where the application is located is in ROOT mode or jailbreak mode, a fourth interactive control is displayed on the startup page, and the fourth interactive control is used to prompt the user that the application is unsafe and will be exited.

8. The application detection method according to any one of claims 2 to 7, characterized in that: The method further comprises: After the application is started normally, when the application is switched from the background to the foreground, at least one of the detection items is re-detected.

9. The application detection method according to claim 1, characterized in that: The application at least supports encrypting files and sharing encrypted files; The method further comprises: After the application is started normally, in response to a preset operation of the first user on a first file, detecting whether the electronic device where the application is located is currently in a screen recording state; wherein the first file is an encrypted file shared by the second user to the first user in the application; When the electronic device is not in a screen recording state, the first file is opened in the application.

10. An electronic device, characterized in that: include: A processing unit, a storage unit, a display unit and a communication unit, wherein the storage unit stores program instructions, and when the program instructions are executed by the processing unit, the electronic device executes the method according to any one of claims 1 to 9, the display unit is at least used to display the application and interactive controls, and the communication unit is at least used for communication between the application and a server.

11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores instructions, and when the instructions are executed on a computer, the computer is enabled to execute the method according to any one of claims 1 to 9.

12. A computer program, characterized in that The computer program comprises computer instructions, and when the computer instructions are executed on a computer device, the computer device is caused to execute the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Application updating method and mobile terminal

    CN106775783A

  • Application control-based anti-virus attack realization method and system

    CN107766731A

  • Multimedia data protection method, terminal equipment and server

    CN113747244A

  • Application program control method and device, electronic equipment and storage medium

    CN114756248A

  • Method for accelerating starting of application, and electronic device

    WO2021083378A1