Thread: Hardware Breakpoints

  1. #1
    Registered User
    Join Date
    Aug 2006
    Posts
    68

    Hardware Breakpoints

    Hey all!

    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

  2. #2
    Banned master5001's Avatar
    Join Date
    Aug 2001
    Location
    Visalia, CA, USA
    Posts
    3,685

    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?

  3. #3
    Registered User
    Join Date
    Aug 2006
    Posts
    68
    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.

  4. #4
    Algorithm Dissector iMalc's Avatar
    Join Date
    Dec 2005
    Location
    New Zealand
    Posts
    6,318
    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.
    My homepage
    Advice: Take only as directed - If symptoms persist, please see your debugger

    Linus Torvalds: "But it clearly is the only right way. The fact that everybody else does it some other way only means that they are wrong"

  5. #5
    Registered User
    Join Date
    Aug 2006
    Posts
    68
    Quote Originally Posted by iMalc View Post
    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.
    What's the point of this 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?

  6. #6
    pwns nooblars
    Join Date
    Oct 2005
    Location
    Portland, Or
    Posts
    1,094
    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.

  7. #7
    Registered User
    Join Date
    Aug 2006
    Posts
    68
    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

  8. #8
    pwns nooblars
    Join Date
    Oct 2005
    Location
    Portland, Or
    Posts
    1,094
    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.

  9. #9
    Registered User
    Join Date
    Feb 2008
    Posts
    6
    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:

    http://mirror.sweon.net/madchat/wind.../msrpcheap.pdf

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

  10. #10
    Internet Superhero
    Join Date
    Sep 2006
    Location
    Denmark
    Posts
    964
    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...
    How I need a drink, alcoholic in nature, after the heavy lectures involving quantum mechanics.

  11. #11
    pwns nooblars
    Join Date
    Oct 2005
    Location
    Portland, Or
    Posts
    1,094
    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.

  12. #12
    Internet Superhero
    Join Date
    Sep 2006
    Location
    Denmark
    Posts
    964
    Quote Originally Posted by Wraithan View Post
    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..
    How I need a drink, alcoholic in nature, after the heavy lectures involving quantum mechanics.

  13. #13
    pwns nooblars
    Join Date
    Oct 2005
    Location
    Portland, Or
    Posts
    1,094
    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?

  14. #14
    Registered User
    Join Date
    Feb 2008
    Posts
    6
    Quote Originally Posted by Wraithan View Post
    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.

  15. #15
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    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.

    Closed for now.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Replies: 21
    Last Post: 06-24-2009, 09:49 AM
  2. Hardware interrupts
    By Sentral in forum Tech Board
    Replies: 5
    Last Post: 02-23-2009, 06:46 PM
  3. X-10 Hardware
    By jmd15 in forum Tech Board
    Replies: 1
    Last Post: 09-29-2005, 07:34 PM
  4. How does hardware interpret data?
    By Silvercord in forum Tech Board
    Replies: 3
    Last Post: 01-29-2003, 01:46 PM
  5. Linux Hardware Handbook
    By Nutshell in forum A Brief History of Cprogramming.com
    Replies: 0
    Last Post: 04-02-2002, 06:06 AM