Offline license time control method, system and readable storage medium

By judging the time point offset in an offline environment and correcting the software's running time, the software's running time inaccurate caused by computer system time tampering is solved, and the accuracy and rights protection of license time control are achieved.

CN114356618BActive Publication Date: 2025-08-12HENAN XINDA WANGYU TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111440097.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-30
Publication Date
2025-08-12
Estimated Expiration
2041-11-30

AI Technical Summary

Technical Problem

In an offline environment, the computer system time is easily tampered with abnormally, resulting in inaccurate judgment of software running time, affecting the accuracy and rights of license time control.

Method used

By determining whether there is an offset in the time point to be recorded, the correction model is used to correct the running time of the software, and combining the offset judgment module, the background time tracking correction module and the timeout judgment module to ensure the accuracy of the software running time.

Benefits of technology

In an offline environment, the accuracy of software running time judgment is improved, ensuring the rights and interests of license time control, and preventing system time from being abnormally tampered with.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114356618B_ABST
    Figure CN114356618B_ABST
Patent Text Reader

Abstract

The present invention provides an offline license time management method, system, and readable storage medium. The method includes the following steps: determining whether a time point to be recorded has shifted; if so, correcting the currently recorded software runtime; and determining whether the software runtime has timed out based on the corrected software runtime; and if the time point to be recorded has not shifted, determining whether the software runtime has timed out based on the currently recorded software runtime. This invention can compensate for abnormal system time manipulation in a completely offline device environment, improving the accuracy of software runtime determination, and thus effectively ensuring the rights and interests of license time management in an offline environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of software management, and in particular to an offline license time management method, system and readable storage medium. Background Art

[0002] A license is an agreement that regulates software usage rights and prevents illegal operations, thereby protecting the rights and interests of software providers. This agreement can limit device usage, usage environments, and duration.

[0003] The conventional process of limiting usage time is as follows Figure 1 As shown, the computer system time is directly read to determine whether the software running time has timed out. Since the computer system time is generally provided by a dedicated RTC chip or relies on the CPU clock cycle record, there is a certain error. In addition, the computer system time may also be subject to abnormal human tampering; therefore, the obtained computer system time has a large error and is difficult to track, resulting in inaccurate software usage permission management.

[0004] To solve this problem, in computers with networking capabilities, in order to enhance the accuracy of the computer system time obtained by the computer software, additional corrections are usually made to the recorded computer system time. The process is as follows: Figure 2 As shown in the figure, in this process, the computer will rely on the remote server to provide time correction or record the current computer status. It is difficult for users to tamper with the data in the remote server, which greatly improves the accuracy of time recording and the computer's defense ability against time tampering.

[0005] However, if the computer itself is offline or lacks internet access, the system time cannot be corrected, and the software running on it cannot communicate with the remote server to correct the current computer's operation. In this case, if the computer system time is abnormally tampered with, it will be difficult to track and correct it. This may result in an inability to accurately know the device's operating time, greatly reducing the ability to use licenses to restrict software rights, and even causing software developers to lose their software rights.

[0006] In order to solve the above problems, people have been seeking an ideal technical solution. Summary of the Invention

[0007] The purpose of the present invention is to address the deficiencies of the prior art and thereby provide an offline license time management method, system and readable storage medium.

[0008] In order to achieve the above object, the technical solution adopted by the present invention is:

[0009] A first aspect of the present invention provides an offline license time management method, the method comprising the following steps:

[0010] Determine whether the time point to be recorded is offset:

[0011] Read the time point to be recorded, the time point of the last record, and track the repair cycle;

[0012] If the time point to be recorded is ≠ the last recorded time point + the tracking and repair period, the time point to be recorded is determined to be offset; if the time point to be recorded is greater than the last recorded time point + the tracking and repair period, the time point to be recorded is determined to be ahead of schedule; if the time point to be recorded is less than the last recorded time point + the tracking and repair period, the time point to be recorded is determined to be behind schedule;

[0013] If the time point to be recorded is offset, the currently recorded software running time is corrected, and whether the software running time has timed out is determined based on the corrected software running time;

[0014] If the time point to be recorded does not shift, whether the software running time has timed out is determined based on the currently recorded software running time.

