Dynamic uninstalling code protection method and system for preventing software from being randomly uninstalled
Patent Information
- Application Number
- CN202510169207.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-17
- Publication Date
- 2025-03-18
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The existing technology lacks effective protection measures during the software uninstallation stage, which leads to the software being uninstalled maliciously or incorrectly, and the uninstallation behavior and responsible persons cannot be tracked, which increases the difficulty of security management.
The uninstall monitoring service platform obtains the computer data of the software during installation and uninstallation, generates a dynamic uninstall code, and performs software uninstallation operations only when the dynamic uninstall code is successfully verified.
Effectively prevent the software from being uninstalled maliciously or incorrectly, enhance the software's management and control capabilities, reduce unstable factors caused by software uninstallation, and support offline uninstallation, improving the stability of the software.
Smart Images

Figure CN119646772A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of software uninstallation, and in particular to a dynamic uninstallation code protection method and system for preventing software from being uninstalled at will. Background Art
[0002] In the current computer environment, users can install and uninstall various software applications at any time.
[0003] However, some units need to install some security protection software that cannot be easily uninstalled by users without authorization, which poses a risk to system security.
[0004] In addition, for example, on computers shared in public places, it is also necessary to prevent the software from being uninstalled maliciously or accidentally; therefore, protection needs to be taken in the uninstallation method to avoid such situations.
[0005] Currently, the existing solutions only use software authorization codes or dynamic installation codes obtained online to restrict software installation during the software installation phase; or use registration codes or imported authorization key files after the software is installed to restrict software usage or software functions; and basically do not impose restrictions during the software uninstallation phase, or only use a fixed uninstallation code or a set of uninstallation codes to restrict software uninstallation.
[0006] The existing solutions have the following main defects:
[0007] When a user obtains an uninstall code through normal channels, the uninstall code may be leaked due to negligence or other reasons. Once obtained by unauthorized users, they can use the uninstall code to uninstall the software, making the measures originally designed to prevent random uninstallation ineffective.
[0008] The existing fixed uninstall code mechanism cannot provide network and information security managers with information about which computers and users have uninstalled the software. This means that when a security incident occurs or an audit is required, it is difficult to track the specific uninstall behavior and the person responsible. This undoubtedly increases the difficulty of security management, especially when it is necessary to assess the security risks of the entire network environment. Summary of the invention
[0009] Purpose of the invention: The purpose of the present invention is to solve the defects in the prior art and provide a dynamic uninstall code protection method and system to prevent software from being uninstalled at will.
[0010] Technical solution:
[0011] In the first aspect, the present application proposes a dynamic uninstall code protection method for preventing software from being uninstalled at will, comprising the steps of:
[0012] The uninstallation monitoring service platform obtains the computer data of the software during installation and encrypts it into encrypted data, and sends a continuing installation instruction to the computer according to the encrypted data, wherein the uninstallation monitoring service platform is deployed in a network administrator center or a network supervision platform;
[0013] Obtain computer data of the software when it is uninstalled through the uninstall monitoring service platform, calculate the hash value, and generate a dynamic uninstall code based on the hash value;
[0014] The computer obtains the dynamic uninstall code, and performs the software uninstall operation when the dynamic uninstall code is successfully verified.
[0015] Preferably, the computer data of the software during installation is obtained through the uninstallation monitoring service platform and encrypted into encrypted data, and a continuing installation instruction is issued to the computer according to the encrypted data, including:
[0016] The computer MAC address and CPUID number are collected when the software is installed on the computer;
[0017] Encrypt the MAC address and CPUID number by transmitting the encryption key;
[0018] The encrypted data is sent to the uninstall monitoring service platform, which determines whether the encrypted data is received. If received, the uninstall monitoring service platform registers the encrypted data and sends a command to the computer to continue installation. If not received, a command to terminate the software installation is sent to the computer.
[0019] Preferably, the uninstallation monitoring service platform registers the encrypted data and sends a continuing installation instruction to the computer, including:
[0020] The uninstall monitoring service platform decrypts the encrypted data, obtains the computer MAC address and CPUID number, and registers the encrypted data;
[0021] The uninstall monitoring service platform generates a terminal master key, encrypts it with a transmission encryption key, and then sends it to the computer;
[0022] After the computer obtains the encrypted terminal master key and saves it in the software installation directory, the software continues to be installed.
[0023] Preferably, obtaining computer data of the software when it is uninstalled through the uninstall monitoring service platform and calculating a hash value, and generating a dynamic uninstall code according to the hash value, including:
[0024] The computer MAC address and CPUID number are collected when the computer is uninstalling software;
[0025] The hash value calculated by the hash algorithm is used to form an upload data packet with the hash value and the current timestamp and sent to the uninstallation monitoring service platform;
[0026] The uninstall monitoring service platform determines whether the data packet is received. If received, the hash value is verified and a dynamic uninstall code is generated. If not received, an instruction to terminate the software uninstallation is sent to the computer.
[0027] Preferably, obtaining computer data of the software when it is uninstalled through the uninstall monitoring service platform and calculating a hash value, and generating a dynamic uninstall code according to the hash value, including:
[0028] When the software is uninstalled offline, it generates an upload data packet containing the computer's MAC address and CPUID number, a hash value calculated by a hash algorithm, and a timestamp.
[0029] Generate a QR code from the uploaded data package;
[0030] The user scans the QR code through the terminal to obtain the uploaded data package, verify the hash value in the uploaded data package and generate a dynamic uninstall code.
[0031] Preferably, verifying the Hash value and generating a dynamic uninstall code includes:
[0032] The uninstall monitoring service platform performs a hash operation on the computer MAC address and CPUID number registered during installation to obtain a hash value;
[0033] Verify and compare the hash value with the hash value in the data packet sent during unloading;
[0034] When the verification is passed, the terminal master key of the registered computer is obtained;
[0035] Generate a dynamic uninstall code using the registered computer's terminal master key to the hash value;
[0036] The uninstall monitoring service platform saves the dynamic uninstall code and the uploaded timestamp.
[0037] Preferably, the computer obtains the dynamic uninstall code, and when the dynamic uninstall code is successfully verified, performs an uninstall operation of the software, including:
[0038] Users obtain dynamic uninstall codes through network administrators, WeChat mini-programs, and mobile apps through the uninstall monitoring service platform.
[0039] Preferably, the computer obtains the dynamic uninstall code, and when the dynamic uninstall code is successfully verified, performs an uninstall operation of the software, including:
[0040] The user enters the dynamic uninstall code on the uninstall software;
[0041] The terminal master key decrypts the plain text using the transmission encryption key;
[0042] Obtain the hash value sent when uninstalling the software, encrypt it, and compare it with the input dynamic uninstall code;
[0043] When the comparison passes, the timestamp in the uploaded data packet is compared with the current time, and the software uninstallation continues when the time difference is within the set threshold.
[0044] Preferably, the Hash value generates a dynamic uninstall code, including:
[0045] Divide the Hash value into the left half and the right half;
[0046] The left and right halves of the hash value are encrypted using the terminal master key.
[0047] Perform an XOR operation on the left half encryption result and the right half encryption result;
[0048] The first four bytes of the XOR result are the dynamic unload code.
[0049] The present application also proposes a dynamic uninstall code protection system for preventing arbitrary software uninstallation, including a remote device for installing and uninstalling a monitoring service platform and a computer for installing and uninstalling software.
[0050] Beneficial effects: Through dynamic uninstall code verification, the software can be effectively prevented from being maliciously uninstalled or uninstalled by mistake, thereby protecting the interests of software developers and users; the dynamic uninstall code requires the user's explicit authorization to uninstall the software, thereby enhancing the management and control capabilities of the software; the method does not require large-scale modification or reconstruction of the software, and only requires adding a dynamic uninstall code verification link to the uninstall process, so it is easy to implement and integrate; the generation algorithm, validity period and other parameters of the dynamic uninstall code can be flexibly configured according to actual needs to meet the needs of different scenarios; by preventing malicious uninstallation and accidental uninstallation, the unstable factors caused by software uninstallation are reduced, thereby enhancing the stability of the software; even if the computer is offline, the software can be uninstalled, avoiding the situation where the computer cannot be uninstalled when it is offline; when uninstalling, by obtaining the computer's MAC address and CPUID number, it is easy to know which computers have performed the uninstall operation, which is convenient for managing the software and the computer. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] Figure 1 Provide a schematic diagram of the method framework for the present invention;
[0052] Figure 2 Provide a schematic diagram of the method framework under the installation process of the present invention;
[0053] Figure 3 A schematic diagram of a framework of a method for registering encrypted data is provided for the present invention;
[0054] Figure 4 Provide a schematic diagram of the framework of the method under the unloading process of the present invention;
[0055] Figure 5 A schematic diagram of a dynamic uninstall code verification method framework is provided for the present invention. DETAILED DESCRIPTION
[0056] In order to make the technical solution of the present invention clearer, the present invention is further described in detail below with reference to the specific embodiments of the accompanying drawings.
[0057] Example 1
[0058] In order to make the purpose, technical solutions and advantages of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention. Unless otherwise defined, the technical terms or scientific terms used herein should be understood by people with general skills in the field to which the present invention belongs. "Including" and similar words used in this article mean that the elements or objects appearing before the word include the elements or objects listed after the word and their equivalents, without excluding other elements or objects.
[0059] In view of the problems existing in the existing technology, such as Figure 1 As shown, a dynamic uninstall code protection method for preventing software from being uninstalled at will includes the following steps:
[0060] S101, obtaining computer data of the software during installation through an uninstallation monitoring service platform and encrypting it into encrypted data, and issuing a continuing installation instruction to the computer according to the encrypted data, wherein the uninstallation monitoring service platform is deployed in a network administrator center or a network supervision platform;
[0061] S102, obtaining computer data of the software when it is uninstalled through the uninstall monitoring service platform, calculating a hash value, and generating a dynamic uninstall code according to the hash value;
[0062] S103: The computer obtains a dynamic uninstall code, and performs an uninstall operation on the software when the dynamic uninstall code is successfully verified.
[0063] Specifically, the installation phase:
[0064] The uninstall monitoring service platform collects key information of the computer (such as MAC address, CPUID), encrypts the above information to generate "encrypted data", and sends a "continue installation instruction" to the target computer based on the encrypted data to complete the software installation. The uninstall monitoring service platform is deployed in the network administrator center or network supervision platform to ensure centralized management and security.
[0065] Uninstallation phase:
[0066] When the software is uninstalled, the computer's key information is obtained and its hash value is calculated through the uninstall monitoring service platform, and a dynamic uninstall code is generated based on the hash value. The dynamic uninstall code is generated by combining the computer's unique data and encryption algorithm to ensure uniqueness and security.
[0067] Verification and uninstallation operation: the target computer verifies the dynamic uninstallation code to verify whether the dynamic uninstallation code is valid. If the verification is successful, the software uninstallation operation is allowed to continue.
[0068] In some preferred embodiments, Figure 2 , obtain the computer data of the software during installation through the uninstall monitoring service platform and encrypt it into encrypted data, and send the computer a continuing installation instruction according to the encrypted data, including:
[0069] S110, the computer collects the computer MAC address and CPUID number when installing software;
[0070] S120, encrypting the MAC address and CPUID number by transmitting an encryption key;
[0071] S130, S140, S150, S160, sending the encrypted data to the uninstall monitoring service platform, and determining whether the encrypted data is received through the uninstall monitoring service platform. If received, the uninstall monitoring service platform registers the encrypted data and sends a continue installation instruction to the computer. If not received, a command to terminate the software installation is sent to the computer.
[0072] Specifically, the MAC address and CPUID number of the computer are collected as the unique identifier of the device, and the collected data is encrypted using the transmission encryption key (TEK), wherein the encryption algorithm may adopt symmetric encryption (such as AES, SM4) or other suitable encryption technology to ensure the security of data transmission, and the encrypted data packet is transmitted to the offload monitoring service platform through the network;
[0073] The service platform receives the data and verifies whether the data packet is complete and confirms whether the data is successfully transmitted to the platform;
[0074] Condition judgment: If the transmission is successful, the uninstall monitoring service platform will decrypt and register the encrypted data, generate a "continue installation instruction" based on the verification result, and send it to the target computer. After the computer receives the instruction, it will continue the installation process.
[0075] If the transmission fails, if no data is received or the verification fails, the service platform sends a "terminate installation instruction" to the computer, and the computer terminates the software installation and prompts the user.
[0076] Through the above scheme, data encryption and transmission protection mechanisms effectively prevent man-in-the-middle attacks and data leakage, allowing only computers that have been verified by the platform to continue installation and preventing unauthorized device operations.
[0077] Prevent misoperation and automatically terminate the installation process when transmission or verification fails, reducing the potential risks caused by incorrect installation;
[0078] Centralized management: Unified device management is performed through the uninstall monitoring service platform, which facilitates recording and auditing of device installation operations.
[0079] In some preferred embodiments, Figure 3 , the uninstall monitoring service platform registers the encrypted data and sends a continuing installation instruction to the computer, including:
[0080] S210, the uninstall monitoring service platform decrypts the encrypted data, obtains the computer MAC address and CPUID number, and registers the encrypted data;
[0081] S220, the uninstallation monitoring service platform generates a terminal master key, encrypts it with a transmission encryption key, and then sends it to the computer;
[0082] S230. After the computer obtains the encrypted terminal master key and saves it in the software installation directory, the software continues to be installed.
[0083] Specifically, the encrypted data is decrypted and registered, and the uninstall monitoring service platform receives the encrypted data uploaded by the target computer;
[0084] Decrypt the encrypted data using the transport encryption key (TEK), obtain the computer's MAC address and CPUID number after decryption, and register the decrypted computer information into the database of the uninstall monitoring service platform. The registration content includes: MAC address, CPUID number, timestamp, software version number, etc.;
[0085] The uninstall monitoring service platform generates a terminal master key (TMK) bound to the target computer, which is used for subsequent uninstall code generation and verification;
[0086] The terminal master key is encrypted using the transport encryption key (TEK) to ensure the security of the key during transmission. The encrypted terminal master key is sent to the target computer. After receiving the master key, the computer allows the software to continue to be installed.
[0087] A unique terminal master key (TMK) is generated for each computer to ensure the uniqueness and security of the key. It is encrypted using the transmission encryption key (TEK) to prevent the key from being stolen during transmission. The uninstall monitoring service platform uniformly registers and manages the computer's hardware information and keys to facilitate subsequent uninstall monitoring and auditing. From data decryption to key generation to installation completion, each step is encrypted and verified to ensure the security and standardization of the installation process.
[0088] In some preferred embodiments, Figure 4 , obtain the computer data of the software when it is uninstalled through the uninstall monitoring service platform, calculate the hash value, and generate a dynamic uninstall code based on the hash value, including:
[0089] S310, when uninstalling software, the computer collects the computer MAC address and CPUID number; the hash value calculated by the hash algorithm,
[0090] S320, sending an upload data packet composed of the hash value and the current timestamp to the uninstallation monitoring service platform;
[0091] S330, S340, S350, determine whether the data packet is received through the uninstall monitoring service platform, if received, verify the Hash value and generate a dynamic uninstall code, if not received, send an instruction to the computer to terminate the software uninstallation.
[0092] Specifically, when the user requests to uninstall the software, the computer starts the data collection process, collects the computer's MAC address and CPUID number as the unique identification information of the device, and uses a hash algorithm (such as SHA256, SM3, etc.) to hash the MAC address and CPUID number to generate a unique hash value. The hash value can prevent the original data from being directly exposed and improve security. The generated hash value is combined with the current timestamp to form an upload data packet. The data packet format example is:
[0093] Hash value + "|" separator + current timestamp => data package to be uploaded;
[0094] The data packet is uploaded to the offloading monitoring service platform through the network;
[0095] During the transmission process, it is recommended to use the transmission encryption key (TEK) to encrypt the data packet to ensure the security of the transmission process.
[0096] Receiving judgment:
[0097] Receiving successfully: The uninstallation monitoring service platform receives the data packet and enters the next step of the verification process;
[0098] Receiving failure: If no data packet is received, a "terminate uninstallation instruction" is sent to the computer and the uninstallation operation is terminated.
[0099] A dynamic uninstall code is generated based on the device's unique information (MAC address, CPUID) and timestamp to ensure its uniqueness and timeliness. The dynamic uninstall code is only valid within a specified time range, further improving security. The original information of the device is protected through hash value calculation. Data packet transmission and verification use a secure encryption mechanism to prevent data leakage or tampering. The uninstall monitoring service platform uniformly manages and verifies the device's uninstall requests, provides global control capabilities, and records all operation logs for easy traceability and auditing. If reception or verification fails, the platform can promptly send a "termination uninstallation instruction" to the computer to avoid accidental uninstallation or security vulnerabilities.
[0100] In some preferred embodiments, the computer data of the software when uninstalling is obtained through the uninstallation monitoring service platform, a hash value is obtained by calculation, and a dynamic uninstallation code is generated according to the hash value, including:
[0101] When the software is uninstalled offline, it generates an upload data packet containing the computer's MAC address and CPUID number, a hash value calculated by a hash algorithm, and a timestamp.
[0102] Generate a QR code from the uploaded data package;
[0103] The user scans the QR code through the terminal to obtain the uploaded data package, verify the hash value in the uploaded data package and generate a dynamic uninstall code.
[0104] Specifically, the unique identification information of the computer, such as the MAC address and CPUID number, is collected, and a unique hash value is calculated using a hash algorithm (such as SHA256, SM3) for the collected device information. The generated hash value is combined with the current timestamp to form an upload data packet, and the upload data packet is encoded into a QR code image through a QR code, and is displayed on the software uninstallation interface for the user to scan.
[0105] The user uses a terminal device (such as a mobile phone or tablet) to scan the QR code generated by the uninstallation program. The terminal device parses the QR code, extracts the uploaded data packet (including the hash value and timestamp), and uploads the parsed data packet to the uninstallation monitoring service platform for verification and processing.
[0106] Data packet transmission is achieved through QR codes, and dynamic uninstall codes are supported to be generated in offline environments, which improves the applicability of the solution. The dynamic uninstall codes are generated based on device information, timestamp and terminal master key, and are unique and timely.
[0107] In some preferred embodiments, Figure 5 , then verify the Hash value and generate a dynamic uninstall code, including:
[0108] S410, performing a hash operation on the computer MAC address and CPUID number registered during installation to obtain a hash value through the uninstallation monitoring service platform; verifying and comparing the hash value with the hash value in the data packet sent during uninstallation;
[0109] S420, when the verification is passed, the terminal master key of the registered computer is obtained;
[0110] S430, generating a dynamic uninstall code by using the terminal master key of the registered computer to the hash value;
[0111] S440. The uninstallation monitoring service platform saves the dynamic uninstallation code and the uploaded timestamp.
[0112] Specifically, the uninstall monitoring service platform extracts the computer's MAC address and CPUID number from the records registered during installation, uses the same hash algorithm as the client (such as SHA256, SM3) to calculate the extracted MAC address and CPUID number, generates a hash value on the platform side, compares the hash value calculated by the platform side with the hash value in the data packet uploaded by the client during uninstallation, and after verification, searches the database of the uninstall monitoring service platform for the corresponding terminal master key (TMK) based on the verified MAC address and CPUID number to ensure that the found terminal master key matches the current device and is valid, uses the verified hash value as the basic data for generating a dynamic uninstall code, and stores the generated dynamic uninstall code and related information (such as timestamp, device identification) in the platform database for subsequent auditing and tracing.
[0113] In some preferred embodiments, the computer obtains a dynamic uninstall code, and when the dynamic uninstall code is successfully verified, the software uninstall operation is performed, including:
[0114] S450, the user enters a dynamic uninstall code in the uninstall software;
[0115] S460, the terminal master key decrypts the plain text by transmitting the encryption key, obtains the hash value sent when the software is uninstalled, encrypts the new dynamic uninstall code, and compares it with the input dynamic uninstall code. If the comparison passes, the timestamp in the uploaded data packet is compared with the current time;
[0116] S470: When the time difference is within the set threshold, continue uninstalling the software.
[0117] Specifically, the user starts the uninstall program and enters the dynamic uninstall code obtained through the uninstall monitoring service platform in the program prompt box. The uninstall program reads the ciphertext of the terminal master key (TMK) saved in the installation directory, and uses the transmission encryption key (TEK, the encryption and decryption algorithm can use typical symmetric encryption algorithms such as DES, AES, SM4, etc.; asymmetric encryption algorithms such as RSA, SM2, etc.) to decrypt the ciphertext of the terminal master key to obtain the plaintext TMK, ensure the security of the decryption process, and prevent key leakage. The uninstall program extracts the hash value from the uploaded data packet. The hash value is generated based on the computer's unique information (such as MAC address, CPUID number). The decrypted plaintext TMK and the extracted hash value are used to generate a new dynamic uninstall code. The dynamic uninstall code entered by the user is compared with the dynamic uninstall code regenerated by the program. If the verification is passed: enter the timestamp verification step. If the verification fails: prompt the user that the dynamic uninstall code entered is wrong, and the uninstall process is terminated. The timestamp is extracted from the data packet uploaded by the uninstall program, and the timestamp in the uploaded data packet is compared with the current system time:
[0118] Calculation formula: time difference = current time - upload timestamp;
[0119] Determine whether the time difference is within the set threshold range (such as 30 seconds, 60 seconds). If the verification is passed, proceed to the next step. If both the dynamic uninstall code and timestamp verification are passed, the uninstall program allows the remaining uninstall process to continue. The dynamic uninstall code verification is combined with the timestamp verification to ensure the legitimacy and timeliness of the uninstall operation.
[0120] Improve the security of the uninstall process and prevent malicious operations. Generate a dynamic uninstall code based on the device's unique information (Hash value) and the terminal's master key, which has strong uniqueness and anti-tampering capabilities. The terminal's master key is protected by a transmission encryption key to ensure its security during local storage and decryption.
[0121] In some preferred embodiments, the computer obtains a dynamic uninstall code, and when the dynamic uninstall code is successfully verified, the software uninstall operation is performed, including:
[0122] Users obtain dynamic uninstall codes through network administrators, WeChat mini-programs, and mobile apps through the uninstall monitoring service platform.
[0123] In some preferred embodiments, the Hash value generates a dynamic uninstall code, including:
[0124] Divide the Hash value into the left half and the right half;
[0125] The left and right halves of the hash value are encrypted using the terminal master key.
[0126] Perform an XOR operation on the left half encryption result and the right half encryption result;
[0127] The first four bytes of the XOR result are the dynamic unload code.
[0128] Specifically, the Hash value is divided into a left half and a right half.
[0129] Assume that Hash value = 1234567890ABCDEF;
[0130] Left half = 12345678;
[0131] Right half = 90ABCDEF;
[0132] The left and right halves are encrypted separately using the terminal master key.
[0133] Example:
[0134] Use encryption algorithms (such as AES, SM4, etc.).
[0135] Left encryption result: Encrypt(TMK, left half)
[0136] Right encryption result: Encrypt(TMK, right half)
[0137] Encryption result:
[0138] Left encryption result = L_Enc
[0139] Right encryption result = R_Enc
[0140] Perform bit-by-bit XOR operation on the left and right encrypted results:
[0141] XOR_Result=L_Enc^R_Enc
[0142] Example:
[0143] Left encryption result: 10101010
[0144] Right encryption result: 01010101
[0145] XOR result: XOR_Result=11111111
[0146] Extract the first four bytes:
[0147] Extract the first four bytes (8 hexadecimal characters) from the XOR operation result as the dynamic uninstall code.
[0148] Example:
[0149] XOR result: XOR_Result=1111222233334444
[0150] Dynamic uninstall code: 11112222.
[0151] The hash value is segmented and encrypted independently to prevent single-point cracking. Even if part of the information is leaked, the overall dynamic code is still difficult to crack. The XOR operation introduces additional complexity, further improving the security of the dynamic uninstall code. The first four bytes are extracted as the dynamic uninstall code, which has a moderate length and is easy for users to enter and verify.
[0152] In some preferred embodiments, a dynamic uninstall code protection system for preventing arbitrary software uninstallation according to the method described in the above embodiments is proposed, including a remote device for installing and uninstalling a monitoring service platform and a computer for installing and uninstalling software.
[0153] The above is only a specific implementation of the embodiment of the present invention, but the protection scope of the embodiment of the present invention is not limited thereto. Any changes or substitutions within the technical scope disclosed in the embodiment of the present invention should be included in the protection scope of the embodiment of the present invention. Therefore, the protection scope of the embodiment of the present invention should be based on the protection scope of the claims.
Claims
1. A dynamic uninstall code protection method for preventing software from being uninstalled at will, characterized in that: Includes steps: The computer data of the software during installation is obtained through the uninstallation monitoring service platform and encrypted into encrypted data, and a continuing installation instruction is issued to the computer according to the encrypted data, wherein the uninstallation monitoring service platform is deployed in a network administrator center or a network supervision platform; Obtain computer data of the software when it is uninstalled through the uninstall monitoring service platform, calculate the hash value, and generate a dynamic uninstall code based on the hash value; The computer obtains the dynamic uninstall code, and performs the software uninstall operation when the dynamic uninstall code is successfully verified.
2. The method according to claim 1, characterized in that The uninstall monitoring service platform obtains the computer data of the software during installation and encrypts it into encrypted data, and sends the computer a continuing installation instruction based on the encrypted data, including: The computer MAC address and CPUID number are collected when the software is installed on the computer; Encrypt the MAC address and CPUID number by transmitting the encryption key; The encrypted data is sent to the uninstall monitoring service platform, which determines whether the encrypted data is received. If received, the uninstall monitoring service platform registers the encrypted data and sends a command to the computer to continue installation. If not received, a command to terminate the software installation is sent to the computer.
3. The method according to claim 2, characterized in that The uninstall monitoring service platform registers the encrypted data and sends a continuing installation instruction to the computer, including: The uninstall monitoring service platform decrypts the encrypted data, obtains the computer MAC address and CPUID number, and registers the encrypted data; The uninstall monitoring service platform generates a terminal master key, encrypts it with a transmission encryption key, and then sends it to the computer; After the computer obtains the encrypted terminal master key and saves it in the software installation directory, the software continues to be installed.
4. The method according to claim 1, characterized in that: Obtain the computer data of the software when it is uninstalled through the uninstall monitoring service platform, calculate the hash value, and generate a dynamic uninstall code based on the hash value, including: The computer MAC address and CPUID number are collected when the computer is uninstalling software; The hash value calculated by the hash algorithm is used to form an upload data packet with the hash value and the current timestamp and sent to the uninstallation monitoring service platform; The uninstall monitoring service platform determines whether the data packet is received. If received, the hash value is verified and a dynamic uninstall code is generated. If not received, an instruction to terminate the software uninstallation is sent to the computer.
5. The method according to claim 1, characterized in that Obtain the computer data of the software when it is uninstalled through the uninstall monitoring service platform, calculate the hash value, and generate a dynamic uninstall code based on the hash value, including: When the software is uninstalled offline, it generates an upload data packet containing the computer's MAC address and CPUID number, a hash value calculated by a hash algorithm, and a timestamp. Generate a QR code from the uploaded data package; The user scans the QR code through the terminal to obtain the uploaded data package, verify the hash value in the uploaded data package and generate a dynamic uninstall code.
6. The method according to claim 4 or 5, characterized in that: Then verify the hash value and generate a dynamic uninstall code, including: The uninstall monitoring service platform performs a hash operation on the computer MAC address and CPUID number registered during installation to obtain a hash value; Verify and compare the hash value with the hash value in the data packet sent during unloading; When the verification is passed, the terminal master key of the registered computer is obtained; Generate a dynamic uninstall code using the registered computer's terminal master key to the hash value; The uninstall monitoring service platform saves the dynamic uninstall code and the uploaded timestamp.
7. The method according to claim 4 or 5, characterized in that: The computer obtains the dynamic uninstall code, and when the dynamic uninstall code is successfully verified, the software uninstall operation is performed, including: Users obtain dynamic uninstall codes through network administrators, WeChat mini-programs, and mobile apps through the uninstall monitoring service platform.
8. The method according to claim 6, characterized in that The computer obtains the dynamic uninstall code, and when the dynamic uninstall code is successfully verified, the software uninstall operation is performed, including: The user enters the dynamic uninstall code on the uninstall software; The terminal master key decrypts the plain text using the transmission encryption key; Obtain the hash value sent when uninstalling the software, encrypt it, and compare it with the input dynamic uninstall code; When the comparison passes, the timestamp in the uploaded data packet is compared with the current time, and the software uninstallation continues when the time difference is within the set threshold.
9. The method according to claim 4 or 5, characterized in that: The hash value generates a dynamic uninstall code, including: Divide the Hash value into the left half and the right half; The left and right halves of the hash value are encrypted using the terminal master key. Perform an XOR operation on the left half encryption result and the right half encryption result; The first four bytes of the XOR result are the dynamic unload code.
10. A dynamic uninstall code protection system for preventing arbitrary software uninstallation according to the method of any one of claims 1 to 9, characterized in that: It includes a remote device for installing and uninstalling the monitoring service platform and a computer for installing and uninstalling software.
Citation Information
Patent Citations
Self-defining installation, login and uninstall method of computer security agent
CN101119362A
An offline unloading method of a terminal program
CN109375925A
Application program uninstalling prevention method and device and storage medium
CN115577345A
Software authorization verification method, computer and storage medium
CN116150712A