System for generating authorization element of software based on hardware information
The processor receives and encrypts hardware information, and combines the software authorization time and program code to generate authorization components, solving the problem of high hardware lock cost and inconvenient delivery of developers in software delivery, and achieving a more efficient software delivery process.
Patent Information
- Application Number
- CN202510097562.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-09-26
- Filing Date
- 2025-01-22
- Publication Date
- 2025-05-16
AI Technical Summary
In the prior art, when developers provide software to customers, they need to generate hardware locks through paid commercial hardware encryption, resulting in high costs and inconvenient delivery, especially when cross-border delivery is more difficult.
The processor receives the hardware information of the authorized device, decides whether to allow use, and uses the encrypted hardware information, the encrypted software authorization time, and the obfuscated and compiled program code to generate the authorization elements of the software.
It improves the efficiency of developers providing software to customers, reduces the procurement cost of hardware locks, and simplifies the delivery process, especially when it is delivered across countries.
Smart Images

Figure CN120012067A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a system for generating software authorization components based on hardware information. Background Art
[0002] Currently, when developers want to provide / deliver software to customers, they need to use paid commercial hardware encryption to generate a hardware lock, and then deliver the software and hardware lock to the customer. Therefore, developers need to continue to purchase hardware locks, resulting in excessive costs. In addition, developers also need to burn them on a specific encryption server, which is inconvenient. In particular, if the software is delivered across borders, it is more difficult to deliver the hardware lock. Summary of the invention
[0003] The present invention provides a system for generating software authorization components based on hardware information, which can improve the efficiency of developers in providing / delivering software to customers.
[0004] The system for generating software authorization elements based on hardware information of the present invention includes a processor. The processor performs the following steps: the processor receives hardware information of an authorized device, and the processor uses the hardware information to determine whether to allow the authorized device; the processor performs an encryption operation on the hardware information to obtain the encrypted hardware information; the processor receives the software authorization time of the software, and the processor performs an encryption operation on the software authorization time to obtain the encrypted software authorization time; the processor uses the program code of the software to obtain the obfuscated and compiled program code; the processor uses the encrypted hardware information, the encrypted software authorization time, and the obfuscated and compiled program code to generate the software authorization element.
[0005] Based on the above, the system of the present invention for generating software authorization elements based on hardware information can use the hardware information of the authorized device to determine whether to allow the authorized device. In addition, the software authorization element can also be generated by using the encrypted hardware information, the encrypted software authorization time, and the obfuscated and compiled program code. Based on this, the efficiency of developers in providing / delivering software to customers can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] Figure 1 FIG. 4 is a schematic diagram of a system for generating software authorization components based on hardware information according to an embodiment of the present invention.
[0007] Figure 2 FIG. 4 is a flow chart of a method for generating a software authorization element based on hardware information according to an embodiment of the present invention.
[0008] Figure 3 yes Figure 1 An example of the operation of the system shown.
[0009] Figure 4 yes Figure 1 Another example of operation of the system shown.
[0010] Wherein, the reference numerals are:
[0011] 100: System for generating software authorization element based on hardware information
[0012] 120: Processor
[0013] 130: Authorization device
[0014] 131: Development end authorization device
[0015] 132: Client authorization device
[0016] 140: Authorization component
[0017] 300: Authorized device
[0018] S1, S2, S3, S4, S5, S3a-1, S3a-2, S3a-3, S3a-4, S3b-1, S3b-2, S3b-3, S3b-4, S41, S42, S43: Steps DETAILED DESCRIPTION
[0019] The present invention is described in detail below with reference to the accompanying drawings and specific embodiments, but is not intended to limit the present invention.
[0020] Figure 1 1 is a schematic diagram of a system 100 for generating a software authorization element based on hardware information according to an embodiment of the present invention. The system 100 may include a processor 120. In one embodiment, the system 100 may include an authorization device 130 coupled to the processor 120. In one embodiment, the authorization device 130 may include a client authorization device 132. In one embodiment, the authorization device 130 may include a development end authorization device 131.
[0021] Figure 2 is a flow chart of a method for generating a software authorization element based on hardware information according to an embodiment of the present invention, wherein the method may be performed by Figure 1 The system 100 shown is implemented. Please also refer to Figure 1 and Figure 2 .
[0022] In step S1 , the processor 120 may receive hardware information of the authorized device 300 , and the processor 120 may use the hardware information to determine whether to allow the authorized device 300 .
[0023] In one embodiment, the processor 120 may receive the hardware information of the authorized device 300 from the authorized device 300. In other words, the processor 120 may automatically detect / obtain the hardware information of the authorized device 300. In another embodiment, the processor 120 may receive the hardware information of the authorized device 300 through the authorization device 130. In other words, after the developer manually inputs the hardware information of the authorized device 300 into the development-end authorization device 131, the processor 120 may receive the hardware information of the authorized device 300. Alternatively, after the customer manually inputs the hardware information of the authorized device 300 into the client-end authorization device 132, the processor 120 may receive the hardware information of the authorized device 300.
[0024] It is worth noting that the meaning of step S1 "the processor 120 can use hardware information to determine whether to allow the authorized device 300" is that the processor 120 does not need to be connected to the Internet (i.e., does not need to be connected to a specific server), but determines whether to allow the authorized device 300 in an offline manner. Based on this, the convenience of the system 100 of the present invention when being used can be improved.
[0025] Please continue to refer to Figure 2 In step S2, the processor 120 may perform an encryption operation on the hardware information to obtain encrypted hardware information. In one embodiment, the encryption operation may include a hash encryption operation.
[0026] In step S3 , the processor 120 may receive the software authorization time of the software, and the processor 120 may perform an encryption operation on the software authorization time to obtain the encrypted software authorization time.
[0027] In step S4 , the processor 120 may utilize the program code of the software to obtain obfuscated and compiled program code.
[0028] In step S5, the processor 120 may use the encrypted hardware information, the encrypted software authorization time, and the obfuscated and compiled program code to generate the software authorization element 140. In one embodiment, the authorization element 140 may include a DLL file. It is worth noting that after the processor 120 generates the authorization element 140, the authorized device 300 may reference the authorization element 140 to authenticate the processor 120.
[0029] In one embodiment, before the processor 120 executes step S1, the processor 120 may receive an authorization request through the authorization device 130. For example, the processor 120 may receive the authorization request through the client authorization device 132.
[0030] In one embodiment, after the processor 120 executes steps S1 to S5, when the processor 120 receives an authorization request again through the client authorization device 132, the processor 120 does not execute steps S1 to S5. In other words, the processor 120 only processes the first authorization request from the client.
[0031] Figure 3 yes Figure 1 The operation example of the system 100 is shown in FIG. Figure 1 and Figure 3 .
[0032] In step S3a-1, the processor 120 may receive an authorization request through the development-end authorization device 131. Specifically, the authorization request may include an administrator account and password.
[0033] In step S3a-2, the processor 120 may receive the hardware information of the authorized device 300 through the developer authorization device 131. Alternatively, the processor 120 may receive the hardware information of the authorized device 300 from the authorized device 300.
[0034] In step S3a - 3 , the processor 120 may receive the software authorization time of the software through the developer authorization device 131 .
[0035] In step S3a-4, the processor 120 may utilize the encrypted hardware information, the encrypted software authorization time, and the obfuscated and compiled program code to generate the software authorization element 140.
[0036] On the other hand, in step S3b-1, the processor 120 may receive an authorization request through the client authorization device 132. Specifically, the authorization request may include an administrator account and password.
[0037] In step S3b-2, the processor 120 may receive the hardware information of the authorized device 300 through the client authorization device 132. Alternatively, the processor 120 may receive the hardware information of the authorized device 300 from the authorized device 300.
[0038] In step S3 b - 3 , the processor 120 may receive the software authorization time of the software through the client authorization device 132 .
[0039] In step S3b-4, the processor 120 may use the encrypted hardware information, the encrypted software authorization time, and the obfuscated and compiled program code to generate the software authorization element 140. It is worth noting that after executing step S3b-4, when the processor 120 receives an authorization request again through the client authorization device 132, the processor 120 will not execute subsequent steps. In other words, the processor 120 will only process the first authorization request from the client.
[0040] In one embodiment, the authorized device 300 may correspond to the authorized start time point. The processor 120 may determine whether the time difference between the current time point and the authorized start time point matches the software authorization time. In other words, the software authorization time may be a time interval. This will be described further below.
[0041] Figure 4 yes Figure 1 Another example of the operation of the system 100 is shown. Figure 1 and Figure 4 .
[0042] In step S41 , the processor 120 may receive hardware information of the authorized device 300 .
[0043] In step S42 , the processor 120 may use the hardware information to determine whether to allow the authorized device 300 .
[0044] If the processor 120 determines to allow the authorized device 300 (the determination result of step S42 is “yes”), then in step S43 , the processor 120 may determine whether the time difference between the current time point and the authorization start time point matches the software authorization time.
[0045] If the processor 120 determines that the time difference between the current time point and the authorized start time point matches the software authorization time (the judgment result of step S43 is "yes"), the processor 120 can periodically determine again whether the time difference between the current time point and the authorized start time point matches the software authorization time (i.e., periodically execute step S43 again).
[0046] In summary, the device for generating software authorization elements based on hardware information of the present invention can use the hardware information of the authorized device to determine whether to allow the authorized device. In addition, the encrypted hardware information, the encrypted software authorization time, and the obfuscated and compiled program code can also be used to generate the software authorization element. Based on this, the efficiency of developers providing / delivering software to customers can be improved.
[0047] Of course, the present invention may have many other embodiments. Without departing from the spirit and essence of the present invention, those skilled in the art may make various corresponding changes and modifications based on the present invention, but these corresponding changes and modifications should all fall within the scope of protection of the claims attached to the present invention.
Claims
1. A system for generating software authorization elements based on hardware information, characterized in that: include: A processor, wherein the processor performs the following steps: S1: The processor receives hardware information of an authorized device, and the processor uses the hardware information to determine whether to allow the authorized device; S2: the processor performs an encryption operation on the hardware information to obtain the encrypted hardware information; S3: the processor receives the software authorization time of the software, and the processor performs the encryption operation on the software authorization time to obtain the encrypted software authorization time; S4: the processor uses the program code of the software to obtain the obfuscated and compiled program code; S5: The processor generates the software authorization element by using the encrypted hardware information, the encrypted software authorization time, and the obfuscated and compiled program code.
2. The system according to claim 1, characterized in that in The processor receives the hardware information of the authorized device from the authorized device.
3. The system according to claim 1, characterized in that Also includes an authorization device coupled to the processor, wherein The processor receives the hardware information of the authorized device through the authorization device.
4. The system according to claim 1, characterized in that The encryption operation comprises a hash encryption operation.
5. The system according to claim 1, wherein: The authorization element includes a DLL file.
6. The system according to claim 1, characterized in that The method further comprises an authorization device coupled to the processor, wherein before the processor executes step S1, the processor further executes the following steps: The processor receives an authorization request through the authorization device.
7. The system according to claim 6, characterized in that The authorization device includes a client authorization device, wherein The processor receives the authorization request through the client authorization device; After the processor completes executing steps S1 to S5, when the processor receives the authorization request again through the client authorization device, the processor does not execute steps S1 to S5.
8. The system of claim 1, wherein: The authorization device includes a development end authorization device.
9. The system according to claim 1, characterized in that The authorized device corresponds to an authorized start time point, and the processor further performs the following steps: The processor determines whether a time difference between a current time point and the authorized start time point matches the software authorization time.