[0015] The second aspect of the present invention provides an offline license time management system, which includes an offset judgment module, a background time tracking and correction module, and a timeout judgment module, wherein:

[0016] The offset judgment module is used to obtain the time point to be recorded and judge whether the time point to be recorded has offset: reading the time point to be recorded, the last recorded time point and the tracking and repair cycle;

[0017] If the time point to be recorded is ≠ the last recorded time point + the tracking and repair period, the time point to be recorded is determined to be offset; if the time point to be recorded is greater than the last recorded time point + the tracking and repair period, the time point to be recorded is determined to be ahead of schedule; if the time point to be recorded is less than the last recorded time point + the tracking and repair period, the time point to be recorded is determined to be behind schedule;

[0018] If the time point to be recorded = the time point of the last recording + the tracking and repair period, it is determined that the time point to be recorded has not shifted;

[0019] The background time tracking and correction module is used to correct the currently recorded software running time when the time point to be recorded is offset, and transmit the corrected software running time to the timeout judgment module;

[0020] The timeout judgment module is used to judge whether the software running time has timed out based on the corrected software running time, and is also used to judge whether the software running time has timed out based on the currently recorded software running time.

[0021] A third aspect of the present invention provides a readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the above-mentioned offline license time management method.

[0022] The present invention has outstanding substantive features and significant progress compared to the prior art. Specifically:

[0023] 1) When the computer is offline and cannot use a remote server to record and track, the computer system time itself is inaccurate, easily tampered with, and difficult to record and correct. This invention can determine whether the time point to be recorded has shifted, and then determine whether the current system time is accurate, thereby improving the accuracy of software runtime monitoring;

[0024] 2) In a completely offline device environment, the present invention compensates for abnormal tampering of the system time, improving the accuracy of software runtime judgment, thereby effectively ensuring the license time management rights in an offline environment;

[0025] 3) Correct the currently recorded software running time using the first correction model and the second correction model, thereby preventing the system time from being abnormally tampered with, and thus ensuring the accuracy of the software running time to be recorded;

[0026] 4) The background time text recording module stores the last recorded software running time and the last recorded time point in ciphertext to ensure that the last recorded software running time and the last recorded time point are not tampered with, thereby ensuring the accuracy of the offset judgment of the time point to be recorded and the accuracy of the correction of the time point to be recorded;

[0027] 5) The background time text recording module records a root recording file, a software runtime tracking recording file and a third recording file. Only any one of the three files needs to be normal without affecting the functionality of the time recording. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] Figure 1 It is the existing technology to limit the use time monitoring process Figure 1 ;

[0029] Figure 2 It is the existing technology to limit the use time monitoring process Figure 2 ;

[0030] Figure 3 This is a flow chart of the offline license time management method of the present invention;

[0031] Figure 4 This is a schematic diagram of the offline license time management system of the present invention. Figure 1 ;

[0032] Figure 5 This is a schematic diagram of the offline license time management system of the present invention. Figure 2 . DETAILED DESCRIPTION

[0033] The technical solution of the present invention is further described in detail below through specific implementation methods.

[0034] Example 1

[0035] As attached Figure 3 As shown, an offline license time control method is deployed in a required computer, and the offline license time control method includes the following steps:

[0036] Determine whether the time point to be recorded is offset:

[0037] Read the time point to be recorded, the time point of the last record, and track the repair cycle;

[0038] If the time point to be recorded is ≠ the last recorded time point + the tracking and repair period, the time point to be recorded is determined to be offset; if the time point to be recorded is greater than the last recorded time point + the tracking and repair period, the time point to be recorded is determined to be ahead of schedule; if the time point to be recorded is less than the last recorded time point + the tracking and repair period, the time point to be recorded is determined to be behind schedule;

[0039] If the time point to be recorded = the time point of the last recording + the tracking and repair period, it is determined that the time point to be recorded has not shifted;

[0040] If the time point to be recorded is offset, the currently recorded software running time is corrected, and whether the software running time has timed out is determined based on the corrected software running time;

[0041] If the time point to be recorded does not shift, whether the software running time has timed out is determined based on the currently recorded software running time.

[0042] The time point to be recorded is the current system time, and the tracking and repairing period is a preset CPU clock timing wake-up period.

