CN110795702A - Software anti-cracking method, device, equipment and medium - Google Patents

Software anti-cracking method, device, equipment and medium Download PDF

Info

Publication number
CN110795702A
CN110795702A CN201910968794.3A CN201910968794A CN110795702A CN 110795702 A CN110795702 A CN 110795702A CN 201910968794 A CN201910968794 A CN 201910968794A CN 110795702 A CN110795702 A CN 110795702A
Authority
CN
China
Prior art keywords
configuration data
data
target
encrypted
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910968794.3A
Other languages
Chinese (zh)
Inventor
李松
李锋
刘程程
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Yingxin Computer Technology Co Ltd
Original Assignee
Shandong Yingxin Computer Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Yingxin Computer Technology Co Ltd filed Critical Shandong Yingxin Computer Technology Co Ltd
Priority to CN201910968794.3A priority Critical patent/CN110795702A/en
Publication of CN110795702A publication Critical patent/CN110795702A/en
Priority to PCT/CN2020/092844 priority patent/WO2021068519A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Abstract

The application discloses a software anti-cracking method, a device, equipment and a medium, wherein the method comprises the following steps: acquiring change configuration data formed by the normal operation of the activated target software, and encrypting the change configuration data; updating the encrypted original configuration data pre-stored in the target database and the standby file list by using the encrypted changed configuration data to obtain updated configuration data; comparing first decryption data corresponding to the updated configuration data in the target database with second decryption data corresponding to the updated configuration data in the standby file list; and if the first decrypted data is not the same as the second decrypted data, forbidding to enable the target software, requiring to reactivate the target software, and preventing the target software from being cracked, thereby avoiding the target software from being illegally used.

Description

