Comprehensive analysis of the game to prevent the principle of multiple open, and the game to achieve a more open method. Process hiding, window title modification, port hiding, multiple game directories, multiple operating system accounts, mutexes, memory mapping files, DLL Global sharing methods to realize the game more open.
Research game has been more than a year of time, in fact, to achieve more open game is not a very difficult thing, as long as we know the game to prevent the principle of more open, and then according to its corresponding game more open method can make the game more open. Here is a summary of the game to open the principle and method:
Spent a year in exchange for this game more open article:
If you need to forward, please indicate the source: Small fish Studio Thank you.
First, the process hides
Some games prevent repeated opening by probing whether the game client process already exists, such as the game: Heroes Beauty
The game is a multi-open method for starting a game client, hide the game's process, only one or more.
Second, the window caption is modified (using the FindWindow API function)
Some games prevent duplicate opening by probing whether the window of the game client is already present.
The game is more open way to change the game window to any character.
Third, the port is hidden
Part of the game by default open TCP or UDP port monitoring, open the second game when the opening of the port will fail to determine whether the game is more open.
The game is more open method for this kind of need to use the Netstat–a–n–o command to view the port can realize the game more open.
Four, multiple game directories
Some games use exclusive file access to prevent duplicates from opening.
The game is more open method for copying the game client to another folder, open in another folder.
Five, multiple operating system accounts (XP-only system)
Part of the game by restricting a user can only open a game to prevent repeated opening.
The game is more open method for the system account to create more accounts, a game using an account. Here's how:
1. Open Control Panel → user account → create a new account → Enter a new account name (next) → create an account;
2, then to the desktop of the game shortcut icon right-click [Properties] SELECT [Advanced] the [run as other users] This option to open the 2nd program when you remember to use your new user into it, save the old to switch users.
Six, the mutex.
Part of the game determines whether a program has run through a thread synchronization object such as a mutex object/semaphore/event. The most commonly used functions are: Createmutexa.
1, first create a mutex, CreateMutex function, the first parameter can be set to NULL, the second argument must be set to False, the third parameter represents the name of the mutex, this name preferably has some special identification to prevent conflicts with other applications, such as program name + time.
2. Use the GetLastError () function to determine if the error message is error_already_exists, and if so, the program has started.
There are two ways to open the game, one to find the mutex, and then close the mutex to achieve more open. Two is Apihook, receive the error message, the emphasis command (error code =0) can be. QQ game, tianlong eight = = the most common type
VII, memory-mapped files (file Mapping)
Part of the game by putting the program instance information into the cross-process memory map file, to prevent the game more open.
The way to open the game is to block the function, do not let it name the kernel file can be implemented more open.
The DLL is shared globally
DLL global shares are initialized only once when mapped to the address space of each process, and are loaded by Windows for the first time, so you can use this area data to limit your programs more than once.
Game multi-open method for DLL hijacking let the game start to load your DLL, and then go to the original DLL can be implemented more open.
Ninth, use public files
When the program starts, a public file is created in a common directory (such as the C: \ or temp directory) and the file is set to not share read-write. When the second program starts, the file is also opened, and if it is turned on successfully, it indicates that the program has not been started or that the program has started.
The way to open the game is: Manually set multiple open, such as: Set the file access permissions, not allow this program to create files in the public directory.
Tenth, MAC address verification
When the server is logged in, the MAC address is obtained, sent to the server side, and the server is verified by MAC address, and if the MAC address is repeatedly logged in, it is not allowed to communicate with the servers.
Multi-game Multi-method for: Using Super Rabbit and other software to modify the MAC address to achieve more open, in view of this situation, I also wrote a modified MAC address of the gadget, you can download the site.
11th, view network Connections
Get a native all network connection, use Gettcptable to get a TCP connection, use Getudptable to get a UDP connection, check for connections to the server IP and port number, and, if so, indicate that the program has started or the program does not start. It is important to note that the IP and port numbers it obtains are a DWORD value, and the high and low bits are reversed. IP addresses can convert IP addresses (such as "127.0.0.1") in the form of a string to a DWORD type through the INET_ADDR function, and the port number can be converted using the following formula: DWORD Dwport = ((Nport & 0xff) << 8) + ( (Nport & 0xff00) >> 8);
The way to open the game is: Hang the system hooks, cause the gettcptable function failed to implement more open.
Game to prevent multiple open methods sometimes not only with a method, most games will use a variety of methods together to prevent multiple open, as long as we all know how these several games open principle, flexible operation, an analysis and troubleshooting, basically can solve a variety of games more open, if you have any better way, welcome to the thread, Exchange it.
The principle of multi-game opening