CN112988353A - Operation control method and device for application program - Google Patents

Operation control method and device for application program Download PDF

Info

Publication number
CN112988353A
CN112988353A CN202110272048.8A CN202110272048A CN112988353A CN 112988353 A CN112988353 A CN 112988353A CN 202110272048 A CN202110272048 A CN 202110272048A CN 112988353 A CN112988353 A CN 112988353A
Authority
CN
China
Prior art keywords
application program
access
target
address
instance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110272048.8A
Other languages
Chinese (zh)
Other versions
CN112988353B (en
Inventor
彭洪涛
赵晶
喻波
王志海
王志刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Wondersoft Technology Co Ltd
Original Assignee
Beijing Wondersoft Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Wondersoft Technology Co Ltd filed Critical Beijing Wondersoft Technology Co Ltd
Priority to CN202110272048.8A priority Critical patent/CN112988353B/en
Publication of CN112988353A publication Critical patent/CN112988353A/en
Application granted granted Critical
Publication of CN112988353B publication Critical patent/CN112988353B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

The application discloses an application program operation control method and device. The method comprises the following steps: intercepting access operation of an application program to an application program instance in the process of starting the application program of the computer, wherein the application program instance is used for representing the starting state of the application program; redirecting an access address of the access operation to a target address, and receiving a target access result returned based on the target address, wherein the target access result is used for indicating that no application program instance exists; and controlling the application program to finish starting based on the target access result. By the method and the device, the problem that a plurality of same application programs cannot be started and run simultaneously under the LINUX system in the related art is solved.

Description

Operation control method and device for application program
Technical Field
The application relates to the technical field of application program operation control, in particular to an application program operation control method and device.
Background
In daily work and life, it is common to realize the split and multiple opening of the application program. For example, in daily work, a person needs to log in a plurality of chat accounts on a computer, or needs one program to open one document, that is, a plurality of documents and a plurality of programs. However, most application programs are designed in a single-instance mode, that is, only one account is allowed to be logged in by a current user (such as social chat software), or a plurality of files of the same type can be opened only through one process (such as office software of different types), and the separate and multi-open use requirements of the application programs in the above use scenarios cannot be met.
In order to solve the problems, some software products appear on the windows platform, the function of dividing the application program into different applications can be realized, and the requirements of simultaneous login of multiple account numbers and one process of one document of office software in some chat applications are met. However, on the LINUX platform, because the system architectures and implementation methods of the LINUX system and the windows system are different, it is difficult to meet the user needs of the user for separate and multiple applications, and the user experience is poor.
Aiming at the problem that a plurality of same application programs cannot be started and run simultaneously under a LINUX system in the related art, an effective solution is not provided at present.
Disclosure of Invention
The application provides an application program operation control method and device, and aims to solve the problem that a plurality of same application programs cannot be started and operated simultaneously under a LINUX system in the related art.
According to one aspect of the present application, there is provided an operation control method of an application program. The method comprises the following steps: intercepting access operation of an application program to an application program instance in the process of starting the application program of the computer, wherein the application program instance is used for representing the starting state of the application program; redirecting an access address of the access operation to a target address, and receiving a target access result returned based on the target address, wherein the target access result is used for indicating that no application program instance exists; and controlling the application program to finish starting based on the target access result.
Optionally, before intercepting an access operation of the application program to the application program instance during the process of starting the application program of the computer, the method further includes: starting an operating system of the computer and starting a process corresponding to an application program; and injecting a hook function into a memory space of the started process, wherein the hook function is used for monitoring an interface function called by an application program when the process runs and controlling the execution behavior of the interface function.
Optionally, after intercepting an access operation of the application program to the application program instance during the process of starting the application program of the computer, the method further includes: judging whether an application program instance exists in an access address of the access operation; in the case where an application instance exists, the step of redirecting the access address of the access operation to the target address is performed.
Optionally, during the process of starting the application program of the computer, intercepting an access operation of the application program to the application program instance includes: and intercepting a first dynamic link library called by the application program through the hook function, wherein the first dynamic link library comprises a first access function, and the first access function is used for accessing the application program instance.
Optionally, redirecting the access address of the access operation to the target address, and receiving the target access result returned based on the target address comprises: the control application program obtains target function parameters of a second access function in a second dynamic link library, wherein the target function parameters comprise access addresses, and the access addresses of the second access function are different from the access addresses of the first access function; and receiving an access result of the application program instance which is returned by the first access function based on the target function parameter execution access behavior.
Optionally, the address where the application instance is located is one of: the target file address under the installation path of the application program, and the memory address of the target server of the supervisory application program.
Optionally, the operating system of the computer is a LINUX system.
According to another aspect of the present application, there is provided an operation control apparatus of an application program. The device includes:
the intercepting unit is used for intercepting the access operation of the application program to the application program instance in the process of starting the application program of the computer, wherein the existence of the application program instance is used for representing that the application program is started.
And the redirecting unit is used for redirecting the access address of the access operation to the target address and receiving a target access result returned based on the target address, wherein the target access result is used for indicating that no application program instance exists.
And the control unit is used for controlling the application program to finish starting based on the target access result.
According to another aspect of the embodiments of the present invention, there is also provided a non-volatile storage medium, which includes a stored program, wherein the program controls a device in which the non-volatile storage medium is located to execute an operation control method of an application program when the program is executed.
According to another aspect of the embodiments of the present invention, there is also provided an electronic device, including a processor and a memory; the memory stores computer readable instructions, and the processor is used for executing the computer readable instructions, wherein the computer readable instructions execute an operation control method of the application program when running.
Through the application, the following steps are adopted: intercepting access operation of an application program to an application program instance in the process of starting the application program of the computer, wherein the application program instance is used for representing the starting state of the application program; redirecting an access address of the access operation to a target address, and receiving a target access result returned based on the target address, wherein the target access result is used for indicating that no application program instance exists; the application program is controlled to complete the starting based on the target access result, and the problem that a plurality of same application programs cannot be started and run simultaneously under the LINUX system in the related art is solved. By intercepting the access operation of the application program to the application program instance and redirecting the access address of the access operation, the effect that a plurality of same application programs can be started and run simultaneously under the LINUX system is achieved.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this application, illustrate embodiments of the application and, together with the description, serve to explain the application and are not intended to limit the application. In the drawings:
fig. 1 is a flowchart of an operation control method of an application program according to an embodiment of the present application;
FIG. 2 is a flow chart of another operation control method of an application program according to an embodiment of the application program;
FIG. 3 is a flow chart of an alternative operation control method of an application provided according to an embodiment of the present application; and
fig. 4 is a schematic diagram of an operation control device of an application program according to an embodiment of the present application.
Detailed Description
It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict. The present application will be described in detail below with reference to the embodiments with reference to the attached drawings.
In order to make the technical solutions better understood by those skilled in the art, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only partial embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
It should be noted that the terms "first," "second," and the like in the description and claims of this application and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It should be understood that the data so used may be interchanged under appropriate circumstances such that embodiments of the application described herein may be used. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
For convenience of description, some terms or expressions referred to in the embodiments of the present application are explained below:
hook technology: the hook function is also called as a hook function, before the system does not call the function, the hook program captures the message, the hook function obtains the control right first, and the hook function can process the execution behavior of the function and also can forcibly end the transmission of the message.
X Window System: abbreviated as X, or X11, or X-Windows. X is called because X is located after W in the alphabet, and W is the GUI system used by MIT before X. X11 was named because in 1987, the X Window System had evolved to version 11, and all subsequent Xs were developed based on version X11.
According to an embodiment of the present application, there is provided an operation control method of an application program.
Fig. 1 is a flowchart of an operation control method of an application according to an embodiment of the present application. As shown in fig. 1, the method comprises the steps of:
step S102, in the process of starting the application program of the computer, intercepting the access operation of the application program to the application program instance, wherein the application program instance is used for representing the starting state of the application program.
Specifically, when the application program is started, the application program instance corresponding to the application program is stored in the preset address, the application program accesses the preset address to perform the access operation, when the corresponding application program instance is accessed, the application program is already started, and when the corresponding application program instance is not accessed, the application program is not started, and the current starting is the first starting.
Optionally, in the operation control method of the application program provided in the embodiment of the present application, an operating system of a computer is a LINUX system.
Specifically, under the LINUX system, the start of the application program is controlled through a single instance implementation mechanism of the application program, that is, the current start of the application program is prevented when the corresponding application program instance is accessed in the current start process, and the current start of the application program is allowed when the corresponding application program instance is not accessed.
Optionally, in the operation control method of the application program provided in the embodiment of the present application, an address where the application program instance is located is one of the following: the target file address under the installation path of the application program, and the memory address of the target server of the supervisory application program.
Specifically, in the LINUX system, on one hand, after the application program is started, the application program instance may be stored in a specific form in a specific path, for example, in a file form in an installation path of the application program, that is, an address where the application program instance is located may be a target file address in the installation path of the application program.
On the other hand, the platform of the LINUX system controls all application programs through a Dbus protocol (a message bus mode), the application programs are all supervised by the Dbus service, and after the application programs are started, application program instances can exist in a memory of the Dbus service of the system, that is, the address where the application program instances are located can be a memory address of the Dbus service.
Therefore, in the LINUX system, a single-instance implementation mechanism of an application program can be implemented by detecting whether a certain file in a special path exists, and in some application programs using the Dbus bus, can also be implemented by detecting whether a specific service name of a service connected to the Dbus bus exists.
Optionally, in the operation control method of an application program provided in the embodiment of the present application, before intercepting an access operation of the application program to an application program instance in a process of starting the application program of a computer, the method further includes: starting an operating system of the computer and starting a process corresponding to an application program; and injecting a hook function into a memory space of the started process, wherein the hook function is used for monitoring an interface function called by an application program when the process runs and controlling the execution behavior of the interface function.
Specifically, after the operating system of the computer is started and the user starts the application program, the hook function is injected into the started process internal space to monitor and control the interface function called in the process.
For example, in the LINUX system, an ld _ preload mechanism under the operating system may be used to complete loading of the interception module, that is, a path of a library file in which a processing function of an interface function to be intercepted is located is written into an/etc/ld.
Optionally, in the operation control method of an application program provided in the embodiment of the present application, in a process of starting the application program of a computer, intercepting an access operation of the application program to an application program instance includes: and intercepting a first dynamic link library called by the application program through the hook function, wherein the first dynamic link library comprises a first access function, and the first access function is used for accessing the application program instance.
Specifically, under the condition that an operating system of the computer is a LINUX system, an interface function corresponding to an access operation is stored in a libc.
Specifically, whether an application program with an instance running is judged by detecting whether a file exists or not is intercepted, the access of the application program to the file under a specific path is intercepted, whether the application program with the instance running is judged by detecting whether a Dbus service name exists or not is judged, the access of the application program to a memory of a Dbus service is intercepted, whether an application program instance runs or not is checked, if no application program instance runs, the interception is passed, otherwise, an access address of an access operation is redirected, the single-instance limitation of the application program is removed, the application program can be restarted, and the individuation of the application program or the application excess opening of the application program is realized.
And step S104, redirecting the access address of the access operation to a target address, and receiving a target access result returned based on the target address, wherein the target access result is used for indicating that no application program instance exists.
Specifically, the file or the Dbus service name accessed by the application program is redirected to enable the application program to access the target address, and the access result of the application program instance is received, so that the detection mechanism of the single instance of the application program is bypassed, and the differentiation or the multiple division of the application program is realized.
In order to avoid unnecessary redirection operation, optionally, in the operation control method of an application program provided in this embodiment of the present application, after intercepting an access operation of an application program to an application program instance by the application program in a process of starting the application program of a computer, the method further includes: judging whether an application program instance exists in an access address of the access operation; in the case where an application instance exists, the step of redirecting the access address of the access operation to the target address is performed.
That is, when the application instance exists in the access address of the access operation, the operation of redirecting the access address of the access operation is executed, and when the application instance does not exist in the access address of the access operation, the operation of redirecting the access address of the access operation is not executed.
Optionally, in the operation control method of the application program provided in the embodiment of the present application, redirecting the access address of the access operation to the target address, and receiving the target access result returned based on the target address includes: the control application program obtains target function parameters of a second access function in a second dynamic link library, wherein the target function parameters comprise access addresses, and the access addresses of the second access function are different from the access addresses of the first access function; and receiving an access result of the application program instance which is returned by the first access function based on the target function parameter execution access behavior.
It should be noted that, when an application program runs, multiple modules need to be called through an application program API interface to load and implement corresponding functions of the program, where a first dynamic link library and a second dynamic link library correspond to each other and are a set consisting of 1 module or N modules, each function runs in a certain module, and one module includes multiple API functions, such as an access function, and replacement of an access result can be implemented by adjusting the calling process of the API functions in the dynamic link libraries.
In an optional implementation manner, the first access function is an Open function, the Open function is in a first link library libc. For example, the file under the c disk is called originally, the file in the d disk is called instead, and the returned access result without the application program instance exists because the file in the d disk does not exist, so that the replacement of the return value of the access function is realized.
And step S106, controlling the application program to finish starting based on the target access result.
Specifically, the access result returned by the second access function executing the access behavior and without the application program instance is received, and the current starting of the application program is allowed.
According to the operation control method of the application program, in the process of starting the application program of the computer, access operation of the application program to an application program instance is intercepted, wherein the application program instance is used for representing the starting state of the application program; redirecting an access address of the access operation to a target address, and receiving a target access result returned based on the target address, wherein the target access result is used for indicating that no application program instance exists; the application program is controlled to complete the starting based on the target access result, and the problem that a plurality of same application programs cannot be started and run simultaneously under the LINUX system in the related art is solved. By intercepting the access operation of the application program to the application program instance and redirecting the access address of the access operation, the effect that a plurality of same application programs can be started and run simultaneously under the LINUX system is achieved.
Fig. 2 is a schematic diagram of another operation control method of an application according to an embodiment of the present application. As shown in fig. 2, the method includes:
and after the LINUX system is started, operating the hook installation module to complete hook module installation.
When a user starts a chat application or office software and a process is started, an interception processing module is loaded to realize interception of open and dbus _ bus _ request _ name functions.
The state of the program running in the system is checked to see if an instance of the user-initiated program already exists.
If the program is started, the interception module calls a redirection module to perform redirection operation on access of the file or the Dbus so as to realize restart of the application; if the program does not exist, the interception module puts through the file or the Dbus access request, and the program started by the user is loaded and operated.
And during the program running process, checking whether the system is exited, and if so, exiting the system.
By the embodiment, an inline hook technology is used for intercepting an open function in a libc.
Fig. 3 is a schematic diagram of an alternative operation control method of an application according to an embodiment of the present application. As shown in fig. 3, the method includes:
and after entering the LINUX operating system, logging in the account system, and synchronizing the ciphertext control strategy after verification is passed.
Under the condition that a user opens a file by double-click, checking whether the opened file is a ciphertext or not, and if so, starting a new process to open the ciphertext file; if not, the explanation is in the clear, and the clear text process is started or the file is opened by using the existing clear text process.
Then, whether the system is quitted is checked, and if yes, the system is quitted.
Through the embodiment, the problem that when office software opens a ciphertext file, a plaintext process already exists, and ciphertext content is possibly leaked by copying of the plaintext is solved, and meanwhile, the problem that the plaintext is encrypted when the opened plaintext is edited in the ciphertext process is solved. In addition, one ciphertext is opened and then the ciphertext is opened, if the encryption levels are the same, a plurality of programs can be opened, or only one program can be adopted for display, and the specific strategy is determined by the ciphertext control strategy.
It should be noted that the steps illustrated in the flowcharts of the figures may be performed in a computer system such as a set of computer-executable instructions and that, although a logical order is illustrated in the flowcharts, in some cases, the steps illustrated or described may be performed in an order different than presented herein.
The embodiment of the present application further provides an operation control device of an application, and it should be noted that the operation control device of the application according to the embodiment of the present application may be used to execute the operation control method for the application according to the embodiment of the present application. The following describes an operation control device for an application program according to an embodiment of the present application.
Fig. 4 is a schematic diagram of an operation control device of an application program according to an embodiment of the present application. As shown in fig. 4, the apparatus includes: an intercepting unit 10, a redirecting unit 20 and a control unit 30.
Optionally, the intercepting unit 10 is configured to intercept an access operation of an application program to an application program instance during a process of starting the application program of the computer, where the existence of the application program instance is used to characterize that the application program is started.
And a redirection unit 20, configured to redirect an access address of the access operation to a target address, and receive a target access result returned based on the target address, where the target access result is used to indicate that no application program instance exists.
And the control unit 30 is used for controlling the application program to finish the starting based on the target access result.
According to the operation control device of the application program provided by the embodiment of the application program, the access operation of the application program to the application program instance is intercepted through the intercepting unit 10 in the process of starting the application program of the computer, wherein the application program instance exists for representing that the application program is started; the redirection unit 20 redirects the access address of the access operation to a target address, and receives a target access result returned based on the target address, wherein the target access result is used for indicating that no application program instance exists; the control unit 30 controls the application program to complete the startup based on the target access result, solves the problem that a plurality of identical application programs cannot be started and run simultaneously in the LINUX system in the related art, and achieves the effect that a plurality of identical application programs can be started and run simultaneously in the LINUX system by intercepting the access operation of the application program to the application program instance and redirecting the access address of the access operation.
Optionally, in the operation control device for an application program provided in the embodiment of the present application, the starting unit is configured to start an operating system of the computer and start a process corresponding to the application program before intercepting an access operation of the application program to an application program instance in a process of starting the application program of the computer; and the injection unit is used for injecting the hook function into the memory space of the started process, wherein the hook function is used for monitoring the interface function called by the application program when the process runs and controlling the execution behavior of the interface function.
Optionally, in the operation control device of an application program provided in the embodiment of the present application, the device further includes: the judging unit is used for judging whether an application program instance exists in an access address of access operation after intercepting the access operation of the application program to the application program instance in the process of starting the application program of the computer; and the execution unit is used for executing the step of redirecting the access address of the access operation to the target address under the condition that the application program instance exists.
Optionally, in the operation control device of the application program provided in the embodiment of the present application, the intercepting unit 10 is configured to intercept, by using a hook function, a first dynamic link library called by the application program, where the first dynamic link library includes a first access function, and the first access function is used to access an application program instance.
Optionally, in the operation control device of an application program provided in the embodiment of the present application, the redirection unit 20 includes: the first control module is used for controlling the application program to obtain target function parameters of a second access function in the second dynamic link library, wherein the target function parameters comprise access addresses, and the access addresses of the second access function are different from the access addresses of the first access function; and the receiving module is used for receiving an access result which is returned by the first access function based on the target function parameter execution access behavior and does not have the application program instance.
Optionally, in the operation control device for an application program provided in the embodiment of the present application, an address where the application program instance is located is one of the following: the target file address under the installation path of the application program, and the memory address of the target server of the supervisory application program.
Optionally, in the operation control device for an application program provided in this embodiment of the present application, an operating system of a computer is a LINUX system.
The operation control device of the application program comprises a processor and a memory, wherein the intercepting unit 10, the redirecting unit 20, the control unit 30 and the like are stored in the memory as program units, and the processor executes the program units stored in the memory to realize corresponding functions.
The processor comprises a kernel, and the kernel calls the corresponding program unit from the memory. The kernel can be set to be one or more than one, and the problem that a plurality of same application programs cannot be started and run simultaneously under the LINUX system is solved by adjusting the kernel parameters.
The memory may include volatile memory in a computer readable medium, Random Access Memory (RAM) and/or nonvolatile memory such as Read Only Memory (ROM) or flash memory (flash RAM), and the memory includes at least one memory chip.
The embodiment of the application also provides a nonvolatile storage medium, wherein the nonvolatile storage medium comprises a stored program, and the program controls the equipment where the nonvolatile storage medium is located to execute an operation control method of the application program when running.
The embodiment of the application also provides an electronic device, which comprises a processor and a memory; the memory stores computer readable instructions, and the processor is used for executing the computer readable instructions, wherein the computer readable instructions execute an operation control method of the application program when running. The electronic device herein may be a server, a PC, a PAD, a mobile phone, etc.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). The memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in the process, method, article, or apparatus that comprises the element.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The above are merely examples of the present application and are not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims (10)