Software anti-cracking method, device, equipment and medium
Technical Field
The present application relates to the field of software management technologies, and in particular, to a method, an apparatus, a device, and a medium for preventing software from being cracked.
Background
With the development of technology, in the field of commercial software, more and more software selects partial function charging, which is not only protection for intellectual property rights of developers, but also a correct protection means for commercial software operators to own product rights and interests. Therefore, how to protect the business software from being cracked and illegally used becomes an urgent task.
Disclosure of Invention
In view of this, an object of the present application is to provide a method, an apparatus, a device, and a medium for preventing software from being cracked, so as to prevent the software from being illegally used. The specific scheme is as follows:
in a first aspect, the present application discloses a software anti-cracking method, which is applied to a preset system embedded in target software, and includes:
acquiring change configuration data formed by the normal operation of the activated target software;
encrypting the change configuration data to obtain encrypted change configuration data;
updating the encrypted original configuration data pre-stored in the target database and the standby file list by using the encrypted changed configuration data to obtain updated configuration data; the encrypted original configuration data is obtained by encrypting original configuration data obtained by activating the target software by using an activation code, the encrypted original configuration data in the standby file list is encrypted original configuration data which is stored in the standby file list in a fragmentation storage mode in advance, and the total number of file addresses in the standby file list is greater than the number of file fragments corresponding to the encrypted original configuration data;
comparing first decryption data corresponding to the updated configuration data in the target database with second decryption data corresponding to the updated configuration data in the standby file list;
and if the first decrypted data is not the same as the second decrypted data, forbidding enabling the target software and requiring to reactivate the target software.
Optionally, the acquiring the changed configuration data formed by normal operation of the target software includes:
and acquiring changed configuration data formed by the normal operation of the activated target software by using a set interface in the preset system.
Optionally, the updating the encrypted original configuration data pre-stored in the target database and the standby file list by using the encrypted changed configuration data includes:
updating the encrypted original configuration data which are pre-stored in a target database and a standby file list and comprise target software version data, activation code failure time data, machine code data corresponding to a machine for installing the target software, a random number with the length being a preset length, the number of devices for installing the target software, activation time data and parity check data by using the encrypted changed configuration data.
Optionally, the encrypting the changed configuration data to obtain encrypted changed configuration data includes:
and encrypting the changed configuration data by using an asymmetric encryption algorithm to obtain the encrypted changed configuration data.
Optionally, before the obtaining of the changed configuration data formed by normal operation of the target software, the method further includes:
activating the target software by using an activation code to obtain original configuration data of the target software;
encrypting the original configuration data to obtain the encrypted original configuration data;
storing the encrypted original configuration data into a target database;
determining a target file address for storing the encrypted original configuration data from the standby file list by using the random number;
and dividing the encrypted original configuration data into corresponding number of fragments according to the number of the target file addresses, and sequentially storing the fragments into the target file addresses.
Optionally, the determining, by using the random number, a target file address for storing the encrypted original configuration data from the spare distributed redundant encrypted file list includes:
determining the number of target file addresses for storing the encrypted original configuration data by using the random number and a preset formula;
determining a corresponding number of target file addresses from the standby file list so as to store the encrypted original configuration data;
wherein the preset formula isn=M%NN represents the number of the target addresses, M represents the random number, N represents the total number of file addresses in the spare file list, and% represents a remainder operation.
Optionally, the comparing the first decrypted data corresponding to the updated configuration data in the target database with the second decrypted data corresponding to the updated configuration data in the standby file list includes:
reading the updated configuration data from the target database and the standby file list respectively by using a get interface in the preset system, decrypting the configuration data and correspondingly obtaining first decrypted data and second decrypted data;
and comparing the first decrypted data with the second decrypted data.
In a second aspect, the present application discloses a software anti-hacking device, comprising:
the data acquisition module is used for acquiring change configuration data formed by normal operation of the target software;
the encryption module is used for encrypting the change configuration data to obtain encrypted change configuration data;
the data updating module is used for updating the encrypted original configuration data which is pre-stored in the target database and the standby file list by using the encrypted changed configuration data; the encrypted original configuration data is obtained by encrypting original configuration data obtained by activating the target software by using an activation code, the encrypted original configuration data in the standby file list is encrypted configuration data stored in the standby file list in a fragmentation storage manner in advance, and the total number of file addresses in the standby file list is greater than the number of file fragments corresponding to the encrypted original configuration data;
a data comparison module, configured to compare first decrypted data corresponding to the updated configuration data in the target database with second decrypted data corresponding to the updated configuration data in the standby file list;
and the enabling control module is used for forbidding enabling the target software and requiring to reactivate the target software when the first decrypted data is different from the second decrypted data.
In a third aspect, the present application discloses a software anti-hacking device, comprising:
a memory and a processor;
wherein the memory is used for storing a computer program;
the processor is used for executing the computer program to realize the software anti-cracking method disclosed in the foregoing.
In a fourth aspect, the present application discloses a computer readable storage medium for storing a computer program, wherein the computer program, when executed by a processor, implements the software anti-hacking method disclosed above.
Therefore, the method comprises the steps of firstly acquiring change configuration data formed by the normal operation of the activated target software; encrypting the change configuration data to obtain encrypted change configuration data; updating the encrypted original configuration data pre-stored in the target database and the standby file list by using the encrypted changed configuration data to obtain updated configuration data; the encrypted original configuration data is obtained by encrypting original configuration data obtained by activating the target software by using an activation code, the encrypted original configuration data in the standby file list is encrypted configuration data stored in the standby file list in a fragmentation storage manner in advance, and the total number of file addresses in the standby file list is greater than the number of file fragments corresponding to the encrypted original configuration data; comparing first decryption data corresponding to the updated configuration data in the target database with second decryption data corresponding to the updated configuration data in the standby file list; and if the first decrypted data is not the same as the second decrypted data, forbidding enabling the target software and requiring to reactivate the target software. Therefore, the method comprises the steps of firstly obtaining changed configuration data formed by normal operation of target software, encrypting the changed configuration data to update encrypted original configuration data pre-stored in a target database and a standby file list, comparing first decryption data corresponding to the updated configuration data in the target database with second decryption data corresponding to the updated configuration data in the standby file list, and if the first decryption data is different from the second decryption data, indicating that the configuration data in the target database or the standby file list is modified, so that the target software is cracked, starting the target software is forbidden, the target software is required to be reactivated, the software can be prevented from being cracked, and illegal use of the software is avoided.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, it is obvious that the drawings in the following description are only embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
FIG. 1 is a flow chart of a software anti-tamper method disclosed herein;
FIG. 2 is a flow chart of a specific software anti-tamper method disclosed herein;
FIG. 3 is a flow chart of a specific software anti-tamper method disclosed herein;
FIG. 4 is a schematic diagram of an application of a software anti-cracking method disclosed in the present application;
fig. 5 is a schematic structural diagram of a software anti-cracking device disclosed in the present application;
fig. 6 is a block diagram of a software anti-cracking device disclosed in the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The embodiment of the application discloses a software anti-cracking method, which is applied to a preset system embedded in target software and is shown in figure 1, and the method comprises the following steps:
step S11: acquiring changed configuration data formed by the normal operation of the activated target software.
It will be appreciated that the default system is a set of programs embedded in the target software. Part of configuration data can be changed along with the target software in the normal operation process, so that changed configuration data formed by the normal operation of the target software needs to be acquired, wherein the changed configuration data can be a general term of the changed configuration data and constant configuration data, and the changed configuration data comprises but is not limited to target software version data, activation code failure time data, machine code data corresponding to a machine for installing the target software, a random number with a preset length, the number of devices for installing the target software, activation time data and parity data.
Step S12: and encrypting the changed configuration data to obtain the encrypted changed configuration data.
In this embodiment, after the change configuration data is obtained, the change configuration data is encrypted to obtain encrypted change configuration data.
In a first specific implementation manner, the encrypting the changed configuration data to obtain the encrypted changed configuration data includes: and encrypting the changed configuration data by using an asymmetric encryption algorithm to obtain the encrypted changed configuration data. When the asymmetric encryption algorithm is adopted to encrypt the changed configuration data, the keys used in the encryption and decryption processes are different, and the keys need to be paired for use when the normal encryption and decryption processes are completed, so that the security of the data can be enhanced, the probability of rewriting the configuration data is reduced, and the possibility of cracking the target software is reduced.
In a second specific implementation manner, the encrypting the changed configuration data to obtain the encrypted changed configuration data includes: and encrypting the changed configuration data by using a symmetric encryption algorithm to obtain the encrypted changed configuration data. And when the symmetric encryption algorithm is adopted to encrypt the change configuration data, the keys used for encryption and decryption are the same key. The symmetric encryption algorithm encrypts and decrypts faster, but less secure, than the asymmetric encryption algorithm.
Step S13: updating the encrypted original configuration data pre-stored in the target database and the standby file list by using the encrypted changed configuration data to obtain updated configuration data; the encrypted original configuration data is obtained by encrypting original configuration data obtained by activating the target software by using an activation code, the encrypted original configuration data in the standby file list is encrypted configuration data stored in the standby file list in a fragmentation storage manner in advance, and the total number of file addresses in the standby file list is greater than the number of file fragments corresponding to the encrypted original configuration data.
It can be understood that, after the change configuration data is encrypted, encrypted original configuration data pre-stored in the updated target database of the encrypted change configuration data and the standby file list is obtained; the encrypted original configuration data is obtained by encrypting original configuration data obtained by activating the target software by using an activation code, the encrypted original configuration data in the standby file list is configuration data stored in the standby file list in a fragmentation storage manner in advance, and the total number of file addresses in the standby file list is greater than the number of file fragments corresponding to the encrypted original configuration data. The total number of file addresses in the standby file list is greater than the number of file fragments corresponding to the target data, so that the outside cannot determine which file addresses the file fragments corresponding to the encrypted original configuration data are stored in, and cannot determine which configuration data the current file fragment specifically represents, the probability that the target software is cracked is reduced, and the safety of the target software is improved.
In this embodiment, after obtaining the encrypted changed configuration data, replacing the encrypted original configuration data in the target database with the encrypted changed configuration data to obtain updated configuration data in the target database, dividing the encrypted changed configuration data into file segments of corresponding number according to the number of the file segments of the encrypted original configuration data pre-stored in the standby file list, and replacing the corresponding file segments of the encrypted original configuration data with the file segments of the encrypted changed configuration data according to the target file address or the target file name of the file segments pre-stored for storing the encrypted original configuration data to obtain the updated configuration data in the standby file list. The fragment storage mode is a storage mode of dividing the encrypted original configuration data into a certain number of file fragments and then storing the file fragments.
In this embodiment, the encrypted original configuration data is encrypted original configuration data, and the encrypted original configuration data includes, but is not limited to, the target software version data, the activation code expiration time data, the machine code data, the random number, the device number, the activation time data, and the parity data. The activation code expiration time data represents expiration time of the activation code, and the expiration time can be given by expiration specific years, months and days, such as 1 month and 1 day 2020, or by an effective duration, such as 2 years.
Step S14: comparing first decryption data corresponding to the updated configuration data in the target database with second decryption data corresponding to the updated configuration data in the standby file list.
It can be understood that, during the running process of the target software, the configuration data corresponding to the target software may be modified by a hacker to illegally utilize the target software, so that it is necessary to compare the first configuration data corresponding to the updated configuration data in the target database with the second decryption data corresponding to the updated configuration data in the standby file list, and determine whether the first decryption data and the second decryption data are the same, so as to determine whether the configuration data in the target database or the standby folder is illegally modified. And if the first decrypted data is not the same as the second decrypted data, the configuration data in the target database or the standby file list is illegally modified.
In this embodiment, the encrypted configuration data stored in the target database and the spare file list includes parity data, and when any file fragment corresponding to the encrypted configuration data stored in the spare file list is illegally modified, the modified file fragment can be restored through the parity data and the remaining file fragments, which does not cause the first decrypted data and the second decrypted data to be different. However, when two or more file segments in the encrypted configuration data are illegally modified or the target database is illegally modified, the encrypted configuration data cannot be restored, and the first decrypted data and the second decrypted data are different. Since the set interface in the preset system is not open to the user, there is no configuration data in the target software that can be illegally modified and belongs to the encrypted configuration data.
Step S15: and if the first decrypted data is not the same as the second decrypted data, forbidding enabling the target software and requiring to reactivate the target software.
It is to be understood that when the first decrypted data is not the same as the second decrypted data, the target software is disabled and re-activation of the target software is required; and when the first decrypted data is the same as the second decrypted data, controlling the target software to normally run.
Therefore, the method comprises the steps of firstly acquiring change configuration data formed by the normal operation of the activated target software; encrypting the change configuration data to obtain encrypted change configuration data; updating the encrypted original configuration data pre-stored in the target database and the standby file list by using the encrypted changed configuration data to obtain updated configuration data; the encrypted original configuration data is obtained by encrypting original configuration data obtained by activating the target software by using an activation code, the encrypted original configuration data in the standby file list is encrypted configuration data stored in the standby file list in a fragmentation storage manner in advance, and the total number of file addresses in the standby file list is greater than the number of file fragments corresponding to the encrypted original configuration data; comparing first decryption data corresponding to the updated configuration data in the target database with second decryption data corresponding to the updated configuration data in the standby file list; and if the first decrypted data is not the same as the second decrypted data, forbidding enabling the target software and requiring to reactivate the target software. Therefore, the method comprises the steps of firstly obtaining changed configuration data formed by normal operation of target software, encrypting the changed configuration data to update encrypted original configuration data pre-stored in a target database and a standby file list, comparing first decryption data corresponding to the updated configuration data in the target database with second decryption data corresponding to the updated configuration data in the standby file list, and if the first decryption data is different from the second decryption data, indicating that the configuration data in the target database or the standby file list is modified, so that the target software is cracked, starting the target software is forbidden, the target software is required to be reactivated, the software can be prevented from being cracked, and illegal use of the software is avoided.
Referring to fig. 2, an embodiment of the present application discloses a specific software anti-cracking method, which is applied to a preset system embedded in target software, and the method includes:
step S21: and acquiring changed configuration data formed by the normal operation of the activated target software by using a set interface in the preset system.
In this embodiment, the preset system includes two interfaces connected to the target software, i.e., a set interface and a get interface. And acquiring changed configuration data formed by the normal operation of the activated target software by using the set interface. And the set interface acquires the changed configuration data formed by the normal operation of the target software in a Map < String, String > plaintext mode, and then calculates the ciphertext through an encryption algorithm.
Step S22: and encrypting the changed configuration data to obtain the encrypted changed configuration data.
Step S23: updating the encrypted original configuration data pre-stored in the target database and the standby file list by using the encrypted changed configuration data to obtain updated configuration data; the encrypted original configuration data is obtained by encrypting original configuration data obtained by activating the target software by using an activation code, the encrypted original configuration data in the standby file list is encrypted original configuration data stored in the standby file list in a fragmentation storage manner in advance, and the total number of file addresses in the standby file list is greater than the number of file fragments corresponding to the encrypted original configuration data.
Step S24: and reading the encrypted original configuration data from the target database and the standby file list respectively by using a get interface in the preset system, decrypting the encrypted original configuration data, and correspondingly obtaining first decrypted data and second decrypted data.
Step S25: and comparing the first decrypted data with the second decrypted data.
In this embodiment, the get interface provides a Map < String, String > interface to the target software. And respectively reading the updated configuration data from the target database and the standby file list by using the get interface, decrypting the configuration data and correspondingly obtaining first decrypted data and second decrypted data. And comparing the first decrypted data with the second encrypted data, and judging whether the first decrypted data is the same as the second decrypted data so as to judge whether the encrypted configuration data in the target database or the standby file list is illegally modified.
Step S26: and if the first decrypted data is not the same as the second decrypted data, forbidding enabling the target software and requiring to reactivate the target software.
Referring to fig. 3, an embodiment of the present application discloses a specific software anti-cracking method, which is applied to a preset system embedded in target software, and the method includes:
step S31: and activating the target software by utilizing the activation code to obtain the original configuration data of the target software.
Step S32: and encrypting the original configuration data to obtain the encrypted original configuration data.
In this embodiment, it is necessary to first obtain original configuration data after the target software is activated by the activation code, and encrypt the original configuration data to obtain encrypted original configuration data. Wherein the activation code is generated by an operator of the target software using an activation code generation system. The activation code generation system is used for generating an activation code. Specifically, the operator of the target software generates a serial number only for the user according to the purchase order of the user, and then generates an activation code by combining the serial number and the machine code of the machine on which the target software is installed by using the activation code generation system. The activation code includes, but is not limited to, the target software version data, the activation code expiration time, the machine code, and the random number, with comma in english separating the different data. And after the target software acquires the activation code, decrypting the activation code by using the preset system, judging whether the activation code is invalid or not according to the activation code invalidation time, if the activation code is invalid, not activating the target software, and if the activation code is not invalid, activating the target software. When the failure time of the activation code is given by a specific year, month and day, the preset system reads the time of a mainboard of a machine provided with the target software to judge whether the activation code is failed or not; when the deactivation time of the activation code is given by the valid duration, the preset system judges whether the valid duration is 0 or not so as to judge whether the activation code is deactivated or not.
In this embodiment, after the target software is activated, the preset system obtains original configuration data, and encrypts the original configuration data to obtain encrypted original configuration data.
Step S33: and storing the encrypted original configuration data into a target database.
It can be understood that, after obtaining the encrypted original configuration data, the preset system may further store the encrypted original configuration data in a target database.
Step S34: and determining a target file address for storing the encrypted original configuration data from a spare file list by using the random number.
In this embodiment, during the process of storing the encrypted original configuration data in the target database, the encrypted original configuration data is further stored in a spare file list in a fragmented manner. The determining, by using the random number, a target file address for storing the encrypted original configuration data from a spare file list includes: determining the number of target file addresses for storing the encrypted original configuration data by using the random number and a preset formula; determining a corresponding number of target file addresses from the standby file list so as to store the encrypted original configuration data; wherein the preset formula isn=M%NN represents the number of the target addresses, M represents the random number, N represents the total number of file addresses in the spare file list, and% represents a remainder operation. Wherein the spare file columnN file addresses in the table need to be numbered sequentially, and the numbers are 0 to N-1 sequentially. Correspondingly, the corresponding number of target file addresses is determined from the spare file list to store the encrypted original configuration data, and specifically, it can be understood that N file addresses starting from the nth file address in the N file addresses are determined as the target file addresses, and if the number of the file addresses from the nth file address to the N-1 th file address is less than N, the target file addresses start from the 0 th file address after the N-1 th file address. For example, the random number is 100005, and if the total number of file addresses in the spare file list is 20, 100005% 20 is 5, then there are 5 target file addresses for storing the encrypted original configuration data, which are the 5 th, 6 th, 7 th, 8 th, and 9 th file addresses in sequence. The random number is 100012, and if the total number of file addresses in the spare file list is 20, 100012% 20 is 12, and the target file addresses for storing the encrypted original configuration data are 12, which are the 12 th, 13 th, 14 th, 15 th, 16 th, 17 th, 18 th, 19 th, 0 th, 1 st, 2 nd, and 3 rd file addresses in sequence.
Step S35: and dividing the encrypted original configuration data into corresponding number of fragments according to the number of the target file addresses, and sequentially storing the fragments into the target file addresses.
It can be understood that, after the target file address for storing the encrypted original configuration data is determined, the encrypted original configuration data is divided into a corresponding number of fragments, and the fragments are sequentially stored in the target file address. Wherein the dividing the encrypted original configuration data into a corresponding number of segments comprises: and dividing the encrypted original configuration data into a corresponding number of fragments by adopting an average distribution method. If the length of the encrypted original configuration data cannot be averagely distributed into the corresponding number of fragments, the length of the last fragment is determined according to the actual situation. For example, if the length of the encrypted original configuration data is 120 bits, and the number of destination file addresses obtained from the random number is 5, the encrypted original configuration data is divided into 5 segments, and each segment has a length of 24 bits. The length of the encrypted original configuration data is 119 bits, and the number of the target file addresses obtained by the random number is 5, the encrypted original configuration data is divided into 5 segments, each of the first four segments is 24 bits, and the fifth segment is 23 bits. Correspondingly, the segments are sequentially stored in the 5 th, 6 th, 7 th, 8 th and 9 th file addresses.
Step S36: acquiring changed configuration data formed by the normal operation of the activated target software.
Step S37: and encrypting the changed configuration data to obtain the encrypted changed configuration data.
Step S38: updating the encrypted original configuration data pre-stored in the target database and the standby file list by using the encrypted changed configuration data to obtain updated configuration data; the encrypted original configuration data is obtained by encrypting original configuration data obtained by activating the target software by using an activation code, the encrypted original configuration data in the standby file list is encrypted original configuration data stored in the standby file list in a fragmentation storage manner in advance, and the total number of file addresses in the standby file list is greater than the number of file fragments corresponding to the encrypted original configuration data.
Step S39: comparing first decryption data corresponding to the updated configuration data in the target database with second decryption data corresponding to the updated configuration data in the standby file list, and if the first decryption data is different from the second decryption data, forbidding starting of the target software and requiring reactivation of the target software.
An application diagram of the software anti-cracking method disclosed in this embodiment is shown in fig. 4, where the random number is obtained from the activation code, a remainder n is obtained by using the random number to determine the number of target file addresses and the target file address for storing the encrypted original configuration data, and the encrypted original configuration data is stored in the target file addresses in the target database and the backup file list. And acquiring changed configuration data formed by normal operation of target software by using the set interface in the preset system, encrypting the changed configuration data to obtain encrypted changed configuration data, and updating the encrypted original configuration data in the target database and the standby file list by using the encrypted changed configuration data. Respectively reading updated configuration data in the target database and the standby file list by using the get interface in the preset system, decrypting the configuration data, correspondingly obtaining first decrypted data and second decrypted data, comparing the first decrypted data with the second decrypted data, and if the first decrypted data is different from the second decrypted data, controlling the target software to be forbidden to be started by the get interface and requiring to reactivate the target software; and if the first decrypted data is the same as the second decrypted data, controlling the target software to normally run by the get interface.
Referring to fig. 5, an embodiment of the present application discloses a software anti-cracking device, including:
a data acquisition module 11, configured to acquire change configuration data resulting from normal operation of target software;
the encryption module 12 is configured to encrypt the change configuration data to obtain encrypted change configuration data;
the data updating module 13 is configured to update the encrypted original configuration data pre-stored in the target database and the standby file list by using the encrypted changed configuration data to obtain updated configuration data; the encrypted original configuration data is obtained by encrypting original configuration data obtained by activating the target software by using an activation code, the encrypted original configuration data in the standby file list is encrypted original configuration data which is stored in the standby file list in a fragmentation storage mode in advance, and the total number of file addresses in the standby file list is greater than the number of file fragments corresponding to the encrypted original configuration data;
a data comparison module 14, configured to compare first decrypted data corresponding to the updated configuration data in the target database with second decrypted data corresponding to the updated configuration data in the standby file list;
and the enabling control module 15 is used for prohibiting enabling the target software and requiring to reactivate the target software when the first decrypted data is different from the second decrypted data.
Therefore, the method comprises the steps of firstly acquiring change configuration data formed by the normal operation of the activated target software; encrypting the change configuration data to obtain encrypted change configuration data; updating the encrypted original configuration data pre-stored in the target database and the standby file list by using the encrypted changed configuration data to obtain updated configuration data; the encrypted original configuration data is obtained by encrypting original configuration data obtained by activating the target software by using an activation code, the encrypted original configuration data in the standby file list is encrypted configuration data stored in the standby file list in a fragmentation storage manner in advance, and the total number of file addresses in the standby file list is greater than the number of file fragments corresponding to the encrypted original configuration data; comparing first decryption data corresponding to the updated configuration data in the target database with second decryption data corresponding to the updated configuration data in the standby file list; and if the first decrypted data is not the same as the second decrypted data, forbidding enabling the target software and requiring to reactivate the target software. Therefore, the method comprises the steps of firstly obtaining changed configuration data formed by normal operation of target software, encrypting the changed configuration data to update encrypted original configuration data pre-stored in a target database and a standby file list, comparing first decryption data corresponding to the updated configuration data in the target database with second decryption data corresponding to the updated configuration data in the standby file list, and if the first decryption data is different from the second decryption data, indicating that the configuration data in the target database or the standby file list is modified, so that the target software is cracked, starting the target software is forbidden, the target software is required to be reactivated, the software can be prevented from being cracked, and illegal use of the software is avoided.
Further, referring to fig. 6, an embodiment of the present application discloses a software anti-cracking device, which includes a processor 21 and a memory 22;
wherein the memory 22 is used for storing a computer program;
the processor 21 is configured to execute the computer program to implement the software anti-cracking method disclosed in the foregoing embodiments.
Further, an embodiment of the present application also discloses a computer readable storage medium for storing a computer program, wherein the computer program, when executed by a processor, implements the following steps:
acquiring change configuration data formed by the normal operation of the activated target software; encrypting the change configuration data to obtain encrypted change configuration data; updating the encrypted original configuration data pre-stored in the target database and the standby file list by using the encrypted changed configuration data to obtain updated configuration data; the encrypted original configuration data is obtained by encrypting original configuration data obtained by activating the target software by using an activation code, the encrypted original configuration data in the standby file list is encrypted configuration data stored in the standby file list in a fragmentation storage manner in advance, and the total number of file addresses in the standby file list is greater than the number of file fragments corresponding to the encrypted original configuration data; comparing first decryption data corresponding to the updated configuration data in the target database with second decryption data corresponding to the updated configuration data in the standby file list; and if the first decrypted data is not the same as the second decrypted data, forbidding enabling the target software and requiring to reactivate the target software.
Therefore, the method comprises the steps of firstly acquiring change configuration data formed by the normal operation of the activated target software; encrypting the change configuration data to obtain encrypted change configuration data; updating the encrypted original configuration data pre-stored in the target database and the standby file list by using the encrypted changed configuration data to obtain updated configuration data; the encrypted original configuration data is obtained by encrypting original configuration data obtained by activating the target software by using an activation code, the encrypted original configuration data in the standby file list is encrypted configuration data stored in the standby file list in a fragmentation storage manner in advance, and the total number of file addresses in the standby file list is greater than the number of file fragments corresponding to the encrypted original configuration data; comparing first decryption data corresponding to the updated configuration data in the target database with second decryption data corresponding to the updated configuration data in the standby file list; and if the first decrypted data is not the same as the second decrypted data, forbidding enabling the target software and requiring to reactivate the target software. Therefore, the method comprises the steps of firstly obtaining changed configuration data formed by normal operation of target software, encrypting the changed configuration data to update encrypted original configuration data pre-stored in a target database and a standby file list, comparing first decryption data corresponding to the updated configuration data in the target database with second decryption data corresponding to the updated configuration data in the standby file list, and if the first decryption data is different from the second decryption data, indicating that the configuration data in the target database or the standby file list is modified, so that the target software is cracked, starting the target software is forbidden, the target software is required to be reactivated, the software can be prevented from being cracked, and illegal use of the software is avoided.
In this embodiment, when the computer subprogram stored in the computer-readable storage medium is executed by the processor, the following steps may be specifically implemented: and acquiring changed configuration data formed by the normal operation of the activated target software by using a set interface in the preset system.
In this embodiment, when the computer subprogram stored in the computer-readable storage medium is executed by the processor, the following steps may be specifically implemented: updating the encrypted original configuration data which are pre-stored in a target database and a standby file list and comprise target software version data, activation code failure time data, machine code data corresponding to a machine for installing the target software, a random number with the length being a preset length, the number of devices for installing the target software, activation time data and parity check data by using the encrypted changed configuration data.
In this embodiment, when the computer subprogram stored in the computer-readable storage medium is executed by the processor, the following steps may be specifically implemented: and encrypting the changed configuration data by using an asymmetric encryption algorithm to obtain the encrypted changed configuration data.
In this embodiment, when the computer subprogram stored in the computer-readable storage medium is executed by the processor, the following steps may be specifically implemented: activating the target software by using an activation code to obtain original configuration data of the target software; acquiring the original configuration data, and encrypting the original configuration data to obtain the encrypted original configuration data; storing the encrypted original configuration data into a target database; determining a target file address for storing the encrypted original configuration data from the standby file list by using the random number; and dividing the encrypted original configuration data into corresponding number of fragments according to the number of the target file addresses, and sequentially storing the fragments into the target file addresses.
In this embodiment, when the computer subprogram stored in the computer-readable storage medium is executed by the processor, the following steps may be specifically implemented: determining the number of target file addresses for storing the encrypted original configuration data by using the random number and a preset formula; determining a corresponding number of target file addresses from the standby file list so as to store the encrypted original configuration data; the preset formula is that N is M% N, N represents the number of the target addresses, M represents the random number, N represents the total number of file addresses in the standby file list, and% represents a remainder operation.
In this embodiment, when the computer subprogram stored in the computer-readable storage medium is executed by the processor, the following steps may be specifically implemented: reading the updated configuration data from the target database and the standby file list respectively by using a get interface in the preset system, decrypting the configuration data and correspondingly obtaining first decrypted data and second decrypted data; and comparing the first decrypted data with the second decrypted data.
The embodiments are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same or similar parts among the embodiments are referred to each other. The device disclosed by the embodiment corresponds to the method disclosed by the embodiment, so that the description is simple, and the relevant points can be referred to the method part for description.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in Random Access Memory (RAM), memory, Read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
Finally, it is further noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of other elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The method, the device, the equipment and the medium for preventing software from being cracked provided by the application are introduced in detail, specific examples are applied in the description to explain the principle and the implementation mode of the application, and the description of the embodiments is only used for helping to understand the method and the core idea of the application; meanwhile, for a person skilled in the art, according to the idea of the present application, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present application.