[0043] It should be noted that a time point to be recorded can be used as the system time corresponding to the beginning of the current tracking and repair cycle (for example, the third tracking and repair cycle), or as the system time corresponding to the end of the previous tracking and repair cycle (for example, the second tracking and repair cycle); similarly, a last recorded time point can be used as the system time corresponding to the end of the previous tracking and repair cycle (for example, the first tracking and repair cycle), or as the system time corresponding to the beginning of the previous tracking and repair cycle (for example, the second tracking and repair cycle).

[0044] Specifically, the tracking and repairing period may be 2 hours, 1 hour, or 0.5 hours, and may be adaptively adjusted according to the usable duration of the protected software.

[0045] It should be noted that when the system is shut down or the software protected by the license agreement is in a crashed, stuck or closed state, the recorded software running time will not be updated; when the software protected by the license agreement is in an open state, the recorded software running time will be updated based on the tracking and repair cycle.

[0046] It can be understood that the time point to be recorded and the time point of the last record are both moments. For example, the time point of the last record is 8:08:08 on January 1, 2021. The last recorded software running time is 8 hours. The tracking and repair cycle is 1 hour. The software protected by the license agreement is allowed to be used for 24 hours.

[0047] If the acquired time point to be recorded is 9:08:08 on January 1, 2021, it is determined that the time point to be recorded has not shifted;

[0048] If the acquired time point to be recorded is before 9:08:08 on January 1, 2021 (for example, 8:08:08 on January 1, 2021), it is determined that the time point to be recorded is in a delayed state;

[0049] If the acquired time point to be recorded is after 9:08:08 on January 1, 2021 (for example, 14:08:08 on January 1, 2021), it is determined that the time point to be recorded is in an advanced state.

[0050] It can be understood that the specific steps for determining whether the software running time has timed out based on the corrected software running time or the currently recorded software running time are:

[0051] Obtain the usable duration of the protected software and the start time of the agreement. Determine the running duration of the protected software based on the revised running duration of the software or the currently recorded running duration of the software. If the running duration is less than the usable duration, it means that the protected software has not exceeded the time limit. If the running duration is greater than or equal to the usable duration, it means that the protected software has exceeded the time limit and cannot be used any further.

[0052] This embodiment also provides a specific implementation method for repairing the system time. When correcting the currently recorded software running time, execute:

[0053] (1) If the time point to be recorded is in an advanced state, the last recorded software running time is obtained, and the currently recorded software running time is corrected using the first correction model;

[0054] The first correction model is: the corrected software running time = (time point to be recorded - time point of last recording) + software running time recorded last time;

[0055] (2) If the time point to be recorded is in a delayed state, the last recorded software running time is obtained, and the currently recorded software running time is corrected using the second correction model;

[0056] The second correction model is: the corrected software running time = tracking and repair cycle + the last recorded software running time.

[0057] Due to factors such as software crashes and freezes protected by the license agreement, the time point to be recorded is in advance. For example, if the time point to be recorded is after 9:08:08 on January 1, 2021 (for example, 14:08:08 on January 1, 2021), then the corrected software running time = ((14:08:08 on January 1, 2021) - (8:08:08 on January 1, 2021)) + 8h = 14h;

[0058] If the time point to be recorded is delayed due to factors such as manual tampering by the user:

[0059] For example, if the acquired time point to be recorded is before 9:08:08 on January 1, 2021 (for example, 8:08:08 on January 1, 2021), then the corrected software running time = 1h + 8h = 9h.

[0060] Furthermore, the triggering conditions for determining whether the time point to be recorded is offset include:

[0061] Pre-configure the tracking and repair cycle, and start timing after the software is activated; confirm whether the set time has been reached. If so, trigger the logic to determine whether there is any offset in the time point to be recorded;

[0062] Alternatively, it is monitored whether a key operation is performed, and if so, the logic of determining whether a shift occurs at the time point to be recorded is triggered.

[0063] Specifically, the key operations may be some preset software operation instructions.

[0064] Example 2

[0065] Based on Example 1, this example provides a specific implementation of an offline license time management system, which includes an offset judgment module, a background time tracking and correction module, and a timeout judgment module, wherein:

[0066] The offset judgment module is used to obtain the time point to be recorded and determine whether the time point to be recorded is offset; specifically, it is used to:

