A method of preventing tampering with software authorization use time

By detecting the device's authorization status and encrypting and storing the authorization expiration time and boot time when the software starts, the problem of software usage period being easily tampered with is solved, and effective protection of software usage period is achieved.

CN116150709BActive Publication Date: 2026-06-19WUKONG TECH (SICHUAN) GRP CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
WUKONG TECH (SICHUAN) GRP CO LTD
Filing Date
2022-11-14
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

In existing technologies, the lifespan of software can be easily altered illegally, resulting in a lack of protection for software rights.

Method used

When the software starts, it detects the device's authorization status and connects to the network center to obtain the authorization expiration time. It calculates the last usage time by encrypting the current time and boot time of the storage device, and performs software exit judgment at preset time intervals, using the AES256 algorithm to encrypt and store relevant data.

Benefits of technology

It effectively prevents the illegal extension of software usage periods, protects the rights and interests of software authors, and does not require external auxiliary equipment or a real-time internet connection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116150709B_ABST
    Figure CN116150709B_ABST
Patent Text Reader

Abstract

This invention relates to the field of software copyright protection technology, specifically to a method for preventing tampering with software license usage time. The method includes: upon software startup, detecting the license status of the corresponding device; if unauthorized, connecting the device to a network center to obtain and encrypt the device's license expiration time; calculating and encrypting the device's boot time based on the device's current time and boot duration; calculating the software's last usage time based on the device's boot time; detecting whether the device's current time is greater than the last usage time; if the device's current time is less than the last usage time, exiting the software; otherwise, proceeding to the next step; and at preset time intervals, using the device's license expiration time and boot time respectively, to determine software exit based on the device's current time and current boot time, thus solving the problem of unauthorized extensions of software usage periods.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of software copyright protection technology, and in particular to a method for preventing the alteration of software license usage time. Background Technology

[0002] Software licensing is a common business scenario. To protect their rights, software creators often set a usage period for their released software and store this period in plain text in a configuration file located in a specified path on the operating system. Users often try to illegally extend the software's usage period by tampering with the system time or the usage period in the configuration file, thus failing to protect the software's rights. Summary of the Invention

[0003] The purpose of this invention is to provide a method for preventing the tampering of software license usage time, aiming to solve the problem that the software usage period is easily extended illegally.

[0004] To achieve the above objectives, the present invention provides a method for preventing tampering with software license usage time, comprising the following steps:

[0005] When the S1 software starts, it checks the authorization status of the device corresponding to the software. If it is not authorized, it connects the device to the network center.

[0006] S2 obtains the device authorization expiration time from the network center and stores the device authorization expiration time in encrypted form;

[0007] S3 calculates the device's power-on time using the device's current time and power-on duration, and then encrypts and stores the device's current time and power-on time.

[0008] S4 calculates the last time the software was used based on the device's power-on time;

[0009] S5 checks whether the current time of the device is greater than the last usage time. If the current time of the device is less than the last usage time, the device exits the software. If the current time of the device is greater than the last usage time, step S6 is executed.

[0010] S6 performs a software exit judgment on the device at preset time intervals, using the device authorization expiration time and the device power-on time respectively, based on the device's current time and current power-on time.

[0011] The specific method for determining software exit of the device based on the device's current time using the device's authorization expiration time at each preset time interval is as follows:

[0012] S601 measures the current time of the device at preset time intervals to obtain the measurement time.

[0013] S602 detects whether the measurement time is within the authorized deadline range of the device. If the measurement time is not within the authorized deadline range of the device, the device exits the software.

[0014] The specific method for determining software exit based on the device's current power-on time at each preset time interval is as follows:

[0015] S611 After each preset time interval, the current time and power-on duration of the device are measured to calculate the current power-on time of the device;

[0016] S612 compares the current start time with the device power-on time. If the current start time is inconsistent with the initial power-on time, the device exits the software.

[0017] The specific method for obtaining the device authorization expiration time from the network center and encrypting and storing the device authorization expiration time is as follows:

[0018] The device authorization expiration time is obtained from the network center, and the device authorization expiration time is encrypted using an encryption algorithm and then stored in the local database.

[0019] The specific method for calculating the device's power-on time using the device's current time and power-on duration, and then encrypting and storing the device's current time and power-on time, is as follows:

[0020] The device's power-on time is calculated using the device's current time and power-on duration, and then encrypted using the encryption algorithm before being stored in the local database.

[0021] The method further includes, after determining whether the device will exit software based on its current time and current boot time using the device's authorization expiration time and the device's boot time at each preset time interval, the method also includes:

[0022] When the device exits the software, the correct time of the last use of the software is recorded.

