Brauche Hilfe

04/04/2013 17:52 alkololl#1
Hallo Freunde,

ich habe von CheatEngine's "Tutorial-i386.exe" den BasePointer aus Step 6 herausgefunden und möchte den Wert in einem Tooltip links oben in der Ecke anzeigen lassen, was aber nicht funktioniert.
Mein Code sieht wie folgt aus:
Code:
#include <NomadMemory.au3>

$pid = ProcessExists("Tutorial-i386.exe")
$address = 0x00690380
Dim $offset[1] = [0]

While 1
   If Not @error Then
	  $process = _MemoryOpen($pid)
	  $value = _MemoryPointerRead($address, $process, $offset)
	  If Not @error Then
		 ToolTip($value[1], 0, 0)
	  Else
		 ToolTip(@error, 0, 0)
	  EndIf
	  
	  _MemoryClose($process)
   EndIf
   
   Sleep(100)
WEnd
@error ist 7
04/04/2013 18:35 FacePalmMan#2
Fehler: 7 = Failed to read from the specified process. (prozess nicht vorhanden oder "Hack" ohne Administrative rechte gestartet)
lösung:
Code:
#include <NomadMemory.au3>
#RequireAdmin
$pid = ProcessExists("Tutorial-i386.exe")
$address = 0x00690380
Dim $offset[1] = [0]

While 1
   If Processexists("Tutorial-i386.exe") and Not @error Then
	  $process = _MemoryOpen($pid)
	  $value = _MemoryPointerRead($address, $process, $offset)
	  If Not @error Then
		 ToolTip($value[1], 0, 0)
	  Else
		 ToolTip(@error, 0, 0)
	  EndIf
	  
	  _MemoryClose($process)
   Else
	  Msgbox(0,"","Process does not exist")   
   EndIf
   
   Sleep(100)
WEnd
Nebenbemerkung: Titel wie "Brauche Hilfe" "AutoIt3 Problem" u.s.w gehören hier nicht rein! titel sind aus einem bestimmten grund da!
04/04/2013 20:50 alkololl#3
Ne, bringt leider auch nichts.
Der Tooltip in der Ecke sagt 0.

Entschuldige wegen dem unpassenden Titel, aber ich bin neu in AutoIt und kann daher mein Problem keinem Thema zuordnen :(
04/04/2013 21:13 FacePalmMan#4
titelvorschlag: MemoryPointer problem
du könntest vielleicht überprüfen ob der pointer richtig ist.
04/04/2013 21:38 alkololl#5
Der müsste eigentlich stimmen. Der Eintrag war grün und wenn ich die Tutorial.exe neugestartet habe, war der Wert immer noch gültig/richtig.
04/04/2013 22:01 omer36#6
Dim $offset[1] = [0]

?? wo sind die offsets?
04/04/2013 22:06 FacePalmMan#7
Quote:
Originally Posted by omer36 View Post
Dim $offset[1] = [0]

?? wo sind die offsets?
vielleicht sind da keine offsets. das [0] wäre auch unnötig wenn da keine offsets wären.
04/04/2013 22:10 alkololl#8
Keine Offsets. Das passt schon.
Ach ich könnte heulen!!!!:confused::confused::confused:
04/05/2013 10:31 FacePalmMan#9
möglicher fehler: bei _MemoryPointerRead wird $offset und nicht $offset[1] aufgerufen
mögliche lösung:
Code:
#include <NomadMemory.au3>
#RequireAdmin
$pid = ProcessExists("Tutorial-i386.exe")
$address = 0x00690380
$offset = 0

While 1
   If Processexists("Tutorial-i386.exe") and Not @error Then
	  $process = _MemoryOpen($pid)
	  $value = _MemoryPointerRead($address, $process, $offset)
	  If Not @error Then
		 ToolTip($value[1], 0, 0)
	  Else
		 ToolTip(@error, 0, 0)
	  EndIf
	  
	  _MemoryClose($process)
   Else
	  Msgbox(0,"","Process does not exist")   
   EndIf
   
   Sleep(100)
WEnd