To keep it simple, there's those games where you kill monsters to gain experience and levels, mostly RPGs.

Your experience is stored in a memory location, which I want to monitor. Everytime you kill a monster, this value updates. But I see only three methods of recognizing every write access to this value.

Hooking the "A monster has been killed" Message of the game. Bad option because you can gain experience even if you don't see a monster dieing.

The game I want to monitor at the moment is an MMORPG which means, everytime I gain experience the server sends me the new value. I'd just need to hook those received packets with the experience inside.

Hardware breakpoints if it's possible without debugging a process.

I know the easiest way would be to ReadProcessMemory() (in windows) every X milliseconds. But again I want to monitor every change of this value and if I kill more than one monster within X milliseconds, this change is lost in my calculation of statistics like:

# of monsters killed

Avg experience per monster

# of monsters needed to kill for the next level

and so on

That's why I hope there's a method out there to monitor every write access to a memory location. Thanks for help in advance :)
Hawk

02-23-2008

master5001

This is entirely possible

This is entirely possible and you are certainly on the right track, however, can I take a moment to reword your question to:

Hey guys, I want to cheat at an MMORPG, can you lower your ethics and help me?

02-23-2008

Hawkin

I knew someone had to post that, but as you can see I already posted the winsock hooking method, with which I could do everything with the traffic, actually I am writing a bot for another game too using this method, but this has nothing to do with my concern - nor do I want to cheat with just reading data. There are tools that keep track of your experience which aren't even illegal. But I code to learn and I came up with this method which I know from debugging processes.

If you know something about that or other methods of keeping track of memory values, please post :) I would post in cheating boards if this was to cheat or something.

02-23-2008

iMalc

Sure, tell us exactly which MMORPGs you are writing bots for, and allow us time to read the EULAs for those games so we can confirm you are allowed to do what you are doing.
Then preferably send us your entire source code thus far so we can see that you're telling the truth about what you're actually doing, and if it all checks out we'll get back to you. :p

02-24-2008

Hawkin

Quote:

Originally Posted by iMalc

Sure, tell us exactly which MMORPGs you are writing bots for, and allow us time to read the EULAs for those games so we can confirm you are allowed to do what you are doing.
Then preferably send us your entire source code thus far so we can see that you're telling the truth about what you're actually doing, and if it all checks out we'll get back to you. :p

What's the point of this :D I am allowed to write bots and anything as long as I do not use them for the games they are made for. Can you come back to memory monitoring please?

02-24-2008

Wraithan

Can you completely honestly say that you would not use the bot/software to break the EULA of the game, nor distribute the bot/software knowing others will use it to break a EULA?

Don't get me wrong I am not the high and mighty, I cheat at a rather popular MMO, but this is not the place to discuss such code, find yourself a forum for the game where things like this are allowed to be discussed, you will find little to no help here.

02-24-2008

Hawkin

So if I wanted to know how I could allocate 4 bytes of memory to store data to which an answer was "int var;", should I go to a cheating forum too, because I could use this code in a dll which I could inject to a game which could be against some eula's or rules?
Sorry but that is ridiculous.

But if you guys personally think that close-minded, I should really move that to another forum =/

What If I asked for using hardware breakpoints for debugging purposes, which I also want to do if it turns out that it's really possible to use them in foreign processes/threads.

Hawk

02-24-2008

Wraithan

Not very often is there a legitimate reason to invade another programs memory space, check out some of the major projects out there for other MMOs, I know for a fact that some of them are open source, see how they do the memory management. I like my posting privileges here so I wont directly link you or point you there, just know there are better places/sources for this type of information.

02-24-2008

clayne

What you're asking for is called a watchpoint. Look for availability within your debugger. Since I'm assuming this is some windows thing, Ollydbg will do the job. Here's an example of how someone would use it with heap overflows:

But the concept is the same: watchpoint; and you have to know the appropriate memory location as well.

02-24-2008

Neo1

Jeez, Hawkin just told you what he is trying to do, it is obviously not cheating, who are you to question him?

This seems like a general tendency in here, everyone is so afraid of fire, that nobody has the guts to answer a question about a lighter...

02-24-2008

Wraithan

Breaking an EULA is cheating, he wont specify the game for us to know whether he is breaking EULA or not but I am willing to bet anything invading the memory space of the game breaks it.

02-24-2008

Neo1

Quote:

Originally Posted by Wraithan

Breaking an EULA is cheating, he wont specify the game for us to know whether he is breaking EULA or not but I am willing to bet anything invading the memory space of the game breaks it.

And yet, the mods have not done anything, could that be because the OP didn't break any rules? Hmm, i guess we better call the armchair mods so that they can express their disapproval and suspicions..

02-24-2008

Wraithan

Neo1, I am sorry you feel we have wronged this person, but nothing requires us to help him. This is a site for learning, and while I am sure the OP would learn something from it, that isn't the kind of help the members like me, who have been around for a while, are willing to give.

Would you teach someone you knew was hard up for cash and would probably use it in bad ways, to pick locks and slim jim cars?

02-24-2008

clayne

Quote:

Originally Posted by Wraithan

Neo1, I am sorry you feel we have wronged this person, but nothing requires us to help him. This is a site for learning, and while I am sure the OP would learn something from it, that isn't the kind of help the members like me, who have been around for a while, are willing to give.

Would you teach someone you knew was hard up for cash and would probably use it in bad ways, to pick locks and slim jim cars?

You're right, it's a site about learning - not a site about legalities.

Get off the morality play - this is a programming forum not an ethics one.

02-24-2008

VirtualAce

Quote:

You're right, it's a site about learning - not a site about legalities.

Get off the morality play - this is a programming forum not an ethics one.

However we do have rules and this post violates number 6.

6. Messages relating to cracking, (erroneously called "hacking" by many), copyright violations, or other illegal activities will be deleted. This includes all messages reguarding to keyloggers.