This code I use in one of my scripts, so you will have to tweak a little...But basically what it does is follow 2 pointers in search for a value. If both locations don't contain a value, it will end with Error 27 $iv_Pid = ProcessExists("Some.exe")
$iv_DesiredAccess = 0x1F0FFF
$av_OpenProcess = DllCall('Kernel32.dll', 'int', 'OpenProcess', 'int', $iv_DesiredAccess, 'int', 1, 'int', $iv_Pid)
$procHwnd = $av_OpenProcess[0]
If Not $procHwnd Then MsgBox(0, "","Error while getting process handle!")
;set the static address
$Address = 0x6d6fed00
Dim $Offset[5]
$Offset[0] = 0xc4
$Offset[1] = 0x170
$Offset[2] = 0xd8
$Offset[3] = 0x58
$Offset[4] = 0x3d4
Local $v_Buffer = DllStructCreate('dword')
For $i = 0 To 3 ;Ubound($Offset)-1
$Address = Hex($Address + $Offset[$i])
DllCall("Kernel32.dll", 'int', 'ReadProcessMemory', 'int', $procHwnd, 'int', '0x'&$Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
$Address = DllStructGetData($v_Buffer, 1)
;MsgBox(0, "", Hex($Address))
Next
$iv_Address = Hex($Address + $Offset[Ubound($Offset)-1])
Local $read_Buffer = DllStructCreate("byte[24]")
DllCall("Kernel32.dll", 'int', 'ReadProcessMemory', 'int', $procHwnd, 'int', Dec($iv_Address), 'ptr', DllStructGetPtr($read_Buffer), 'int', DllStructGetSize($read_Buffer), 'int', '')
If @Error Then SetError(@Error + 1)
Local $Output = BinaryToString(Binary(DllStructGetData($read_Buffer, 1)), 2)
$var = StringInStr($OutPut, ".")
$Output = StringLeft($Output, $var-1)
If Not $Output Then
$Address = 0x6d6fed00
Dim $Offset[5]
$Offset[0] = 0xc4
$Offset[1] = 0x170
$Offset[2] = 0xA0
$Offset[3] = 0x13C
$Offset[4] = 0x1EC
Local $v_Buffer = DllStructCreate('dword')
For $i = 0 To 3 ;Ubound($Offset)-1
$Address = Hex($Address + $Offset[$i])
DllCall("Kernel32.dll", 'int', 'ReadProcessMemory', 'int', $procHwnd, 'int', '0x'&$Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
$Address = DllStructGetData($v_Buffer, 1)
;MsgBox(0, "", Hex($Address))
Next
$iv_Address = Hex($Address + $Offset[Ubound($Offset)-1])
Local $read_Buffer = DllStructCreate("byte[24]")
DllCall("Kernel32.dll", 'int', 'ReadProcessMemory', 'int', $procHwnd, 'int', Dec($iv_Address), 'ptr', DllStructGetPtr($read_Buffer), 'int', DllStructGetSize($read_Buffer), 'int', '')
If @Error Then SetError(@Error + 1)
Local $Output = BinaryToString(Binary(DllStructGetData($read_Buffer, 1)), 2)
$var = StringInStr($OutPut, " ")
$Output = StringLeft($Output, $var-1)
EndIf
;MsgBox(0, "", $Output)
If Not $Output Then MsgBox(0, "Error 27", "Empty Address")
Local $av_Ret = DllCall("Kernel32.dll", 'int', 'CloseHandle', 'int', $procHwnd)