I want to know how to accomplish this task with python pydbg. How does pydbg trace an instruction? For instance: should I set a breakpoint at the instruction address? Then what should I do?

The Instruction:

Address                Opcode
game.exe+31C2CB        eax,[ecx+00000FB0]

So, using pydbg. I want to find out what addresses does this instruction access.

More Info:

  • Platform: Windows 7 x64
  • Python 2.7
  • Game: World of warcraft x32

What I am actually doing is a Bot that will read the player's health from the process memory and depending on the percentage it will heal him.

The problem is that the address for the player's health is dynamic. I've followed a lot of guides on how to find pointers for dynamic addresses / how to defeat DMA, but with no success.

So, I am trying to find another way of finding the player's health address which is by tracing the instruction that accesses it.

I can do this by using cheat engine but I want to implement this feature into my bot so it can automatically find the player's health address.

  • So, how did you get the instruction with Python?
    – Igor Skochinsky
    Mar 24, 2014 at 19:12
  • I did not get the instruction with python, I got it using cheat engine.
    – A.Sherif
    Mar 25, 2014 at 5:28
  • 1
    Try to make your question more compact, better explained and show your own Google Attempts (Research we call it).
    – Stolas
    Mar 25, 2014 at 7:27
  • Trying to cheat in World of Warcraft with debuggers is really hard (from what I gathered). Good luck with your project, also consider the implications of your character getting banned..
    – Stolas
    Mar 25, 2014 at 11:02
  • I am not really trying to cheat or anything i just wanted to challenge myself to do any good project and i came up with this idea. I do not play the game (used to play it from a few years ago) and i do not have an account on blizzard, just using a private server. Am following the famous saying "Code to learn coding". Thanks for your time and help! I appreciate it :)
    – A.Sherif
    Mar 25, 2014 at 14:35

1 Answer 1


You can use a number of modules for this. It all depends on what you exactly want, my guess is to write a Cheater Application of sorts (due to the term cheat engine).

Thus I'd recommend to use a standalone Module. These are a small list of Python modules that can disassemble code:

  • pydbg
  • pyida
  • distorm
  • radare2
  • pyew
  • byteplay
  • Thanks for your reply, I decided that am going to use pydbg so i edited the question based on it. I've searched for pydbg, downloaded it, played with it for a while and read about it on pedramamini.com/PaiMei/docs/PyDbg/private/… its really awesome and even helps in memory reading which i hope i knew about it earlier! but i still have no clue how to trace the instruction. Thanks again.
    – A.Sherif
    Mar 25, 2014 at 10:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.