[0067] Read the time point to be recorded, the last recorded time point and the tracking and repairing period, wherein the tracking and repairing period is a preset CPU clock timer wake-up period;

[0068] If the time point to be recorded is ≠ the last recorded time point + the tracking and repair period, the time point to be recorded is determined to be offset; if the time point to be recorded is greater than the last recorded time point + the tracking and repair period, the time point to be recorded is determined to be ahead of schedule; if the time point to be recorded is less than the last recorded time point + the tracking and repair period, the time point to be recorded is determined to be behind schedule;

[0069] If the time point to be recorded = the time point of the last recording + the tracking and repair period, it is determined that the time point to be recorded has not shifted;

[0070] The background time tracking and correction module is used to correct the currently recorded software running time when the time point to be recorded is offset, and transmit the corrected software running time to the timeout judgment module;

[0071] The timeout judgment module is used to judge whether the software running time has timed out based on the corrected software running time, and is also used to judge whether the software running time has timed out based on the currently recorded software running time.

[0072] Furthermore, the offline license time management system further includes a trigger module, which is used to monitor whether a trigger condition is met, and if so, trigger a logic to determine whether a time point to be recorded is offset;

[0073] Trigger condition 1: Pre-configure the tracking and repair cycle. After the software is activated, the timer starts to count down. Check whether the set time has been reached. If so, the trigger condition is met.

[0074] Trigger condition 2: Monitor whether key operations are performed, if the trigger conditions are met.

[0075] Furthermore, the background time tracking and correction module is specifically used to:

[0076] If the time point to be recorded is ahead of time, the last recorded software running time is obtained, and the currently recorded software running time is corrected using a first correction model; the first correction model is: corrected software running time = (time point to be recorded - last recorded time point) + last recorded software running time;

[0077] If the time point to be recorded is in a lagging state, the last recorded software running time is obtained, and the currently recorded software running time is corrected through the second correction model; the second correction model is: the corrected software running time = tracking and repair cycle + the last recorded software running time.

[0078] In a specific embodiment, a user activates a device using a license in a software developer's software, which is valid for 24 hours. The validity period of the software protected by the license agreement takes effect at 00:08:08 on January 1, 2021;

[0079] The software will periodically call the foreground communication module in the background to obtain the software's running time (the time the software protected by the license agreement has been in use). After the software protected by the license agreement has been running for 23 hours, at 23:08:08 on January 1, 2021, the software will prompt that the license agreement is about to expire;

[0080] The user directly tampered with the system time on the computer, adjusting it back 20 hours (setting the system time to 3:08:08 on January 1, 2021) in the hope of longer usage time. When the background time tracking and repair module woke up the CPU the next time, it found that the time point to be recorded (current wake-up time) - the last recorded time point (last wake-up time) was less than the tracking and repair period (the period of scheduled wake-up). This indicates that the system time may have been accidentally tampered with, and the time point to be recorded is lagging behind.

[0081] The background time tracking and correction module makes a correction: the last recorded software running time plus the tracking and repair cycle (scheduled wake-up cycle) is used as the new software running time, and the tampered system time is recorded together, and the background time text recording module is notified to immediately save the text record; in the case that the system time is accidentally tampered with, when the user operates the software again, the software running time is still displayed as 23 hours, avoiding the loss of rights and interests permitted by the license agreement.

[0082] In another specific embodiment, the protected software is unexpectedly shut down during use. When it is restarted, it may be due to the abnormal shutdown of the software. The background time tracking and repair module finds that the current system time is ahead of the last recorded time point;

[0083] The background time tracking correction module makes a correction: uses the current system time minus the last recorded time point plus the last recorded software running time as the new software running time (corrected software running time), and records the current system time as the current recording time point together with the corrected software running time, notifies the background time text recording module to immediately save the text record; so that when the software is reopened, the time record remains continuous.

[0084] It should be noted that, as Figure 4 and 5 As shown, the offline license time management system also includes a front-end communication module, a back-end time text recording module and a back-end communication module;

[0085] (1) Front desk communication module

[0086] The front-end communication module is responsible for obtaining system time records (the last recorded duration of software operation) for the software protected by the license agreement;

[0087] When the software protected by the license agreement is started, performs key operations, or at intervals (tracking and repair periods), the foreground communication module is called to obtain the recorded time through the specified communication protocol. The communication protocol is as follows:

