Coding Fehler

06/22/2011 22:47 lolxd232#1
Hi Leute,
ich wollt mal was für 4story machen also hack naja hab zwar die addys ohne probleme bekommen aber ihrgend wie gingen nie die hacks,deswegen hab ich es bei solitär veruscht wie in den tutorials.
wenn ich die addy direkt bei ce änder geht es doch mit meinen hack nicht.

das ist der Script Code:
Code:
#RequireAdmin
#include <NomadMemory.au3>

While 2
ProcessExists("Solitaire.exe")
Sleep(200)
WEnd
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
	EndSwitch
WEnd


$Open = _memoryopen(ProcessExists("Solitaire.exe"))
$Adresse = 0x0091A3B4
$Read = _MemoryRead($Adresse , $Open, 'dword')
$write = _MemoryWrite($Adresse, $Open,"9999", 'dword')
kann mir jmd helfen?
06/22/2011 22:59 lolkop#2
dein script tut im grunde nur dies:
Code:
ProcessExists("Solitaire.exe") ;suche nach dem prozess "Solitaire.exe"
Sleep(200) ;tuhe 200ms nichts
und zwar non stop...

was das "While 2" von autoit interpretiert als While True dort zu suchen hat weis ich leider nicht...
da while einen boolean wert erwartet also true oder false, und jeder wert der nicht 0 (False) ist, nach autoits logik = 1 (True) ist, hat While 2 exackt die selbe semantik wie While 1. es handelt sich hierbei quasi um eine endlosschleife.
06/22/2011 23:07 lolxd232#3
was ist jetz hier falsch funktioniert immer nocht nicht

Code:
#RequireAdmin
#include <NomadMemory.au3>
While 1
ProcessExists("Solitaire.exe")
Sleep(200)
$Open = _memoryopen(ProcessExists("Solitaire.exe"))
$Adresse = 0x0091A3B4
$Read = _MemoryRead($Adresse , $Open, 'dword')
$write = _MemoryWrite($Adresse, $Open,"9999", 'dword')
WEnd
06/23/2011 00:39 KDeluxe#4
An sich eigentlich nichts. Das erste "ProcessExists("Solitaire.exe")" ist aber nutzlos. Da du den Wert nur ändern möchtest und diesen nicht ausgeben möchtest ist das auslesen des Punktestands (?) auch nutzlos. Den Wert solltest du aber auch nur dann ändern, wenn alle Parameter gültig sind. Wenn der Prozess beispielsweise nicht existiert, hast du kein gültiges Handle (0). Das wäre in dem Fall zwar nicht weiter schlimm, solltest du aber mit "_MemoryPointerRead" arbeiten (was hier wohl angebracht wäre (?)) würdest du schnell einen Fehler bekommen.

PHP Code:
#RequireAdmin
#include <NomadMemory.au3>

While Sleep(200)
    
$Open _MemoryOpen(ProcessExists("Solitaire.exe"))
    If 
Not @error Then
        _MemoryWrite
(0x91A3B4$Open"9999")
        
_MemoryClose($Open)
    EndIf
WEnd