Jump to content
Sign in to follow this  

Reading Memory Address - WoW

Recommended Posts


Ok im a little stuck, done lots of searching and havent found what I needed so I hope you guys can help me out.

So I was intrigued by memory 'hacking' and decided I wanted to play about with it.

So I downloaded myself Cheat Engine and got myself Nomad Memory.

After reading the tutorials and finding out how to find the address you wanted I found my

hp bar address value which is : 1F35CFB8. After reading forums I see many have '0x' infront of it

and yet I dont know why this is however I just tried with what I had and this is what I have scripted atm:

#Include <NomadMemory.au3>                      
SetPrivilege("SeDebugPrivilege", 1) 
$address = '1F35CFB8'
$Handle = _memoryopen(WinGetProcess("World of Warcraft"))
$addressread = _MemoryRead($address, $Handle, 'dword')
MsgBox(0, "", $addressread)

Im unsure if 'dword' is the correct type however I did search for the memory address using the value type : text in cheatengine.

Ive also tried 'char[9]' as NomadMemory said to add 1 to the number of how many digits there are.

I hope someone can help me out on this, all help is greatly appreciated. =]

Edited by AwAke

Share this post

Link to post
Share on other sites

I have further read into memory scanning and have realised that memory addresses change etc therefore bringing in the need for pointers.

However I am yet to figure this out but I want to get the example above working before I progress onto pointers.

Share this post

Link to post
Share on other sites

If you just want to see the value try this...

#include <Array.au3>

#include <NomadMemory.au3>

SetPrivilege("SeDebugPrivilege", 1)

$ID=_MemoryOpen(ProcessExists("WoW.exe"));;not sure what the process is for wow, that was a guess


$Res = _MemoryRead($Address,$ID)

MsgBox(0,"My value",$Res)


As for resources with auto it here is a good post on dealing with them...


Also check out


has some memory functions on the 2nd post

I dont play wow, but i have seen a serious thread devoted to memory scanning and what not...should check it out.

Here is a little code if it helps...

$ID = _MemoryOpen(ProcessExists("XYZ.exe"));;gets the process ID

$baseADDR = _MemoryGetBaseAddress($ID, 1);;gets the base address after finding the ID

$StaticOffset = Dec("37fc78");;the offset for the green address

$CharHPPtrOffset = "0xAC";;2nd level pointer offset

$CharHPOffset = "0x4C";;1st level pointer offset

$CalcADDR = "0x" & Hex($baseADDR + $StaticOffset);;2nd level pointer

$value = "0x" & Hex(_MemoryRead($CalcADDR,$ID));;calc to find 1st level pointer

$CalcADDR = "0x" & Hex($value + $CharHPPtrOffset);;1st level pointer

$value = "0x" & Hex(_MemoryRead($CalcADDR,$ID));;calc to find address of value

$HPADDR = "0x" & Hex($value + $CharHPOffset);;address of value

$HP = _MemoryRead($HPADDR,$ID);;the value

That is for a value that had two pointers :) Good luck

Edited by Fend

I like cookies?

Share this post

Link to post
Share on other sites

Wow, thank you you gave me all that I needed and more. I cant help but thank you mate :)

Once again thank you for your contribution its highly appreciated.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this