Claims (10)

1. A software anti-cracking method is applied to a preset system embedded in target software, and comprises the following steps:
acquiring change configuration data formed by the normal operation of the activated target software;
encrypting the change configuration data to obtain encrypted change configuration data;
updating the encrypted original configuration data pre-stored in the target database and the standby file list by using the encrypted changed configuration data to obtain updated configuration data; the encrypted original configuration data is obtained by encrypting original configuration data obtained by activating the target software by using an activation code, the encrypted original configuration data in the standby file list is encrypted original configuration data which is stored in the standby file list in a fragmentation storage mode in advance, and the total number of file addresses in the standby file list is greater than the number of file fragments corresponding to the encrypted original configuration data;
comparing first decryption data corresponding to the updated configuration data in the target database with second decryption data corresponding to the updated configuration data in the standby file list;
and if the first decrypted data is not the same as the second decrypted data, forbidding enabling the target software and requiring to reactivate the target software.
2. The software anti-cracking method of claim 1, wherein the acquiring of the changed configuration data caused by the normal operation of the target software comprises:
and acquiring changed configuration data formed by the normal operation of the activated target software by using a set interface in the preset system.
3. The software anti-cracking method of claim 2, wherein the updating the encrypted original configuration data pre-stored in the target database and the spare file list by using the encrypted changed configuration data comprises:
updating the encrypted original configuration data which are pre-stored in a target database and a standby file list and comprise target software version data, activation code failure time data, machine code data corresponding to a machine for installing the target software, a random number with the length being a preset length, the number of devices for installing the target software, activation time data and parity check data by using the encrypted changed configuration data.
4. The software anti-cracking method of claim 2, wherein the encrypting the changed configuration data to obtain encrypted changed configuration data comprises:
and encrypting the changed configuration data by using an asymmetric encryption algorithm to obtain the encrypted changed configuration data.
5. The software anti-cracking method of claim 3, wherein before the obtaining of the changed configuration data caused by the normal operation of the target software, the method further comprises:
activating the target software by using an activation code to obtain original configuration data of the target software;
encrypting the original configuration data to obtain the encrypted original configuration data;
storing the encrypted original configuration data into a target database;
determining a target file address for storing the encrypted original configuration data from the standby file list by using the random number;
and dividing the encrypted original configuration data into corresponding number of fragments according to the number of the target file addresses, and sequentially storing the fragments into the target file addresses.
6. The software anti-hacking method of claim 5, wherein the determining, by using the random number, a target file address for storing the encrypted original configuration data from the backup distributed redundant encrypted file list comprises:
determining the number of target file addresses for storing the encrypted original configuration data by using the random number and a preset formula;
determining a corresponding number of target file addresses from the standby file list so as to store the encrypted original configuration data;
the preset formula is that N is M% N, N represents the number of the target addresses, M represents the random number, N represents the total number of file addresses in the standby file list, and% represents a remainder operation.
7. The software anti-cracking method of any one of claims 2 to 6, wherein the comparing the first decrypted data corresponding to the updated configuration data in the target database with the second decrypted data corresponding to the updated configuration data in the standby file list includes:
reading the updated configuration data from the target database and the standby file list respectively by using a get interface in the preset system, decrypting the configuration data and correspondingly obtaining first decrypted data and second decrypted data;
and comparing the first decrypted data with the second decrypted data.
8. A software anti-hacking device, comprising:
the data acquisition module is used for acquiring change configuration data formed by normal operation of the target software;
the encryption module is used for encrypting the change configuration data to obtain encrypted change configuration data;
the data updating module is used for updating the encrypted original configuration data which is pre-stored in the target database and the standby file list by using the encrypted changed configuration data to obtain updated configuration data; the encrypted original configuration data is obtained by encrypting original configuration data obtained by activating the target software by using an activation code, the target configuration data in the standby file list is encrypted original configuration data which is stored in the standby file list in a fragmentation storage mode in advance, and the total number of file addresses in the standby file list is greater than the number of file fragments corresponding to the encrypted original configuration data;
a data comparison module, configured to compare first decrypted data corresponding to the updated configuration data in the target database with second decrypted data corresponding to the updated configuration data in the standby file list;
and the enabling control module is used for forbidding enabling the target software and requiring to reactivate the target software when the first decrypted data is different from the second decrypted data.
9. A software anti-hacking device, comprising:
a memory and a processor;
wherein the memory is used for storing a computer program;
the processor is configured to execute the computer program to implement the software anti-cracking method of any one of claims 1 to 7.
10. A computer-readable storage medium for storing a computer program, wherein the computer program, when executed by a processor, implements the software anti-hacking method of any one of claims 1 to 7.
CN201910968794.3A 2019-10-12 2019-10-12 Software anti-cracking method, device, equipment and medium Pending CN110795702A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910968794.3A CN110795702A (en) 2019-10-12 2019-10-12 Software anti-cracking method, device, equipment and medium
PCT/CN2020/092844 WO2021068519A1 (en) 2019-10-12 2020-05-28 Software anti-cracking method, device, apparatus and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910968794.3A CN110795702A (en) 2019-10-12 2019-10-12 Software anti-cracking method, device, equipment and medium