1. An operation control method of an application program, comprising:
intercepting access operation of an application program to an application program instance by the application program in the process of starting the application program of a computer, wherein the application program instance is used for representing the starting state of the application program;
redirecting an access address of the access operation to a target address, and receiving a target access result returned based on the target address, wherein the target access result is used for indicating that the application program instance does not exist;
and controlling the application program to finish starting based on the target access result.
2. The method according to claim 1, wherein before intercepting the access operation of the application program to the application program instance by the application program during the process of starting the application program of the computer, the method further comprises:
starting an operating system of the computer and starting a process corresponding to the application program;
and injecting a hook function into the memory space of the started process, wherein the hook function is used for monitoring an interface function called by the application program when the process runs and controlling the execution behavior of the interface function.
3. The method according to claim 1, wherein after intercepting the access operation of the application program to the application program instance during the process of starting the application program of the computer, the method further comprises:
judging whether the application program instance exists in the access address of the access operation;
in the presence of the application instance, performing the step of redirecting an access address of the access operation to a target address.
4. The method according to claim 2, wherein intercepting access operations of the application program to the application program instance during the process of starting the application program of the computer comprises:
intercepting a first dynamic link library called by the application program through the hook function, wherein the first dynamic link library comprises a first access function, and the first access function is used for accessing the application program instance.
5. The method of claim 4, wherein redirecting the access address of the access operation to a target address and receiving a target access result returned based on the target address comprises:
controlling the application program to acquire target function parameters of a second access function in a second dynamic link library, wherein the target function parameters comprise access addresses, and the access addresses of the second access function are different from the access addresses of the first access function;
and receiving an access result which is returned by the first access function based on the target function parameter execution access behavior and does not exist in the application program instance.
6. The method of claim 4, wherein the address at which the application instance is located is one of: and the target file address under the installation path of the application program supervises the memory address of the target server of the application program.
7. The method of claim 2, wherein the operating system of the computer is a LINUX system.
8. An operation control device for an application program, comprising:
the device comprises an intercepting unit, a judging unit and a processing unit, wherein the intercepting unit is used for intercepting the access operation of an application program to an application program instance in the process of starting the application program of a computer, and the existence of the application program instance is used for representing that the application program is started;
a redirection unit, configured to redirect an access address of the access operation to a target address, and receive a target access result returned based on the target address, where the target access result is used to indicate that the application program instance does not exist;
and the control unit is used for controlling the application program to finish starting based on the target access result.
9. A non-volatile storage medium, characterized in that the non-volatile storage medium includes a stored program, wherein the program controls a device in which the non-volatile storage medium is located to execute an operation control method of an application program according to any one of claims 1 to 7 when the program is executed.
10. An electronic device, comprising a processor and a memory, wherein the memory stores computer readable instructions, and the processor is configured to execute the computer readable instructions, wherein the computer readable instructions are executed to execute the operation control method of the application program according to any one of claims 1 to 7.
CN202110272048.8A 2021-03-12 2021-03-12 Application program running control method and device Active CN112988353B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110272048.8A CN112988353B (en) 2021-03-12 2021-03-12 Application program running control method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110272048.8A CN112988353B (en) 2021-03-12 2021-03-12 Application program running control method and device

