[Help]Memory Read with Autoit

01/21/2011 02:26 xNef#1
Im trying to do a program that reads a memory from one aplication and send a comand depending on memory value from the aplication.
The problem is that Im not expert interpreting the memory value, and I dont know how to filter them.

Here are some printscreens from the memory value changing...

[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]


as you can see so many values from memory adresses changes, can someone teach how can I filter the principal adresses that changes to do an autoit program?

I starting doing the code:

Quote:
#include <NomadMemory.au3>

HotKeySet("{NUMPADADD}", "_startb")
HotKeySet("{NUMPADSUB}", "close")

$Mem_Address = 0x1E57C1FC ; memory adress
$Process1 = WinGetProcess("***") ;the window to get PID

$status = "off"

While 1
If $status = "on" Then
$Mem_Read = _MemoryRead($Mem_Address, $Mem_Open) ;reads value at memory address
...(here will be the code to do send commands depending on memory values)
EndIf
WEnd

Func _startb()
$status = "on"
$Mem_Open = _MemoryOpen($Process1) ;must open before you can read address
EndFunc


Func close()
Exit
EndFunc
I started using the adress 0x1E57C1FC cause the value in array in bytes never changes so its easy to find the adress in CE.
Thanks
if its possible try to reply in english, I dont understand german.
01/21/2011 18:02 ZeraPain#2
set $Mem_Open global if you use a function..
01/21/2011 19:48 xNef#3
I see, thats why was returning 0 in memory value. :S
btw do u know how can I transform the value in array of bytes (hex)?
Thanks ^^
01/21/2011 20:55 ZeraPain#4
well depends on what you want to do. do you just want to create a byte array out of an int or what?
01/22/2011 01:54 xNef#5
I just need to read and compare, problem is that in CE the adress value is in array of bytes (hex) and the function _MemoryRead from nomadmemory.au3 the value that shows isnt in array of bytes (hex), so I cnt compare them. So how can I return the value in _MemoryRead with array of bytes (hex)?
^^