Publications (1)

Publication Number Publication Date
CN110795702A true CN110795702A (en) 2020-02-14

Family

ID=69439076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910968794.3A Pending CN110795702A (en) 2019-10-12 2019-10-12 Software anti-cracking method, device, equipment and medium

Country Status (2)

Country Link
CN (1) CN110795702A (en)
WO (1) WO2021068519A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021068519A1 (en) * 2019-10-12 2021-04-15 山东英信计算机技术有限公司 Software anti-cracking method, device, apparatus and medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101067839A (en) * 2007-04-27 2007-11-07 哈尔滨工业大学 Interconnection network working software system antipirating method
CN101441692A (en) * 2008-11-21 2009-05-27 北京市研祥兴业国际智能科技有限公司 Method for binding computer hardware and software
CN103455764A (en) * 2013-08-27 2013-12-18 无锡华御信息技术有限公司 File segmentation and merging technology-based file encryption and decryption systems
CN106874743A (en) * 2016-12-29 2017-06-20 上海雷塔智能科技有限公司 The method and system that a kind of cryptographic smart cardses are preserved and extracted
CN109886040A (en) * 2019-01-24 2019-06-14 北京融链科技有限公司 Data processing method, device, storage medium and processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102219B (en) * 2007-07-30 2010-06-23 华为技术有限公司 Software update system and software update method
US8731190B2 (en) * 2009-06-09 2014-05-20 Emc Corporation Segment deduplication system with encryption and compression of segments
CN106302702B (en) * 2016-08-10 2020-03-20 华为技术有限公司 Data fragment storage method, device and system
CN108847926A (en) * 2018-06-22 2018-11-20 武汉斗鱼网络科技有限公司 A kind of client secure detection method, device and client device
CN110795702A (en) * 2019-10-12 2020-02-14 山东英信计算机技术有限公司 Software anti-cracking method, device, equipment and medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101067839A (en) * 2007-04-27 2007-11-07 哈尔滨工业大学 Interconnection network working software system antipirating method
CN101441692A (en) * 2008-11-21 2009-05-27 北京市研祥兴业国际智能科技有限公司 Method for binding computer hardware and software
CN103455764A (en) * 2013-08-27 2013-12-18 无锡华御信息技术有限公司 File segmentation and merging technology-based file encryption and decryption systems
CN106874743A (en) * 2016-12-29 2017-06-20 上海雷塔智能科技有限公司 The method and system that a kind of cryptographic smart cardses are preserved and extracted
CN109886040A (en) * 2019-01-24 2019-06-14 北京融链科技有限公司 Data processing method, device, storage medium and processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021068519A1 (en) * 2019-10-12 2021-04-15 山东英信计算机技术有限公司 Software anti-cracking method, device, apparatus and medium