[0088] {

[0089] "expire_date": 1,

[0090] "time_record": 3600,

[0091] "time_raw_utc": 1618485282

[0092] }

[0093] expire_date indicates the period of use of the software as agreed in the license agreement, in hours; time_record indicates the running time of the software protected by the license agreement deployed on this computer, in seconds; time_raw_utc indicates the start time of the current agreement, in seconds since January 1, 1970, and the time is recorded in the same way as UNIX or UNIX-like operating systems;

[0094] (2) Background time text recording module

[0095] The background time text recording module is used to store the last recorded software running time and the last recording time point in ciphertext form using a preset encryption algorithm; the background time text recording module will record the limit time recorded when the license takes effect, the authorization effective time, the software running time at the current recording moment (corresponding to the recording time point), the recording time point, and the CRC check record. Each recording time point is recorded in a one-to-one correspondence with the software running time. The CRC check record is used to verify whether the file has been tampered with or has an error; the recorded text will be encrypted and written to the specified directory file in binary form;

[0096] It should be noted that the background time text recording module records a root record file, a software runtime tracking record file and a third record file: the root record file is created by the foreground communication module when the license takes effect and is never modified; the software runtime tracking record file is used for regular recording or immediate recording after detecting accidental time tampering. In order to avoid uneven erasure of the computer hard disk caused by writing the same file for a long time, the file will be deleted and rebuilt after being written more than a certain number of times; in order to prevent unexpected problems caused by reconstruction, a third record file is introduced. This file will record time information at intervals of longer time, usually in hours or days, and will never be deleted and rebuilt to ensure long-term and stable tracking of time records; only any one of the three files needs to be used normally without affecting the functionality of the time record.

[0097] (3) Backend communication module

[0098] The background communication module is responsible for communicating with the foreground communication module. In order to ensure that the computer's CPU resources are used less, the background time text recording will occur in the background and periodically wake up the recording. After the recording is completed, it will immediately enter the ready state and let the CPU wait for the next call. When it is necessary to know the software running time in real time, the background communication module is required to maintain communication. The background communication module runs in a blocking manner through pipes, semaphores, sockets, queues, etc. provided by the operating system, and only occupies CPU resources for communication when communication needs occur;

[0099] The background time recording function doesn't record time in real time. The background communication module maintains its own thread, periodically woken by the CPU clock, to aid in real-time time recording. This thread keeps a continuous record of time while the background time tracking and repair module is in the ready state. When a communication request occurs, the background communication module returns a usage record equal to the last recorded time by the background time tracking and repair module + the duration of time since the last recorded time by the background communication module.

[0100] It should be noted that the background time tracking and repair module is used to track the actual running time of the computer; in the computer, the background time tracking and repair module is periodically awakened by the CPU clock, and the interval between each awakening is compared with the time of the computer itself. If there is a deviation in time, the deviation will be automatically corrected, and the background time recording module will immediately record the deviation (the current recording time point and the corrected software running time).

[0101] Example 3

[0102] This embodiment provides a readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the steps of the above-mentioned offline license time management method are implemented.

[0103] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.

[0104] In the embodiments provided herein, it should be understood that the disclosed system can be implemented in other ways. For example, the system embodiments described above are merely illustrative. For example, the above module division is merely a logical functional division. In actual implementation, other division methods may be used, such as combining or integrating multiple units into another system, or ignoring or not implementing certain features.

[0105] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0106] If the above-mentioned integrated module is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The above-mentioned computer program can be stored in a computer-readable storage medium, and when the computer program is executed by the processor, it can implement the steps of the above-mentioned various method embodiments. Among them, the above-mentioned computer program includes computer program code, and the above-mentioned computer program code can be in source code form, object code form, executable file or some intermediate form.

[0107] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit the present invention. Although the present invention has been described in detail with reference to preferred embodiments, ordinary technicians in the field should understand that the specific implementation methods of the present invention can still be modified or some technical features can be replaced by equivalents without departing from the spirit of the technical solutions of the present invention. They should all be included in the scope of the technical solutions claimed for protection by the present invention.

Claims

