Sign in to follow this  
Followers 0
sylar

memory reading

40 posts in this topic

#1 ·  Posted (edited)

ive been trying to make program to read the memory of world of warcraft and display the hp

so after looking around for awhile i decided to give it a go its been a few days now and i cant

seem to get any of my programs to read the memory of minesweeper or world of warcraft im sure i have the

right address but it wont read and display the value

#include <NomadMemory.au3>
$Mem_Address = 0x0100579C
$Process1 = WinGetProcess("winmine.exe")
while 1
$mem_open = _MemoryOpen($process1)
$mem_read = _MemoryRead($Mem_Address, $mem_open)
     tooltip($mem_read,100,100,"time")
    _memoryclose($mem_open)
wend

what am i doing wrong :D

Edited by sylar

Share this post


Link to post
Share on other sites



http://www.autoitscript.com/forum/index.php?showtopic=100794

look at that one also made with NomadMemory. Uses the same adress as you do, but check out if you use the same version.

Share this post


Link to post
Share on other sites

http://www.autoitscript.com/forum/index.php?showtopic=100794

look at that one also made with NomadMemory. Uses the same adress as you do, but check out if you use the same version.

that works with my version of minesweeper after looking over it for abit i still cant work out why my script shouldnt work

Share this post


Link to post
Share on other sites

well its only a guess it doesnt work its only returning 0 when the values changed

Share this post


Link to post
Share on other sites

bump :D

Share this post


Link to post
Share on other sites

no im useing windows xp and im runing as admin :D

Share this post


Link to post
Share on other sites

http://www.autoitscript.com/forum/index.php?showtopic=100794 this one works for me just fine and we are useing the same address for time so why wont mine read it and display it?

Share this post


Link to post
Share on other sites

#9 ·  Posted (edited)

After reviewing the differences in code line by line I found this:

#include <NomadMemory.au3>
$Mem_Address = 0x0100579C
$Process1 = WinGetProcess("winmine.exe") ;<== WinGetProcess is not used like this. It should be ProcessExists!!
while 1
$mem_open = _MemoryOpen($process1)
$mem_read = _MemoryRead($Mem_Address, $mem_open)
     tooltip($mem_read,100,100,"time")
    _memoryclose($mem_open)
wend
Edited by Manadar

Share this post


Link to post
Share on other sites

the mistake is.. WinGetProcess()

if you look it up in the helpfile it needs a windowtitle, not the executable name. Use ProcessExists("winmine.exe") if you want it to work for everyone.

Share this post


Link to post
Share on other sites

#include <NomadMemory.au3>
$Mem_Address = 0x0100579C
$Process1 = ProcessExists("winmine.exe")
while 1
$mem_open = _MemoryOpen($process1)
$mem_read = _MemoryRead($Mem_Address, $mem_open)
     tooltip($mem_read,100,100,"time")
    _memoryclose($mem_open)
wend

there fixed its working now thank you manadar now for my next trick makeing it send keys in world of warcraft :D

Share this post


Link to post
Share on other sites

that wont be a problem for now useing it on private servers for the moment and i think just useing memory read shouldnt be a problem with warden?

Share this post


Link to post
Share on other sites

#include <NomadMemory.au3>
$Mem_Address = 0x0100579C
$Process1 = ProcessExists("winmine.exe")
while 1
$mem_open = _MemoryOpen($process1)
$mem_read = _MemoryRead($Mem_Address, $mem_open)
     tooltip($mem_read,100,100,"time")
    _memoryclose($mem_open)
wend

since i want it to constantly search and show me the value of $mem_read should i still have _memoryclose?

my cpu is going threw the roof

Share this post


Link to post
Share on other sites

Probably this:

#include <NomadMemory.au3>
$Mem_Address = 0x0100579C
$Process1 = ProcessExists("winmine.exe")
$mem_open = _MemoryOpen($process1)
while 1
     $mem_read = _MemoryRead($Mem_Address, $mem_open)
     tooltip($mem_read,100,100,"time")
     Sleep(50)
wend
_memoryclose($mem_open)

You need a little sleep in there or its going to read the memory as often as possible, consuming maximum CPU.

Share this post


Link to post
Share on other sites

but when i close the script it will still close the memory or is that not important if its stoped running?

Share this post


Link to post
Share on other sites

#18 ·  Posted (edited)

The script posted here: http://www.autoitscript.com/forum/index.php?showtopic=100794 does not close the memory at all. I don't think it's such a big deal.

Edit: Of course you should always try to close anything that wants to be closed, even if its not something that has to be closed. Just putting it in your script as a sign of "good will" (I'll do it later) is usually enough.

For prototyping it is not important that everything is perfect. If it goes wrong and the process is corrupted, you can always reboot the program or reboot your computer.

Edited by Manadar

Share this post


Link to post
Share on other sites

just tryed it with world of warcraft didnt work looks like ill have to try some thing else :D

Share this post


Link to post
Share on other sites

and what if your going to open and read alot of memory should you put the close memory after it each time?

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  
Followers 0