Also Published As

Publication number Publication date
WO2021068519A1 (en) 2021-04-15

Similar Documents

Publication Publication Date Title
JP6595822B2 (en) Information processing apparatus and control method thereof
US20210294879A1 (en) Securing executable code integrity using auto-derivative key
RU2295834C2 (en) Initialization, maintenance, renewal and restoration of protected mode of operation of integrated system, using device for controlling access to data
US8332650B2 (en) Systems and methods for setting and resetting a password
US9443111B2 (en) Device security using an encrypted keystore data structure
US8281115B2 (en) Security method using self-generated encryption key, and security apparatus using the same
US20100058073A1 (en) Storage system, controller, and data protection method thereof
JP5097130B2 (en) Information terminal, security device, data protection method, and data protection program
US8516574B2 (en) Software update system, management apparatus, recording medium, and integrated circuit
US20020157010A1 (en) Secure system and method for updating a protected partition of a hard drive
US8745735B2 (en) Monitoring system, program-executing device, monitoring program, recording medium and integrated circuit
JP2008257691A (en) System and method for storage device data encryption and data access
US20080289038A1 (en) Method and apparatus for checking integrity of firmware
CN110008659B (en) Software license offline management method and device, computer equipment and storage medium
CN109445705B (en) Firmware authentication method and solid state disk
CN101542972A (en) Device and portable storage device which are capable of transferring rights object, and a method of transferring rights object
CN103403729A (en) Secure management and personalization of unique code signing keys
US20200233676A1 (en) Bios management device, bios management system, bios management method, and bios management program-stored recording medium
CN110795702A (en) Software anti-cracking method, device, equipment and medium
KR101405915B1 (en) Method for writing data by encryption and reading the data thereof
US11468159B2 (en) Memory system
JP2009284231A (en) Key generating apparatus, key generating method, key generating program, and electronic apparatus
CN113127814B (en) Software anti-copying method and device, electronic equipment and readable storage medium
CN112800492A (en) Control method and device for decrypting disk data
CN110727940A (en) Electronic equipment password management method, device, equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200214