Click here to Skip to main content
15,610,088 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
so, I've tried to make a multiplayer hack in console app in visual studios.
but my problem is I can't find any code, ideas, or materiel for my multiplayer hack I'm trying to make, basically here is what I want to do

what I want is for a ds emulator called melon DS that I'm trying to work with have communication over the network with WRITEPROCESSMEMORY, basically.
when the console app opens
I want WRITPEPROCESSMEMORY to find the ds emulators window to hook into process player memory. identify the memory I'm trying to have communication with socket or the hole processes memory itself, next I want to write that memory or the process memory so it can have Ip address, and port connected to the memory to bind. so that way I can connect to the process with the player memory being the client, make sense, like let's say I were to bind by typing a line in console app to bind Ip address and port, unless there's an error, if it's all set, we can connect the process and memory we are finding while connecting to the console app process, next if we were to type a line called host, the console app process and the process and memory we just found can let anybody connect to as long as it's the same process not the same Ip address and port. if we type a line called connect to Ip address and port we can connect to the process, memory address, and Ip address/port now the console app can chat with the player and the players can see and play with each other, here is a picture for an example[^]

What I have tried:

1: I've tried searching for multiplayer hacks, did not find anything,

2: I tried searching for socket, named pipe, WM_COPYDATA, and IPC, unfortunately, idk if they work

feel free to ask some questions of mistakes I've made,
Updated 10-Jan-23 19:34pm

No, it doesn't work like that. Even if you did "identify the process memory" it wouldn't be any use to anyone else as it isn't shared between computers (or even kept in the same place all the time on a single computer: Virtual Memory allows the system to even move it to the HDD if it needs the space!)

If you want to write a multiplayer game, then you probably need to do a serious amount of research: write a multiplayer game C++ - Google Search[^] is a good starter, but you'll probably need to do a lot of reading before you start typing anything.

If you are trying to change the behaviour of an existing game to add multiplayer, then you are probably going to have to do all that research and get hold of the original source code for the game - and even then it won't be a simple process, not even slightly.
Share this answer
I have done this kind of thing before and it is very complex. What you have to do is access memory symbolically which means you specify it through a text string. Each piece of memory you access needs to have a text symbol or another means of specification that you can use between machines. I used a text string for mine. Mr. Griff described the issues. It's actually even more complex because a pointer to memory of one process is not usable to another process on even the same machine. For this reason, I devised a system that involves a table of text strings that are used to map addresses to data items in memory. The strings are how other processes acquire addresses. This system is very hard to explain in writing so I hope you can imagine how difficult it is to implement.
Share this answer

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900