[0023] The method further includes, after recording the correct time of the last use of the software when the device exits the software:

[0024] The correct time is encrypted using the encryption algorithm and then stored in the local database.

[0025] The encryption algorithm is AES256.

[0026] The preset time period is one minute.

[0027] Specifically, when the software starts, it checks the authorization status of the device corresponding to the software. If it is not authorized, the specific method for connecting the device to the network center is as follows:

[0028] When the software starts, it checks the authorization status of the device corresponding to the software. If it is not authorized, it uses the unique identifier of the device to connect to the network center.

[0029] This invention provides a method for preventing tampering with software license usage time. Upon software startup, the authorization status of the device corresponding to the software is detected. If unauthorized, the device is connected to a network center. The device's license expiration time is obtained from the network center and encrypted. The device's boot time is calculated using the device's current time and boot duration, and both are encrypted and stored. The last usage time of the software is calculated based on the device's boot time. The device's current time is checked against the last usage time. If the current time is less than the last usage time, the device exits the software; otherwise, the next step is executed. At preset time intervals, the device's license expiration time and boot time are used to determine software exit based on the device's current time and boot time, respectively. This method solves the problem of unauthorized extensions of software usage periods. Attached Figure Description

[0030] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0031] Figure 1 This is a flowchart of a method for preventing tampering with software license usage time provided by the present invention.

[0032] Figure 2 It is a flowchart that uses the device's authorization expiration time as a basis to determine whether the device will exit software at preset time intervals.

[0033] Figure 3 This is a flowchart illustrating the process of determining software exit for a device based on its current power-on time, using the device's power-on time at preset time intervals. Detailed Implementation

[0034] Embodiments of the present invention are described in detail below, examples of which are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain the present invention, and should not be construed as limiting the present invention.

[0035] Please see Figures 1 to 3 This invention provides a method for preventing tampering with software license usage time, comprising the following steps:

[0036] When the S1 software starts, it checks the authorization status of the device corresponding to the software. If it is not authorized, it connects the device to the network center.

[0037] Specifically, the "device" refers to an iOS or Android mobile device. The "network center" refers to a network service independently deployed on the Internet, specifically used for authorizing and authenticating devices.

[0038] When the software starts, it checks the authorization status of the device corresponding to the software. If it is not authorized, it uses the unique identifier of the device to connect to the network center.

[0039] The program starts, checks the device's authorization status, and if it is not authorized, obtains the device's unique identifier, retrieves the device authorization expiration time t5 from the center, encrypts the obtained device authorization expiration time t5 using the AES256 algorithm, stores it in the local database, and synchronizes the device time with the network time.

[0040] S2 obtains the device authorization expiration time from the network center and stores the device authorization expiration time in encrypted form;

[0041] Specifically, the device authorization expiration time is obtained from the network center, and then encrypted using an encryption algorithm before being stored in a local database. The encryption algorithm is AES256.

[0042] S3 calculates the device's power-on time using the device's current time and power-on duration, and then encrypts and stores the device's current time and power-on time.

[0043] Specifically, the device's power-on time is calculated using the device's current time and power-on duration, and the encryption algorithm is used to encrypt the device's current time and power-on time before storing them in the local database.

[0044] Get the device's current time t1, and encrypt and store the device's current time t1 in the local database using the AES256 algorithm.

[0045] Obtain the device power-on duration t2. Calculate the device power-on time t3 (t3 = t1 - t2), and encrypt the device power-on time t3 using the AES256 algorithm and store it in the local database.

[0046] S4 calculates the last time the software was used based on the device's power-on time;

[0047] S5 checks whether the current time of the device is greater than the last usage time. If the current time of the device is less than the last usage time, the device exits the software. If the current time of the device is greater than the last usage time, step S6 is executed.

[0048] Specifically, check if the current time t1 is greater than the last time the program was used, t4. If it is the first time the program is opened, then t4 = t1. If the current time t1 is not greater than the last time the program was used, then exit the program.

[0049] S6 performs a software exit judgment on the device at preset time intervals, using the device authorization expiration time and the device power-on time respectively, based on the device's current time and current power-on time.

[0050] Specifically, the preset time period is one minute.

[0051] The specific method for determining software exit of the device based on the current time of the device using the device authorization expiration time at each preset time interval is as follows:

[0052] S601 measures the current time of the device at preset time intervals to obtain the measurement time.

[0053] S602 detects whether the measurement time is within the authorized deadline range of the device. If the measurement time is not within the authorized deadline range of the device, the device exits the software.

[0054] Specifically, the current time t1 is retrieved every minute and compared with the device authorization expiration time t5. If the current time t1 is not less than the device authorization expiration time t5, the program exits.

