Abstract: Hardware dongle, commonly known as “dongle”, can be roughly divided into three methods to crack the dongle, one is through hardware cloning or copying, and the second is debugging and tracking through Debug tools such as Soft ICE Decryption, the third is to modify the communication between the software and the dongle by writing an interception program. Hardware cloning is mainly for dongles of domestic chips, because domestic dongle companies generally do not have the manufacturing capabilities of core encryption chips, so some of them use common chips on the market. After the cracker analyzes the chip circuit and the content written in the chip, An identical dongle can be copied or cloned instantly. However, foreign dongles cannot use this method. Foreign dongle hardware uses self-developed chips with good security, which are usually difficult to copy, and now domestic dongles are also using imported smart card chips, so This decryption method of hardware cloning is less and less useful. For Debug debugging and cracking, as the complexity of software is getting higher and higher, the code generated by the compiler is also increasing. The complexity of tracking debug cracking through methods such as disassembly has become higher and higher, and the cost of cracking is also increasing. The higher the value, at present few people are willing to spend a lot of energy on such a complex cracking, unless the cracked software has extremely high value. At present, the decryption and cracking work of the dongle (dongle) mainly focuses on the communication interception between the application program and the encrypted dynamic library. This method has low cost and is easy to implement. It is suitable for encryption locks with chips such as single-chip microcomputers as the core.
Hardware encryption locks, commonly known as “dongle dogs”, can be roughly divided into three methods for cracking dongles, one is through hardware cloning or copying, the second is debugging, tracking and decryption through Debug tools such as Soft ICE, and the third is Modify the communication between the software and the dongle by writing an interception program.
Hardware cloning is mainly for dongles of domestic chips, because domestic dongle companies generally do not have the manufacturing capabilities of core encryption chips, so some of them use common chips on the market. After the cracker analyzes the chip circuit and the content written in the chip, An identical dongle can be copied or cloned instantly. However, foreign dongles cannot use this method. Foreign dongle hardware uses self-developed chips with good security, which are usually difficult to copy, and now domestic dongles are also using imported smart card chips, so This decryption method of hardware cloning is less and less useful.
For Debug debugging and cracking, as the complexity of software is getting higher and higher, the code generated by the compiler is also increasing. The complexity of tracking debug cracking through methods such as disassembly has become higher and higher, and the cost of cracking is also increasing. The higher the value, at present few people are willing to spend a lot of energy on such a complex cracking, unless the cracked software has extremely high value.
At present, the decryption and cracking work of the dongle (dongle) mainly focuses on the communication interception between the application program and the encrypted dynamic library. This method is low in cost and easy to implement, and it has a good decryption effect on the encryption lock (dongle) with a chip such as a single-chip microcomputer as the core.
Since the application programming interface (API) of the dongle (dongle) is basically public, it is easy to download the programming interface API, user manual, and other related materials of the dongle from the Internet, and you can also understand the technology of the dongle latest developments.
For example, for a well-known dongle from a well-known American dongle provider in China, all its programming data can be obtained from the Internet. After analyzing these data, we know that this dongle (dongle) has 64 memory cells, 56 of which are available to the user, and each of these cells can be used as one of three types: arithmetic, data value, and counter.
The data value is easier to understand. The data value is the data stored in the readable and writable unit by the user, just like storing in the hard disk. The user can use the Read function to read the data in the storage unit, or use the Write function to save his own data. information to the storage unit.
A counter is such a unit. Software developers can use the Decrement function in their software to decrement its value by one. When the counter is associated with an active algorithm, if the counter is zero, the algorithm will be closed (deactive).
The algorithm unit is more difficult to understand. Algorithm is such a technology that you access it with the Query (query Data) function, where query Data is the query value. The above function has a return value. The encrypted program knows a set of such The query value/return value pair, where encryption is required, use the above function to check the existence and authenticity of the dog. For the unit designated as an algorithm, it cannot be read and modified by software, even if you are a legal user. I understand that this technology is not only to increase the complexity of the program, but also to deal with cracking using simulator technology.