Author: sodme article Source: http: //blog.9cbs.net/sodme Disclaimer: This article may be reproduced without the consent of the author arbitrarily, but reprint please retain the copyright of the article, the author and source of information before the start of the two lines. Since a online game project of the hand is starting, this article has been separated from the previous article, and the reader apologizes, let everyone wait.
This series of articles is not written in advance. It is impossible to write, so it may not be very good, and I will make the manuscripts well in the future. We will then the last content, saying that the development tools and development steps of game robots.
The development of game robots includes two important aspects, they are: packet analysis and addending. Of course, this is a quite broad statement that is very unsightly. Specifically, in the packet analysis, it includes: the establishment of the package structure, the decryption of the package data content, the generation of the package check code, the generation of the package sequence number, etc. In addition to the shelling of the master executable program file itself in the program, the program plus decryption is mainly including the use of static analysis and dynamic tracking. Nowadays, online games appeared on the market, have little encrypted on the package content, of course, the encryption scheme is not the same, some is encrypted all the package content in the game, and some are only for sensitive packet content Encryption, such as login package, combat package, and mobile packets, etc.
Therefore, the development tool of the game robot, in addition to the program language tool, there should be a package analysis, plus / decryption, numerical conversion and other supporting tools. In general, the development tools of the game robots mainly include:
1. At least one programming language tool, supports Socket network programming, such as: VC, VB, Dephi, etc. The game robots appearing on the market now, and more than these three languages (PEID software can help see what development tools used by the program, and can identify the shells added by the program, download the address: http://www.pediy.com/tools/unpack/file analysers/peid/peid.zip (download address is from the snow website)). The author uses Delphi7.0, where TidtcpClient in the TclientSocket component or Indy control group can be used to develop, where TclientSocket is not available in Delphi7.0, must be installed manually, installation method is: Component -> Install packages -> Add -> ... / program files / borland / delphi7 / bin / dclsockets70.bpl.
2. At least one tool software for the interception. The interception tool is divided into two categories, one is a data package that intercepts the stream network card, one is to intercept the package of the specified application.
The working principle of the two seats is different. The former is the underlying, and through the network drive layer to obtain all the data flowing through the NIC, the latter is performed by replacing the SOCK function to obtain network data packets. Your own processing. For the former, representative tools are: Sniffer Pro, CommView, etc .; and for the latter, representative tools are: WPE, etc. The latest version of these tools can be easily found in Google.com. When using the author, it is two kinds of use, but mainly still uses CommView. Before using CommView, I used Sniffer Pro, but after the CommView was found, I thoroughly abandoned the Sniffer Pro, which only used one sentence to describe: CommView is great. Regarding the specific use of CommIEW, I will explain in detail in the package analysis of the next section. 3. Anti-assembly and commissioning tools. Many people know that there is no encrypted online game age has been shipped, and now if there is any online game does not encrypt, then in a short period of time, the game will be full.
Online game encryption can be divided into many different levels, encryption on network packet levels, encryption on client game data files (such as item files), encryption and plus housing on client execution procedures, etc. These, different, decryption methods have become more complicated. From the overall strategy, the decryption method has two categories: static analysis and dynamic debugging. Static analysis refers to static analysis and comparison of assembly code after using specific software to reverse the assembly code using a specific software. Dynamic debugging refers to a specific software to perform dynamic tracking debugging, tracking data, and execution processes of the program. Static analysis common software mainly has IDA Pro, etc., while dynamic debugging software mainly has SOFTICE and OLLYDBG, etc. It should be noted that two methods of static analysis and dynamic debugging are cross-use when decryption is performed, which is complementary. The specific use of these two software, I will introduce in subsequent chapters.
4. Other common tools in program check / shelling, packet analysis and data calculation. These tools include: check / shelling tool, M2M varying or computing tool, ASCII code conversion tool, Windows self-contained calculator (primarily for enonomering conversion in scientific mode).
There are some check / shell tools in http://www.pediy.com/tool/unpacker.htm, but the shelling tool here is mainly for the way of using the shell, not manual plus. The case of the shell, the manual shelling method for the manual housing must be used. In the book in "Adding Cormented", I recommend the "Encryption and Decryption (2nd Edition)" of the Snow Forum, which can make the game robot with the assembly base in the core.
Today's online games, due to the frequency and traffic of the data interaction,, for the consideration of efficiency and game fluency, it is less likely to use a very complex packet encryption algorithm, in many cases, the package is different or encrypted That is to: allowing the original packet data to generate an encrypted data with a value after a value, as for this participation in or the numerical value, it is necessary to have experienced analysis and reasoning. However, the reader does not have to be afraid, the package analysis is the most important thing to have anger, patiently, meticulous consideration, try to try several analytical programs, and we will specifically explore several strategies in the package analysis.
The ASCII code conversion tool is an essential tool for packet analysis. By it, we can find the corresponding ASCII code according to the Chinese and English word, or you can check the Chinese and English in accordance with the ASCII code. However, the ASCII code is converted, and it is already integrated in CommView. When the network packet content is displayed in CommView, the corresponding ASCII code is displayed, but due to its typesetting, some of the words display may be garbled So, a separate conversion tool is still necessary. Network data is intercepted when intercepted, and our usual thinking mode is based on decimal, and we often need to be in decimal and sixteen when calculating data such as health, mana values. The conversion between the progress and other entries. When using Windows comes with a calculator, it is easy to implement conversion between entering.
The above is the tool software for the development of the game robot development. Of course, just know that the names of these software are useless. The key is to learn to use these software to serve our development practices. After introducing these tools, we give you a general step of the development of the game robot:
1. Check the hous and shelling operation of the game client to check the shell and shell, so that it can be revealed into normal assembly code.
2. Preliminary packet analysis of the game, analyze the overall structure of the package, and observe whether it is encrypted.
3. Reproduction of the shell-behind game master executive, and perform static analysis and dynamic debugging to identify its important encryption algorithms. For example, the encryption of username and password, encryption of network packets, and the generated algorithm of the check code in the network packet (some games do not contain the check code in the check code in the data package).
4. In-depth packet analysis of the game, determine the structure of important types (walking, speaking, team, attacking, etc.) network packets and specific meaning and generation methods.
5. Design game robots using modeling tools. (Optional)
6. After walking, talking, teaming, attacking, etc. After analyzing, you can implement the initial code. In the process of implementation, further improve the function of the robot based on the newly analyzed packet.
Next time, we will talk about packet analysis in packet analysis initial and intercepting software. thanks for your support.