Chapter 61: The Principle of Cheating

The word plug-in mentioned by Lao Zhao just now also aroused Sun Yimin's curiosity. Regarding the game plug-in, since Sun Yimin entered the company and worked with Lao Zhao, he also has a general conceptual understanding through hearing and seeing. After all, Lao Zhao's position is responsible for the server security of the "Tianwen" project.

However, he is not particularly clear about the specifics of the implementation of the plug-in. At this time, I was curious and asked Lao Zhao: "You give me a science popularization, how does the game plug-in work?" Tampering with the data on the server? ”

"Strictly speaking, this is true," Lao Zhao explained, "For online games, the accurate definition of a plug-in program refers to a cheating program or software that uses hackers to alter server game data, or exploits vulnerabilities in game design to achieve illegal operations such as wall penetration and teleportation, so as to seek benefits for players." Essentially, she's hacking software and it's illegal. But this kind of program only existed in the era when online games were just becoming popular. Nowadays, with the continuous improvement of online game security technology, such plug-in programs basically do not exist. ”

"Oh? Is it? Sun Yimin looked at Lao Zhao with a puzzled expression.

Lao Zhao continued to explain slowly: "Most of the so-called plug-ins circulating on the market now are actually not plug-ins in the real sense at all, at most they can only be called game assistant programs. Because it cannot tamper with server data, nor does it cause damage or add additional burden to the server. Its role is to help players improve the efficiency and speed of game operations, so as to gain an advantage. For example, some auxiliary city west can replace the player's manual operation, so as to improve the speed and accuracy of the character's action, and so on. To a certain extent, these auxiliary programs have caused unfairness to other players, so as an online game operator, it is still necessary to oppose and put an end to this. ”

Sun Yimin pondered Lao Zhao's words and roughly understood the meaning. Come to think of it, a program that I have been planning to make recently that can operate his overlord character automatic combat in Drunken Wind Moon is not an illegal plug-in, but an auxiliary program. Because Sun Yimin didn't think about hacking the game server or tampering with the data at all, he just hoped to use this auxiliary program to improve the speed of operation and combat efficiency.

But he has only completed a small part of this project so far - replacing the function of automatic finger buttons with a program, and how to implement the remaining key parts, he has not yet begun to think about it. Today is a good opportunity, and he wants to take this opportunity to consult Lao Zhao to see if he can get some useful information in terms of technology.

"Can you tell us about how the game helper works now?" Sun Yimin asked.

"At present, there are two kinds of auxiliary programs," Lao Zhao sat down again, lit a cigarette, and slowly exhaled a puff of dark gray smoke, he explained: "The first of them is the most primitive analog key program, which works very simply, nothing more than using the program to send false key information to the game window, so as to replace manual keys. It can't interpret the information returned from the game server to determine the state of the game character itself and the values of various attributes, so it can only send virtual buttons in a set order, and that's it. To put it bluntly, his cheating effect is very limited, and the injustice caused to the game is not great. We generally don't care much about this. ”

Sun Yimin secretly thought, this kind of auxiliary program function is indeed even a rookie programmer, and he made it last night. However, it didn't work for his big goals.

"What about the second one?" Sun Yimin asked.

"The other one is more high-end and has a higher technical content. It can interpret the data received by the game client, or read various game data from the client's program cache, and then interpret various game information from this data, such as the character's current health, skill cooldown status, its own buff or controlled state, etc. Based on this information, the program then allows the program to manipulate the game character to improvise and make appropriate actions or actions. As a simple example, the helper will determine if its character's remaining health is below a certain threshold, and if so, it will automatically take a health regeneration potion. ”

"So how does the helper manipulate the character's movements?" Sun asked.

"There are helpers that can forge datagrams to send to the server, allowing them to directly manipulate the character's actions instead of the game's client. But this kind of production is difficult and easy to discover, and once discovered, the character is easy to be banned. So most of the cheats now drive the character's actions by sending simulated key information to the game client, that is, the client must exist. This operation is not illegal in nature and is therefore difficult to detect. ”

"So how do you prevent these helpers from cheating?" Sun Yimin raised his head with his right hand, looked at Lao Zhao, and asked curiously.

In this regard, Lao Zhao patiently explained: "For the second type, the most critical measure is to encrypt the transmitted data, and the more advanced the encryption method, the safer it is." As far as it is now, basically no one can crack this transmission method, so it is very difficult to make this kind of plug-in. For the first case, you can only start with the client and let the client program detect whether the received key information is fictitious, but this is actually difficult to prevent, because a smart programmer can simulate the window message and it is difficult to distinguish between the real and the fake. However, we have another method, which is to scan the process list of the computer where the client is located, find out the common keystroke plug-in process name on the market, and report it to the server. ”

