Some popular software protection technologies

Source: Internet
Author: User
Tags printable characters

Some popular software protection technologies

1. Serial number Protection

Mathematical algorithms are the core of cryptographic encryption, but in general software encryption, it does not seem very concerned, because most of the time Software Encryption itself is implemented as a programming technique. However, with the popularity of serial number encryption programs in recent years, the proportion of mathematical algorithms in Software Encryption seems to be growing.

Let's take a look at the working principle of serial number encryption on the network. After a user downloads a software-sharing software from the network, there are generally restrictions on the time of use, you must register with the software company before continuing to use the software. Generally, a user tells the software company his/her personal information (generally the name) along with a credit card number. The software company calculates a serial number based on the user's information, after the user obtains the serial code, enter the registration information and the registration code in the software according to the steps required for registration. After the validity of the registration information is verified by the software, the software will remove its own restrictions. This encryption is relatively simple and does not require additional costs, making it very convenient for users to purchase, software 80% on the internet is protected in this way.

The process of verifying the validity of the serial number is actually the process of verifying whether the Conversion Relationship between the user name and the serial number is correct. There are two basic types of verification: one is to generate a registration code based on the name entered by the user, and then compare it with the registration code entered by the user, the formula is as follows:

Serial number = f (user name)

  However, this method is equivalent to recreating the registration code generation process of the software company in the user software, which is actually very insecure, no matter how complicated the conversion process is, the decrypted can compile a general registration program by extracting your conversion process from the program.

Another method is to verify the correctness of the user name through the registration code. The formula is as follows:

User name = f inverse (serial number) (such as ACDSee)

This is actually an inverse algorithm of the software company's registration code calculation process. If the forward and reverse algorithms are not symmetric algorithms, it is indeed difficult for the decrypted, but this algorithm is not well designed.

So some people consider the following algorithms:

F1 (User Name) = F2 (serial number)

   F1 and F2 are two completely different algorithms, but the Feature Word calculated by the user name using the F1 algorithm is equivalent to the Feature Word calculated by the serial number using the F2 algorithm. This algorithm is relatively simple in design, the confidentiality is much better than the above two algorithms.If you can design the F1 and F2 algorithms as irreversible algorithms, the confidentiality is quite good. Once the decrypted finds one of the anti-algorithms, this algorithm is not safe. The design of the one-dimensional algorithm seems to be hard to make too many breakthroughs. What about dual elements?

Specific value = f (user name, serial number)

This algorithm looks good. The relationship between user names and serial numbers is no longer so clear, but the one-to-one correspondence between user names and serial numbers is also lost, software developers must maintain the uniqueness between user names and serial numbers on their own, but this does not seem to be difficult to do. Just create a database. Of course, you can also divide user names and serial numbers into several parts to construct a multivariate algorithm.

Specific value = f (username 1, username 2,... serial number 1, serial number 2 ...)

Most of the existing serial number encryption algorithms are self-designed by software developers, and most of them are quite simple. In addition, although some algorithm authors have made great efforts, they often cannot get the expected results.

2. Time Limit

The trial version of some programs has a time limit. For example, if you stop running for 10 minutes or 20 minutes, you must re-run the program to work properly. These programs naturally have a timer to measure the running time.

This method is rarely used.

3 key file protection

Key File (registration file) is a protection method that uses files to register software. Key File is generally a small file, which can be a plain text file or a binary file containing non-printable characters. Its content is encrypted or unencrypted data, there may be user name, registration code, and other information. The file format is defined by the software author. The trial software does not have a registration file. After you register with the author, you will receive a registration file sent by the author, which may contain the user's personal information. You only need to put the file in the specified directory to make the software an official version.This file is usually stored in the software installation directory or system directory. Each time the software starts, it reads data from the file and uses an algorithm to process it. Based on the processing result, it determines whether the file is correctly registered. If it is correct, it runs in registration mode.

This protection method is rarely used.