1. An offline license time management method, characterized in that: The following steps are involved: Determine whether the time point to be recorded is offset: Read the time point to be recorded, the time point of the last record, and track the repair cycle; If the time point to be recorded is ≠ the time point of the last recording + the tracking and repair period, it is determined that the time point to be recorded is offset; If the time point to be recorded is greater than the last recorded time point + the tracking and repair period, the time point to be recorded is determined to be in an advanced state; If the time point to be recorded is less than the time point of the last recording + the tracking and repair period, the time point to be recorded is determined to be in a delayed state; If the time point to be recorded = the time point of the last recording + the tracking and repair period, it is determined that the time point to be recorded has not shifted; If the time point to be recorded is offset, the currently recorded software running time is corrected, and whether the software running time has timed out is determined based on the corrected software running time; If the time point to be recorded does not shift, determining whether the software running time has timed out based on the currently recorded software running time; To modify the currently recorded software running time, execute: If the time point to be recorded is in an advanced state, the last recorded software running time is obtained, and the currently recorded software running time is corrected using the first correction model; The first correction model is: the corrected software running time = (time point to be recorded - time point of last recording) + software running time recorded last time; To modify the currently recorded software running time, execute: If the time point to be recorded is in a delayed state, the last recorded software running time is obtained, and the currently recorded software running time is corrected using the second correction model; The second correction model is: the corrected software running time = tracking and repair cycle + the last recorded software running time.

2. The offline license time management method according to claim 1, characterized in that: The trigger conditions for determining whether the time point to be recorded is offset include: Pre-configure the tracking and repair cycle, and start timing after the software is activated; confirm whether the set time has been reached. If so, trigger the logic to determine whether there is any offset in the time point to be recorded; Alternatively, it is monitored whether a key operation is performed, and if so, the logic of determining whether a shift occurs at the time point to be recorded is triggered.

3. An offline license time management system, characterized by: It includes an offset judgment module, a background time tracking and correction module, and a timeout judgment module, among which, The offset judgment module is used to obtain the time point to be recorded and judge whether the time point to be recorded has offset: reading the time point to be recorded, the last recorded time point and the tracking and repair cycle; If the time point to be recorded is ≠ the last recorded time point + the tracking and repair period, the time point to be recorded is determined to be offset; if the time point to be recorded is greater than the last recorded time point + the tracking and repair period, the time point to be recorded is determined to be ahead of schedule; if the time point to be recorded is less than the last recorded time point + the tracking and repair period, the time point to be recorded is determined to be behind schedule; If the time point to be recorded = the time point of the last recording + the tracking and repair period, it is determined that the time point to be recorded has not shifted; The background time tracking and correction module is used to correct the currently recorded software running time when the time point to be recorded is offset, and transmit the corrected software running time to the timeout judgment module; The background time tracking and correction module is used to: If the time point to be recorded is ahead of time, the last recorded software running time is obtained, and the currently recorded software running time is corrected using a first correction model; the first correction model is: corrected software running time = (time point to be recorded - last recorded time point) + last recorded software running time; The background time tracking and correction module is also used to: If the time point to be recorded is in a delayed state, the last recorded software running time is obtained, and the currently recorded software running time is corrected using the second correction model; the second correction model is: corrected software running time = tracking and repair period + last recorded software running time; The timeout judgment module is used to judge whether the software running time has timed out based on the corrected software running time, and is also used to judge whether the software running time has timed out based on the currently recorded software running time.

4. The offline license time management system according to claim 3, characterized in that: It also includes a background time text recording module, which is used to store the last recorded software running time and the last recorded time point in ciphertext form using a preset encryption algorithm.

5. The offline license time management system according to claim 3, characterized in that: It also includes a trigger module, which is used to monitor whether the trigger condition is met, and if so, trigger the logic of determining whether the time point to be recorded has an offset; Trigger condition 1: Pre-configure the tracking and repair cycle. After the software is activated, the timer starts to count down. Check whether the set time has been reached. If so, the trigger condition is met. Trigger condition 2: Monitor whether key operations are performed, if the trigger conditions are met.

6. A readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the offline license time management method according to any one of claims 1 to 2 are implemented.

Citation Information

Patent Citations

  • Method and apparatus for detecting tampering with software operation time

    CN105046115A

  • Software License verification method capable of preventing time tampering

    CN110825639A