Hallöle
Ich hab seid neuem nun Win7 64Bit, und musste feststellen das ich nicht wie gewohnt die NomadMemory.au3 nutzen kann.
Weder "_MemoryRead" noch "_MemoryPointerRead" geben mir ein richtiges Ergebniss raus.
auch die Verwendung von "SetPrivilege("SetDebugPrivilege",1)" brachte keinen Erfolg.
_MemoryPointerRead gibt mir außerdem die Adresse "0x00000000" zurück.
(Offsets etc. auch schon versucht zu tauschen, aber da es auf WinXP funktioniert hat muss es an was anderem liegen)
Außerdem wollte die AutoIT installation wohl nicht so
Ich kriege kein Contextmenü im Explorer für die au3 Dateien.
Sprich ist muss alles in Scite machen (Run, Compile)
autoit funktioniert unter 64bit systemen genauso gut, wie unter 32 bit systemen.
du solltest vielleicht überlegen, einfach selbst funktionen zur speichermanipulation zu schreiben, da die nomad udf ohnehin ausschließlig auf die winapis zugreifen.
der vorteil hier liegt darinn, das du die funktionen selbst denen bedürfnissen anpassen kannst.
hier mal ein kleines beispiel für die grundfunktionen:
Hab mir die NomadMemory.au3 nochmal angeguckt, und die nutzt doch auch die Kernel32.dll, weshalb mich etwas wundert wieso dein Beispiel funktioniert aber die Funktion in der Nomadmemory nicht.
(Ist nur etwas länger mit @error abfragen)
Hättest du denn auchnoch ein Beispiel für die Pointer?
Wie soll ich denn einen Pointer auslesen wenn ich nicht weiß worauf dieser zeigt?
Alles was ich finde ist das ein Pointer ein "Zeiger" ist.
Hat mir aber im Grunde nicht geholfen, da ich trotzdem nicht weiß wie ich mithilfe der Offsets und den gegeben Funktionen nun auf die richtige Adresse kommen soll.
nun hast du einen pointer gefunden der auf dieses array, bzw genauer gesagt auf das erste element dieses arrays zeigt.
dein pointer befindet sich zb an der stelle 0x1000 im speicher.
liest du jetzt 0x1000 aus, per ReadProcessMemory, so befindet sich darin die adresse, an welcher das array beginnt (0x12345678).
willst du jetzt das 3te element des arrays auslesen, so musst du nun das offset zum ausgelesenen wert hinzu addieren. da es sich um int werte handelt, ist jeder eintrag 4 byte vom vorherigen entfernt.
Pointer.au3 funktionen auf 64Bit 11/24/2011 - AutoIt - 4 Replies Global $OffsetFee =
Global $Static = Dec("244AFC")
$MemOpen = _MemoryOpen(ProcessExists("NostaleX.dat" ))
$BaseAddr = _MemoryGetBaseAddress($MemOpen, 1)
$Addr = "0x" & Hex($BaseAddr + $Static)
_MemoryPointerWrite($Addr, $MemOpen, $OffsetFee, $Fee, "dword")
_MemoryClose($MemOpen)
Mein Problem besteht dadrin das der oben gezeigte teil auf 32bit Versionen Problemlos funktioniert aber auf Win7/Vista mit 64bit nicht.
Probs mit _Memory Funktionen 10/16/2010 - Nostale - 6 Replies Hi, ich hab schon vor einiger zeit ma aus lw nen memorybot gescriptet, jedoch
macht er nicht dass, was im script steht. Er erkennt die werte (bereits in .ini schreiben lassen und waren richtig), aber führt danach nicht die ensprechende Tätigkeit aus.hier mal das Script:Link
die library.au3 is bloß ne datei, die alle dateien im include-ordner includet.
ist ebenfalls mit meiner NomadMemory.au3 dabei.
Bitte um Erklärung und mögliche Lösungen. THX^^
Probs mit _Memory Funktionen 10/11/2010 - Nostale - 1 Replies Hi, ich hab schon vor einiger zeit ma aus lw nen memorybot gescriptet, jedoch
macht er nicht dass, was im script steht. Er erkennt die werte (bereits in .ini schreiben lassen und waren richtig), aber führt danach nicht die ensprechende Tätigkeit aus.hier mal das Script:
die library.au3 is bloß ne datei, die alle dateien im include-ordner includet.
ist ebenfalls mit meiner NomadMemory.au3 dabei.
Bitte um Erklärung und mögliche Lösungen. THX^^