4 CD-Check

That is, the CD protection technology. When the program starts, it determines whether a specific file exists on the CD-Rom of the optical drive. If the file does not exist, it considers that the user does not have a genuine CD-Rom and rejects the operation. During the process of running the program, the existence of the CD is generally not checked. In Windows, the specific implementation is generally as follows: First Use getlogicaldrivestrings () or getlogicaldrives () to obtain a list of all the drivers installed in the system, and then use getdrivetype () to check each drive, if the drive is an optical drive, use functions such as createfilea () or findfirstfilea () to check whether a specific file exists or not, and further check the attributes, size, and content of the file.

5 software dogs

Software dog is a smart encryption tool. It is a hardware circuit installed on interfaces such as the parallel port and serial port. It also has a set of interface software and tool software used in various languages. When a dog-protected software runs, the program sends a query command to the software dog on the computer. The software dog quickly calculates the query and gives a response. The correct response ensures that the software continues to run. If there is no software dog, the program will not run, and complicated software and hardware technologies are combined to prevent software piracy. Software dogs are generally used to protect really valuable software.

Common dogs usually include "foreign dogs" and "local dogs ). Here, the "Foreign Dog" mainly refers to the rainbow of the United States and the hasp of Israel. The "Earth dog" mainly includes the golden world (now a joint venture with the rainbow of the United States, called the "Rainbow world"), deep thinking, and sharp stone. In general, the "Foreign Dog" is not as good as "local dog" in terms of software interfaces, shelling, and anti-tracking, but it is very difficult to crack the hardware; the "dog" is doing very well in terms of software, but it is not as good as the "dog" in hardware. People with a little single-chip power can copy it.

6. Floppy disk encryption

By formatting some non-standard channels on a floppy disk, write some data on these channels, such as the decryption key of the software. This type of floppy disk becomes a "key disk ". When the software is running, the user inserts a floppy disk and the software reads the data in the track to determine whether the "key disk" is valid ".

There are other technologies such as weak bit encryption.

With the decline of floppy disks in recent years, this method has basically left the stage of history.

7. Combine software and hardware information

After a user obtains the software (bought or downloaded from the Internet), the software obtains some hardware information (such as the hard disk serial number and Bois serial number) from the user's machine during installation ), then, the information is calculated based on the user's serial number and user name, so that the software and hardware are bound to a certain extent. The user needs to send the serial number to the software provider or developer by email, phone or mail. The software developer can use the registration machine (software) to generate the registration number of the software and send it to the user. Although Software Encryption is weaker than hardware encryption, Software Encryption has the advantages of low cost and convenient use. It is very suitable for the encryption solution that uses cd rom and other methods to issue software.

Advantages of this encryption algorithm

· Different machine registration codes are different. A user obtains a password and can only register the software on one machine. Unlike the registration method currently used by most software, registration can be installed on any machine as long as you know the registration code.

· No hardware or floppy disk is required

· You can choose to control the machine where the software runs, how long the software runs, and how many times.

· The function of the software before it is not registered is a demo software, and can only run for a period of time or part of the function. After registration, the software will become formal immediately.

· Using special technologies, it is difficult for decrypted persons to find the rules for generating registered numbers

· When using the registration number to generate software (registration machine), you can use the password, key disk, and the total number of times.

· Easy to use and low price.

This encryption has the following features:

1. register the encryption software and install and use it on only one machine. Copying software to other machines cannot run.

2. If you want to install and run the software on another machine, you must send the serial number of the software running on this machine to the software publisher in exchange for the registration password. Of course, you should pay another copy of the software fee.

3. This encryption method is especially applicable to software released on the Internet and software released on CDs.

 

Note:

1. For the "encryption technology overview" section, refer to the "Cryptography basics" of university textbooks ".

2. For the "some popular software protection technologies" section, refer to the article "encryption and decryption-Software Protection Technology and complete solutions.

 

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.