World of Warcraft well-known plug-in open source

    Based on the principle of sharing good things with everyone, here I will open-source two hot-selling in World of Warcraft - "Warcraft Easy", "Warcraft Superman" and "Warcraft Rubik's Cube" in the form of serialization. It is only for everyone's learning and communication. Although these materials can help friends who don't understand plug-ins to understand some knowledge of plug-ins, can help friends who are keen on plug-ins to find some ideas and methods for reference, and can give friends who do game development and game security more clues against plug-ins In order to make the game safer and better; but the main purpose of my disclosure of these materials is: I hope that all friends who are keen on online games can correctly understand the game, the game is fun and can be entertained, but there is no need to be obsessed! People are not hung up, obsession will only make people exhausted. Stay away from games and plug-ins and make our life really easy and happy.
    Dear friends, if you are interested in this open source project, you are welcome to come to Dingding and leave your experience and experience here.

    It is solemnly stated: Do not use the technical information here in commercial transactions and illegal acts, and I will not bear any consequences and legal responsibilities for you caused by the use of this technology.

    Friends who reprint, use or modify the code or materials here, please be sure to indicate the original link of this post: http://blog.csdn.net/dj0379/archive/2009/07/05/4323376.aspx , it is recommended to use the source code The first part of the code is indicated in the form of comments.

    From time to time, I will post the code and information on the Internet and link it here. If you have any questions, you can leave a message here or send an email to: [email protected] I will reply as soon as possible, thank you!

    Distribution program structure: http://www.programsalon.com/downloads111/sourcecode/windows/detail464583.html (including the installer for the VC++8.0 runtime environment)
    Starter program source code: http://www.programsalon.com /downloads111/sourcecode/windows/detail464427.htmlMain
    interface program source code: http://www.programsalon.com/downloads111/sourcecode/windows/detail464489.htmlAuto-update
    program source code: http://www.programsalon.com /downloads111/sourcecode/windows/detail464432.html
    is injected into the module source code: http://www.programsalon.com/downloads111/sourcecode/windows/detail464422.html

    Thank you hellzealot < [email protected] > for reminding me that I forgot to submit this part of the code and hereby add it: 2009-10-28
    public header file: http://www.pudn.com/downloads202/sourcecode/game/detail952238.html

    The engineering codes are all written in VC++ 2005. Please install the VC++8.0 runtime environment before running.

-------------------------------------------------- ----------------
    Usually we divide game widgets into three categories: external, internal, and offline.

    Plug-in: No need to inject modules into the game client, directly read and write other process memory through system API functions such as ReadProcessMemory and WriteProcessMemory, so as to control the game client and achieve the purpose of automatically hanging up;

    Internal hanging: You need to create a thread in the game process through the CreateRemoteThread function to execute the LoadLibrary function to load some self-written modules into the game process, so as to communicate with the modules that have been injected into the game process. Directly read and write the memory of the game process in the space to achieve the purpose of controlling the game client and automatically hanging up;

    Offline hanging: By deciphering the packet encryption and decryption process and analyzing, classifying, and simulating the communication packets of the game client, the game client can be separated from the game client, and all communication actions during the game client and service period can be directly simulated to achieve full offline or semi-offline The purpose of controlling the game client and realizing the automatic hang-up. (In the case of simulating only a small number of packets, the combination of external or internal hooking is called semi-offline hooking.)

    The first two must be attached to the game client, while the last one can work independently of the game client. Therefore, once the game client update changes the memory distribution or usage rules of its own runtime, corresponding program updates must be made immediately for the first two, otherwise the user will not be able to continue to hang up under the new version of the game client; For offline hanging, this impact is much smaller. Once the packet of an online game is determined, it is not easy to change it easily. Once the packet is updated to change the game, it is undoubtedly a time-consuming project. Few game developers do this, so once the packet is analyzed clearly, you can hang on the game like a blood-sucking worm, which means that such a hang is basically not affected by game updates.

    However, according to the sequence described above, the production difficulty and production time of these three kinds of hangings are also multiplied in turn. Therefore, it should be decided according to the characteristics of different games and the needs of actual users which method to choose to make plug-ins. From the above description, it is not difficult to see that the most technically best plug-in is of course a completely offline plug-in.

    Generally speaking, if you have the source code, everything will be fine, but for special software such as plug-ins that are directly related to the game: the source code is not enough, because the source code is only obtained by analyzing all the game information for a long time. A temporary form of expression of the law. Once the game is updated and changed, this form of expression must change accordingly, otherwise the result will be that the plug-in cannot be used. Therefore, it is very important to master the analysis method and process of game information, so as to obtain a specific and correct form of expression.

    In the follow-up post, I will describe the method and general process of finding and analyzing game information, as well as using and maintaining open source code for World of Warcraft.

 

 

Du Jing, 2008

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325650211&siteId=291194637