[0055] The specific method for determining software exit based on the device's current power-on time at each preset time interval is as follows:

[0056] S611 After each preset time interval, the current time and power-on duration of the device are measured to calculate the current power-on time of the device;

[0057] S612 compares the current start time with the device power-on time. If the current start time is inconsistent with the initial power-on time, the device exits the software.

[0058] Specifically, the device power-on time is calculated every minute, and the calculation result is compared with t3. If the calculation result is inconsistent with t3, the program exits.

[0059] S7 records the correct time of the last use of the software when the device exits the software;

[0060] S8 uses the encryption algorithm to encrypt the correct time and then stores it in the local database.

[0061] The present invention has the following beneficial effects:

[0062] This invention is used to prevent the tampering of software license usage time. It does not require any external auxiliary equipment or a real-time internet connection. It uses the built-in functions of the device's operating system and certain algorithms to prevent illegal tampering of software license usage time and effectively protect the rights and interests of software authors.

[0063] The above-disclosed method is merely a preferred embodiment of the method for preventing tampering with software license usage time according to the present invention. Of course, it should not be construed as limiting the scope of the present invention. Those skilled in the art can understand that implementing all or part of the above-described embodiments and making equivalent changes in accordance with the claims of the present invention are still within the scope of the invention.

Claims

1. A method for preventing tampering with software license usage time, characterized in that, Includes the following steps: When the S1 software starts, it checks the authorization status of the device corresponding to the software. If it is not authorized, it connects the device to the network center. S2 obtains the device authorization expiration time from the network center and stores the device authorization expiration time in encrypted form; S3 calculates the device's power-on time using the device's current time and power-on duration, and then encrypts and stores the device's current time and power-on time. S4 calculates the last time the software was used based on the device's power-on time; S5 checks whether the current time of the device is greater than the last usage time. If the current time of the device is less than the last usage time, the device exits the software. If the current time of the device is greater than the last usage time, step S6 is executed. S6 performs a software exit judgment on the device at preset time intervals, using the device authorization expiration time and the device power-on time respectively, based on the device's current time and current power-on time.

2. The method for preventing tampering with software license usage time as described in claim 1, characterized in that, The specific method for determining software exit of the device based on the current time of the device using the device authorization expiration time at each preset time interval is as follows: S601 measures the current time of the device at preset time intervals to obtain the measurement time. S602 detects whether the measurement time is within the authorized deadline range of the device. If the measurement time is not within the authorized deadline range of the device, the device exits the software.

3. The method for preventing tampering with software license usage time as described in claim 2, characterized in that, The specific method for determining software exit based on the device's current power-on time at each preset time interval is as follows: S611 After each preset time interval, the current time and power-on duration of the device are measured to calculate the current power-on time of the device; S612 compares the current power-on time with the device power-on time. If the current power-on time is inconsistent with the initial power-on time, the device exits the software.

4. The method for preventing tampering with software license usage time as described in claim 3, characterized in that, The specific method for obtaining the device authorization expiration time from the network center and encrypting and storing the device authorization expiration time is as follows: The device authorization expiration time is obtained from the network center, and the device authorization expiration time is encrypted using an encryption algorithm and then stored in the local database.

5. The method for preventing tampering with software license usage time as described in claim 4, characterized in that, The specific method for calculating the device's power-on time using the device's current time and power-on duration, and for encrypting and storing the device's current time and power-on time, is as follows: The device's power-on time is calculated using the device's current time and power-on duration, and then encrypted using the encryption algorithm before being stored in the local database.

6. The method for preventing tampering with software license usage time as described in claim 5, characterized in that, After performing a software exit judgment on the device based on the device's current time and current boot time at each preset time interval in the steps, the method further includes: When the device exits the software, the correct time of the last use of the software is recorded.

7. The method for preventing tampering with software license usage time as described in claim 6, characterized in that, After recording the correct time of the last use of the software when the device exits the software, the method further includes: The correct time is encrypted using the encryption algorithm and then stored in the local database.

8. The method for preventing tampering with software license usage time as described in claim 7, characterized in that, The encryption algorithm is AES256.

9. The method for preventing tampering with software license usage time as described in claim 8, characterized in that, The preset time period is one minute.

10. The method for preventing tampering with software license usage time as described in claim 9, characterized in that, When the software starts, it checks the authorization status of the device corresponding to the software. If it is not authorized, the specific method for connecting the device to the network center is as follows: When the software starts, it checks the authorization status of the device corresponding to the software. If it is not authorized, it uses the unique identifier of the device to connect to the network center.