Publications (2)

Publication Number Publication Date
CN112988353A true CN112988353A (en) 2021-06-18
CN112988353B CN112988353B (en) 2024-06-14

Family

ID=76335385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110272048.8A Active CN112988353B (en) 2021-03-12 2021-03-12 Application program running control method and device

Country Status (1)

Country Link
CN (1) CN112988353B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114070820A (en) * 2021-11-11 2022-02-18 南京指掌易信息科技有限公司 Domain name redirection method, device, medium and electronic equipment

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070261044A1 (en) * 2006-05-04 2007-11-08 Jonathan Clark Chained Hook Function Serving Multiple Versions Of Identically Named Dynamically Loaded Libraries
US20090204980A1 (en) * 2008-02-11 2009-08-13 Blue Coat Systems, Inc. Method for implementing ejection-safe API interception
CN102771085A (en) * 2009-12-23 2012-11-07 思杰系统有限公司 Systems and methods for maintaining transparent end to end cache redirection
US20120290718A1 (en) * 2011-05-10 2012-11-15 Glenn Nethercutt Methods and Computer Program Products for Collecting Storage Resource Performance Data Using File System Hooks
CN104199734A (en) * 2014-09-12 2014-12-10 上海斐讯数据通信技术有限公司 Android smart terminal based application multi-run management method and system
CN104375857A (en) * 2014-10-22 2015-02-25 腾讯科技(深圳)有限公司 Method and device for enabling application program to operate multiple instances and terminal equipment
CN109491725A (en) * 2018-11-12 2019-03-19 火烈鸟网络(广州)股份有限公司 Application program can interact more extractions of root and system, storage medium, electronic equipment
CN109614165A (en) * 2018-12-04 2019-04-12 山东财经大学 A kind of parallel operation method of the multi version of com component and device
CN110888724A (en) * 2019-11-20 2020-03-17 北京明略软件系统有限公司 Method and device for setting personal differentiation, electronic equipment and readable storage medium
CN111324386A (en) * 2018-12-13 2020-06-23 北京奇虎科技有限公司 Method and device for starting personal application program, electronic equipment and storage medium

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070261044A1 (en) * 2006-05-04 2007-11-08 Jonathan Clark Chained Hook Function Serving Multiple Versions Of Identically Named Dynamically Loaded Libraries
US20090204980A1 (en) * 2008-02-11 2009-08-13 Blue Coat Systems, Inc. Method for implementing ejection-safe API interception
CN102771085A (en) * 2009-12-23 2012-11-07 思杰系统有限公司 Systems and methods for maintaining transparent end to end cache redirection
US20120290718A1 (en) * 2011-05-10 2012-11-15 Glenn Nethercutt Methods and Computer Program Products for Collecting Storage Resource Performance Data Using File System Hooks
CN104199734A (en) * 2014-09-12 2014-12-10 上海斐讯数据通信技术有限公司 Android smart terminal based application multi-run management method and system
CN104375857A (en) * 2014-10-22 2015-02-25 腾讯科技(深圳)有限公司 Method and device for enabling application program to operate multiple instances and terminal equipment
CN109491725A (en) * 2018-11-12 2019-03-19 火烈鸟网络(广州)股份有限公司 Application program can interact more extractions of root and system, storage medium, electronic equipment
CN109614165A (en) * 2018-12-04 2019-04-12 山东财经大学 A kind of parallel operation method of the multi version of com component and device
CN111324386A (en) * 2018-12-13 2020-06-23 北京奇虎科技有限公司 Method and device for starting personal application program, electronic equipment and storage medium
CN110888724A (en) * 2019-11-20 2020-03-17 北京明略软件系统有限公司 Method and device for setting personal differentiation, electronic equipment and readable storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114070820A (en) * 2021-11-11 2022-02-18 南京指掌易信息科技有限公司 Domain name redirection method, device, medium and electronic equipment
CN114070820B (en) * 2021-11-11 2023-09-01 南京指掌易信息科技有限公司 Domain name redirection method, device, medium and electronic equipment

