In the 20th century, when there was no Internet! The software uses a CD to write the code in a non-replicable sector, and then gives you a password. When the CD is installed, the corresponding password will be generated according to this code, which is given to you by the software company. The cracking method is to bypass the password, which is the cracked version!
At the end of the 20th century, the Internet was born! General software adopts network registration and computer use. For example, Photoshop8.0, after you install it, the machine will randomly generate a 25-digit number. As long as it is sent to the website, the website will generate a new 25-digit number and send it to you through calculation. So you can use it. This generation process was later cracked by the invention of decoding calculation software named "decoder".
3.2 1 century software network code! 2 1 century, due to the developed network, most software should be networked anytime and anywhere. So I applied for a unique password through my mobile phone number. Identify the address, mobile phone number and other information every time you start the software! Passwords will automatically become invalid when they are used in multiple machines or places. This is the password of our Iqiyi member! Because this is a one-to-many binding password, and it has always been networked, it is difficult to use it for free for a long time. Cracking is impossible!
Three times, from being unable to cope with the cracking software to the current network software, there is no way to crack it. History is progressing!
First of all, it is certain that all software can be cracked, but the cost of cracking is different. Even IOS can crack jailbreak, let alone Windows. There are really not many professional versions of genuine Windows in China.
Why don't developers stop producing cracked versions? Because it can't be stopped.
Blasting is a simple cracking method. We can crack the executable file of the software and recompile it through reverse engineering to achieve the purpose of cracking.
For example, we have a software that will go to a website for verification every time we enter the registration code. If it passes the verification, it will return an instruction. After the software gets this instruction, it is equivalent to successful registration. After recompiling, we can modify this address and change it into our own cracking address, but no matter what we type, we will return a successful instruction, so that we can achieve the purpose of cracking.
Of course, we can also modify the processing logic of verification, for example, if the user enters the wrong registration code and the verification passes, the purpose of cracking can also be achieved.
In addition, it is cracked by writing a registration machine. All software verification has a fixed logic algorithm. As long as you understand this algorithm, you can write a registration machine and generate the correct registration code according to the generation logic of verification code, and use this registration code to complete registration.
There are many ways to crack, and there will be different ways to crack for different software. For developers, naturally, they don't want their software to be cracked, so many anti-cracking methods are added, but these methods all have loopholes, because these anti-cracking methods are actually a piece of software, and they can be cracked as long as they are in soft armor.
Can all software be cracked? Why don't developers stop cracking the version? This question is answered from the following aspects.
First, all software can be cracked, which is nothing more than the difficulty and value of cracking, which determines the number of crackers.
This problem is somewhat similar to locking and unlocking. With some skill and effort, it can be said that almost all locks can be opened without a key.
Second, why don't developers stop the cracked version?
For example. A few years ago, the boss of Microsoft said, I know China people like to steal (software piracy), even so, I still hope they steal our software.
This sentence illustrates a truth. To some extent, most software developers prefer someone to crack their own products and someone to use their own pirated products.
Why is this?
In fact, this has two functions.
The first influence is that the popularity of pirated software can hit its competitors. If the crackdown on piracy is too severe and no one uses piracy, then their competitors' products are likely to take advantage of it and occupy the market. For example, in windows, if Gates cracks down on piracy, it is likely that the domestic operating system will take the opportunity to develop. If piracy is left unchecked, a very important role is to let users form habits and block the opportunities for the development of domestic systems.
The second influence is that they have a new way to make money.
For example, most computers using operating systems can be connected to the Internet now, and Gates can easily know which machines use pirated systems. If some small companies dare to use piracy, they will collect evidence and then send lawyers' letters to these companies. The evidence of your use of piracy has been collected. You can either pay 10000 yuan to buy our purchase license or go to court as a defendant. In this case, it can be said that there is a high probability of losing the case, and the number is very large. Although many software companies do not make money by piracy, they can make a fortune in this way.
Software upgrading and cracking is the relationship between spear and shield. The specific analysis is as follows: it is common for developers to protect their own software, but there should be no developers who feel that their software cannot be cracked.
First of all, you should understand that the primary purpose of developing software is definitely not to "protect the software from being cracked". This is just a helpless move made by the author in order to safeguard his legitimate rights and interests. Adding a lot of security protection code to protect the software, and then the developed software becomes a network firewall and the like, which is not worth the candle.
All encryption methods can't completely guarantee security, but the cracker will consider the "efficiency-cost ratio" when cracking the software. For example, it is very troublesome for me to crack this software. It may take me a week to work continuously, but this software only costs ten yuan, so I generally don't consider wasting this time to crack it.
In addition, cracking the software will destroy the integrity of the software, resulting in some abnormal functions or even unusable. The author only needs to protect the core functions, and misinterpret these functions after cracking (for example, encrypting and saving files throughout the process). Cracking this software requires the cracker to have the same technical level as the developer in the current field.
We're digressing again, but this is important. Someone once compared Hacker and Cracker, but the difference between them is very big. Hackers focus on network transmission technology and operating system, while crackers focus on compilation technology and underlying language; Hackers are not necessarily for profit, but cracking is definitely for profit; Hackers can have friends and enemies, but cracking will harm everyone's interests (rampant piracy will seriously restrict the development of the software industry, such as Windows piracy flying everywhere, and people who want to develop another system to recover the cost by selling the system are basically insane).
Finally, sum up. Qiu Bojun, the leader of WPS, once said: Someone pirated his software, which shows that this software is recognized. It is impossible for a developer not to consider the problem of piracy, but your software will be valuable only if it is used first. Software protection and software cracking are a pair of spears and shields, and the presence of enemies can keep us vigilant at all times.
Program from debug mode, that is, single step. Running programs can also be captured and put into debugging mode. As long as you find some key judgment points and turn the program around, you can crack it.
Not all software can be cracked. It can only be said that all the program codes and databases are in the local software.
For example: "cloud computer" and "cloud mobile phone". All the program codes and databases are placed on the server side, and only one client of the local mobile phone or computer is responsible for logging in.
"Cloud computer" and "cloud mobile phone" can transmit local operation instructions to the computer or mobile phone on the server side, and all the program execution processes are completed on the computer or mobile phone on the server side, and then the images are sent back to the local area in real time through the network. Because of the fast network speed and low latency, it feels like a real local operation.
For cloud software or system, all codes, databases and execution processes are on the server side, and even the verification process of account number and password at login needs to be compared with the database on the server side. Therefore, the possibility of such software or system being cracked is almost zero. Even if it is breached, it can only be leaked through hacker technology or sensitive information such as account number, password and IP address.
Why can local software and systems be cracked? It may take months to build a house, but it may only take a moment to tear it down. The same is true for local software and systems. The cracking process is a tricky process. You don't need to know how all the code is written, how it works, how it is executed and what the execution logic is. You just need to find the code segment that performs authority authentication and authorization.
You can make the software jump to the main interface of the software as soon as it is executed, bypassing the process of entering and verifying the user name and password.
You can also make the user name and password verification module of the software jump to the main interface of the software whether the verification is successful or not.
Friends who often go to the "Snow Watch" forum will know that there are various tools and ideas for software cracking. Software cracking as a discipline has a long history, and it has a tall name "software reverse engineering".
Software reverse engineering
Software reverse engineering refers to the reverse disassembly and analysis of software structure, process, algorithm and code by using various computer technologies such as decryption, disassembly, system analysis and program understanding, and deduces the source code, design principle, structure, algorithm, processing process, operation method and related documents of software products.
When developing software, there will be tamper-proof technology to prevent reverse engineering and re-engineering of special software. There are two situations in the practical application of reverse engineering: one is that the source code of the software is available, but there are almost no description documents from the superior departments or the description documents are no longer applicable or lost. The other is that the software has no available source code, and any effort to find its source code is called reverse engineering. So don't treat software reverse engineering as a gloomy subject, it is only often used on opportunistic people.
Reverse engineering of software can use "clean room technology" to avoid copyright infringement. In some countries, software reverse engineering is protected as long as it abides by the fair use clause of the Copyright Industry Interpretation Law. For example:
The above is just the basic idea of software cracking, so that everyone can better understand why local software and systems can be cracked. Software reverse engineering is not as simple as imagined. This course needs to have basic programming ability, master shell principles and skills, and have a good understanding of operating system knowledge. In short, there is more knowledge involved and more things to learn. It takes a long time to master this subject skillfully.
Under the reverse engineering, the encryption technology and registration mechanism of software are constantly evolving. At the earliest time, as long as the software purchased the distribution disk or CD-ROM, it could use genuine software. However, due to the prevalence of pirated CDs, it has evolved into the need to enter a string of activation codes to activate genuine rights. Soon the counting program appeared, so there was online verification.
However, no matter how powerful the shell/encryption mechanism of the software is and how perfect the registration mechanism is, as long as the code of the software is local, it will be cracked, just for a long time.
The above personal views are welcome to criticize and correct.
The key is whether it is worth it. If it takes 100 days to do the software function now, it will be difficult to crack it in another 5 days. Then I might do it. If it takes another five days to make it almost unbreakable. I can choose not to do it. Because maybe this part is of little value.
If my name is Juying and I go to a country to promote software, there is another thing called UPS in this country that is very similar to my software. What I want to do most now is to kill him first, even without considering my promoter's own promotion expenses. Not only will I not do anti-cracking, but I may also actively support these promoters.
After all, piracy is risky, and novices may look for a cracked version, but the function is definitely not smooth enough to use. Professional users who really need it are still willing to spend money to buy genuine ones.
When a software comes out, the cracked version is also a marketing propaganda means. If it is a direct charge, where can users download the experience?
Indeed, all software may be cracked, including national applications such as Alipay and WeChat.
Analysis: On the one hand, hackers crack software to show off technology and skills to developers, and on the other hand, to gain benefits. 20 19 tmall double eleven suffered 2.2 billion malicious attacks in 24 hours. Does it mean that Tmall is an iron wall with no loopholes? Not exactly. This level of application will be equipped with a professional security team to technically filter out most "novice hackers". After all, top hackers are a minority, and generally disdain to do such a thing. At the same time, they also consider the deterrent power of the law. Hacking a national application is not a trivial matter, and no one can guarantee that they can get away with it. There is a saying that "a full bottle of water does not sway, and half a bottle of water makes waves." It can be said that the hackers who attacked Tmall in the Double Eleven are basically at the level of "half a bottle of water". Although it is not easy for Tmall to stand the test, it is not surprising.
Needless to say, general application software, developers spend most of their thoughts on functional research, and also achieve the ultimate in security. If they want to do better, they must set up a special security team, but this will increase a lot of development costs. Even so, there is no guarantee that the software has zero vulnerabilities. Therefore, in the eyes of hackers, most software is tantamount to "streaking".
Summary: There are many cracked versions of software on the Internet because some people are not strong enough in copyright awareness and are doing illegal things with luck. It's not that developers don't stop it, but that the cost of rights protection is high, and software developers basically turn a blind eye. Cracking software is a stumbling block to the development of software industry. Who will pay for the free genuine software? If developers can't make money, who will develop software with heart? This is an infinite loop. However, with the gradual improvement of people's copyright awareness and the continuous improvement of copyright supervision in China, this situation will be greatly improved. What we ordinary people have to do is to support originality.