"Encryption? Could it be that the previous games transmitted data in clear code? Sun asked.

"Hmm. In the past, the data transmission method of online games was basically not encrypted, or the encryption method was very simple, and it was easy to be cracked, so it led to the proliferation of auxiliary programs. But now it's a different story. It uses more complex and robust encryption for data transmission, so it's much harder to decipher datagrams to get game values, let alone send simulated game data to the server programmatically. ”

"As you just mentioned, in addition to interpreting the packets received by the client, you can also get the game data by locking the virtual address of key game data?" Sun Yimin blurted out.

"The game data stored in the virtual memory is also encrypted and converted, I don't know the encryption method and password, you can't analyze it at all, why lock the memory address?" Lao Zhao said with a smile.

Sun Yimin was stunned. After thinking for a long time, I thought of one more thing and asked: "In fact, in addition to deciphering datagrams and analyzing virtual addresses, there is another way to obtain data, and that is through the handle of the subwindow. For example, if I want the program to get the amount of gold my character carries, then I can lock the handle of the sub-window of the package interface, and then call the API function with the handle number to get any data on this sub-window. Isn't it? ”

"Hehe, you name it, our anti-plug-in department has thought of it. The client interface is built with WI

dows child window? That's what antique online game designers do. The current online game interface does not have a single sub-window except for the main window. All dialogs, text boxes, are drawn using GDI functions, understand? The only thing you can get is the handle number of the game's main window, but that doesn't make any sense. ”

Sun Yimin, who was originally full of confidence in the production of combat assistance programs, suddenly suffered a heavy blow at this time. It is conceivable that the operator of Drunken Fengyue must have also taken such precautions. It seems that his ambitious goals can only stay in the state of imagination, and cannot be implemented at all.

And Lao Zhao's summary also confirms this from the side: "In fact, by taking these preventive measures, there are few really awesome online game assistance programs on the market. Now there are auxiliary programs on the market,It's nothing more than some software like button wizards.,Although some are advanced and some can write key scripts by themselves.,But in essence, it's still a blind elephant type.。 It doesn't actually help the player much, and it doesn't cause much harm to the game, so it basically belongs to the first type. ”

Sun Yimin nodded. After being silent for a while, he raised his head and asked, "According to what you just said, the popular auxiliary plug-ins on the market are easy to be found because of the process name. So if a player who knows how to program designs his own special auxiliary software and does not circulate it on the market, it will still be difficult for you to find it. ”

"That's right." Lao Zhao said, "But it doesn't matter, if it's just a player using a plug-in, it won't have much impact on the game as a whole." We don't deliberately deal with it. ”

Sun Yimin asked again: "So in the process of work, have you ever captured a plug-in that is so powerful as the second one?" ”

"Never, because it's so difficult." Lao Zhao replied.

Sun Yimin nodded silently, and at this time, Lao Zhao raised his head and looked at Sun Yimin with a curious expression, and asked, "Hey, what are you doing so much?" Do you want to do cheats too? ”

Sun Yimin smiled and hidden: "It's pure curiosity." ”

Lao Zhao got up, snuffed out the cigarette butt, picked up the briefcase and left. Sun Yimin also cleaned up, and walked out of the office with some lost emotions.

Lao Zhao's explanation gave it a big blow, but at this time he was still a little unconvinced and unwilling in his heart. He thought: "I'll try again when I go home, maybe things are not as difficult as Lao Zhao said." ”

When I went out, I ran into Li Yun'er again, standing at the gate of the company and seeming to be waiting for someone. Not long after, in the distance, a thin man with his hair dyed an explosive red and his face could not be seen clearly, rode out of the parking lot on a motorcycle, looked up and forgot to look. A strange gesture.

Li Yun'er ran in a hurry, stepped on the back seat of the motorcycle, and walked away.

Sun Yimin looked surprised and asked Lao Zhao: "Who is this?" ”

"His boyfriend, it looks like he just changed." Lao Zhao said without thinking.

"What kind of boyfriend is this little kid talking about, it's incredible to be a girl now." Sun Yimin said with emotion.

"We can't understand the world of children, and it's normal to have a generation gap. My daughter has a favorite boy at school. Lao Zhao said with a smile.

"What grade is your daughter?" Sun asked.

"Sixth grade, elementary school."

[Please go to (1)(7)К to read the genuine version]