Also Published As

Publication number Publication date
CN112988353B (en) 2024-06-14

Similar Documents

Publication Publication Date Title
US20200120082A1 (en) Techniques for securing credentials used by functions
US10104123B2 (en) Fetching a policy definition library from a policy server at mobile device runtime of an application package to control access to mobile device resources
US9953161B2 (en) Method, device and system for processing notification bar message
CN107832100B (en) APK plug-in loading method and terminal thereof
US20110270886A1 (en) Mechanism and apparatus for transparently enables multi-tenant file access operation
US9509697B1 (en) Systems and methods for authorizing attempts to access shared libraries
CN109491725B (en) Interactive multi-opening method and system of application program, storage medium and electronic equipment
US20230036357A1 (en) Method and apparatus for authority control, computer device and storage medium
CN112651040A (en) Permission application method, component, device and computer readable storage medium
CN111353143A (en) Sensitive authority detection method and device and storage medium
CN110807191B (en) Safe operation method and device of application program
CN112988353B (en) Application program running control method and device
US10599409B2 (en) Application lifecycle operation queueing
CN113938527B (en) Extension processing method of API gateway, computing device and storage medium
CN111931222B (en) Application data encryption method, device, terminal and storage medium
CN111475763B (en) Webpage running method and device, storage medium and equipment
CN105653948B (en) Method and device for preventing malicious operation
CN113282363A (en) Method and device for optimizing hybrid APP
CN109088854B (en) Access method and device of shared application and readable storage medium
CN112632534A (en) Malicious behavior detection method and device
CN112860328A (en) Server control method, device, computing equipment and medium
CN111008375B (en) Data protection method and device
CN111459687A (en) Method and system for monitoring file transfer from host to virtual machine
EP4184326A1 (en) Local service provision method and apparatus, device, and storage medium
CN117762430B (en) Processing method and device based on application program, computer equipment and storage medium

Legal Events

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