Secret pursuit-approaching CRACKER (I)

Source: Internet
Author: User

First, you need to correct your learning attitude-that is, your attitude towards cracking. every software cracker, or cracker, who has been fixed to a certain extent, knows that cracking software serial numbers, functional limitations, time constraints, and other things is not the ultimate goal, A true cracker is pursuing the ultimate in technology and an infinite desire for technology. software authors are not allowed to leave an unknown black box in their software, so we need to analyze the software to see how the author implements software protection. What are the advantages and disadvantages of this protection mechanism, what is worth learning from.

The best protection system will certainly use the best technology, or the algorithm, or programming ideology. We will analyze and study them and finally clarify them, then we can use these experiences in our own software. this is why many crackers eventually become excellent programmer or system analysts. therefore, cracking has a more professional name: "reverse engineering", which is translated into Chinese as "reverse engineering ".

Of course, it is undeniable that, in some cases, implementing "reverse engineering" on software may indeed affect the personal interests of software developers. due to this influence, many developers have a "hate" attitude towards cracker. In fact, it is not necessary to study it in detail. what seriously harms software developers is not a cracker, but a pirated merchant who shamelessly steals the result of cracker's work. These hackers not only seriously damage the interests of developers, it also seriously damages the interests and reputation of cracker. As the crystallization of programmer knowledge, the concept of property rights is certainly different from that of other products. The spread of knowledge should not be blocked, there will be no real obstacles. In the information age, it is important to master the knowledge, but the method to acquire the knowledge is the top priority. the reverse engineering technology used by Cracker is a technology that teaches you how to learn advanced software design ideas from others' software. Its importance can be imagined.

The path to Cracker Growth
"Reverse engineering is a technology that teaches you how to learn advanced software design ideas from others' software." It seems a little too abstract, we can look at the overall cracking from the general growth path of a cracker:
1. the initial stage. of course, it is very simple to crack the serial number, time limit, functional restrictions and other work, most people are unable to stand the many restrictions of many shared software and began to study the cracking.
2. after you have mastered the most basic technology, you can use it to analyze and solve various problems encountered by daily use of computers. at this time, people with the same purpose will gradually develop some differences and discover their respective fields of interest. For example, if you are interested in operating system principles, you can modify some software by yourself, make it more suitable for your own use, such as modifying the software menu, shortcut keys, or adding some features required by the software, such as printing. those who focus on software algorithms will learn more about software encryption algorithms, and those who focus on shelling will encounter more shells, you can learn more about shell. in short, this step has been roughly divided.
3. if you have enough perseverance, time, self-learning ability and talent, you will be able to go through the second layer to reach the realm of the master. the cracker at this level has the biggest commonality-Excellent programmer, that is, they all have deep programming skills, which fully reflects the great role of reverse engineering technology. of course, programming is only the most basic requirement. In other aspects, everyone has their own unique and profound understanding aspects, such as the system kernel and cryptographic algorithms.

Next, let's take a look at the efforts we need to make to learn the reverse engineering technology well?

First, the most important thing is perseverance, a kind of enthusiasm for technology. interest is the best teacher. If you don't have enough interest as motivation to support the compilation code, it is easy to get bored and bored, in this way, we will never learn CRACKING well. jojo, a veteran of the domestic CRACKING community, once said in the preface to <reading the essence of the snow Forum 3>: "Let's figure out the basic conditions that a CRACKER needs most. In fact, it is not a solid compilation and programming Foundation. You don't understand this, the secret of CRACKING is diligence and perseverance! Remember and be able to achieve these two points, you can become excellent. "On paper, perseverance and perseverance may make many people feel that this is not worth mentioning. However, if you do not try it yourself, you will never know what it is like. I used to debug a program protected by the BlowFish algorithm. It was my first access to the cryptography protection system. I wrote a notebook about the computation process based on the intermediate computation result and the important address breakpoint, debugging has been ongoing for 10 hours. I have seen endless compilation code. If I did not find the relevant information about the BlowFish algorithm, I still don't know how long it will take to track it, the BlowFish algorithm is a simple algorithm in cryptography. If you encounter a WinRAR, CloneCD, and other encryption systems using the elliptic curve cryptography algorithm, the difficulties and difficulties are even harder to imagine. therefore, to become a good CRACKER, we must be patient and persistent.

Second, it is an extremely solid compilation skills and knowledge of system programming. CRACKING is a very low-level thing. Unlike RAD tools such as VB and Delphi, you can draw a window by dragging it like a fool. In the eyes of a CRACKER, any event, it is necessary to have a deep understanding of the Assembly level. In a window, we need to thoroughly analyze its message response function, an algorithm, and a clear understanding from the register and memory operation level. as you can imagine, a 2-3 m software requires several months of hard work to be developed using VC. If you want to read the compilation code without source code, figuring out its operating mechanism without solid compilation and system knowledge as a strong background support is completely unimaginable, every friend who has learned computer knows that there is no shortcut to it. It is only by the daily attention and efforts that the accumulation of money can be thin. when your basic knowledge is solid, it is easy to engage in any computer-related research.

The first two points are all forms of truth. Everyone may think that they are abstract and don't have to worry. In future practices, there are a lot of opportunities and time for you to gradually understand the true meaning.

To do well, you must first sharpen your tools. as an extremely professional field, reverse engineering not only has different guiding ideology, but also has unique tools. It is very different from other fields and wants to become a professional CRACKER, be sure to be familiar with some commonly used tools. The most famous TRW, Soft-Ice, and W32Dasm are all great commodities. People who have more contact with computers should have heard of these terms more or less, these are the most basic tools for CRACKER. but don't think it will be enough to use these tools. After getting started, you will find a bunch of tools you have never seen or even heard of, waiting for you to learn. CRACKER tools have a common feature-small but refined. They focus on very small starting points and don't take it for granted if they are too small. In many cases, it is just something that can help you a lot, therefore, you must have a comprehensive understanding of the tools. In the future "secret pursuit" section, I will specifically introduce the various tools required by CRACKER, we hope that you can obtain the most useful CRACKING knowledge in the shortest time.

The emergence and development of CRACKING
Any discipline has its own production and development process, and reverse engineering is certainly not an exception. Now, the time division method recognized by the CRACKING industry is based on changes in the operating system, specifically, there are several stages:
1. sprout: In 1970s, before DOS became popular. at that time, CRACKING was completely a kind of personal behavior. Due to the limitation of communication methods and computer penetration rate, CRACKING was completely casual for some old computer talents, the concept of "Software Protection" is completely unformed, and the protection system is extremely simple. The task of reverse engineering is mostly to learn people's programming ideas. At that time, reverse engineering technology was mainly used in single chip microcomputer, in the field of Apple Computer programming, there is almost no literature circulating. Now it is difficult to study the technological development level and research achievements of that era.
2. Development:
...........

Unfinished generations

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.