Das erste ist unsinnig, da $PointerRead ja kein GuiCtrl ist, somit kommt da immer 0 raus.
Das GUICtrlRead musst du nehmen um zb den Innhalt eines Edit Feldes zu bekommen.
Beim 2. sieht man dann ja wieder das iwas icht stimmt, was aber nicht sein kann, denn bei deinem Memorywrite teleportiert er dich ja immer - nur an den falschen Ort.
Langsam glaube ich doch, dass iwas mit den Pointern nicht stimmt.
Hast du einen Pointer mit festem Wert ohne MemoryModuleGetbaseAdress()?
Ach ja - den HotKeySet Rückgabewert musst du nun wirklick NICHT speichern - und das sind sicher nur Codeausschnitte, oder? Denn das Offset und die Basisaddresse sind ja nicht gesetzt.
bedeutet Fehler
guck dir mal @error an, was sagt der?
Aus NomadMemory:
; @Error - 0 = No error.
; 1 = $av_Offset is not an array.
; 2 = Invalid $ah_Handle.
; 3 = $sv_Type is not a string.
; 4 = $sv_Type is an unknown data type.
; 5 = Failed to allocate the memory needed for the DllStructure.
; 6 = Error allocating memory for $sv_Type.
; 7 = Failed to read from the specified process.
hmmmm, aber wo kann der Fehler sein :/
Ich poste gleich mein ganzes Script und die Bilder der Pointer
PHP Code:
#RequireAdmin #include <NomadMemory.au3>
If ProcessExists ("TClient.exe") = False Then MsgBox (48,"Error","Tclient.exe konnte nicht gefunden werden!") Exit EndIf
If FileExists ("AGB.txt") = false Then IniWrite ("AGB.txt","Allgemeine Geschäfts Bedingung","AGB","Ich überneheme keinerlei Haftung!") MsgBox (48,"AGB","Bitte lese dir die AGB in dem Textdokument, was sich gerade erstellt hat, durch!") ShellExecute ("AGB.txt") EndIf
sag doch mal den wert von @error!
MsgBox(0,"",@error)
Was ich immernochnicht verstehe, ist, warum du keinen feste Pointer hast und warum du mehrere Offsets brauchst - musst du denn mehrere Adressen setzen?
Bei diesem Spiel kann man in CheatEngine nur "Pointer Scan for this Address" auswählen.
HÄ? Wenn dir MemoryPointerWrite 0 zurück gibt, heißt das Fehler
Wenn du dann @error abfragst muss er zwischen 1 und 8 sein ??? weil 0 kein Fehler heißt.
Ich lad mir jetzt das Spiel runter und schaus mir mal an.
Hast du zufällig nen TestAcc oder so?
HÄ? Wenn dir MemoryPointerWrite 0 zurück gibt, heißt das Fehler
Wenn du dann @error abfragst muss er zwischen 1 und 8 sein ??? weil 0 kein Fehler heißt.
Ich lad mir jetzt das Spiel runter und schaus mir mal an.
Hast du zufällig nen TestAcc oder so?
Warte.. Ich spiele auf Global.
Quote:
Originally Posted by klavier22
HÄ? Wenn dir MemoryPointerWrite 0 zurück gibt, heißt das Fehler
Wenn du dann @error abfragst muss er zwischen 1 und 8 sein ??? weil 0 kein Fehler heißt.
Ich lad mir jetzt das Spiel runter und schaus mir mal an.
Hast du zufällig nen TestAcc oder so?
Wenn bei der ersten UND der 2. 0 raus kommt, ist evtl deine NomadMemory beschädigt, denn Rückgabe 0 bedeutet Fehler und genaueres kann man dann in @error finden - dieser allerdings besagt für 0 keinen Fehler...
joa, in meinem Beispiel hatte ich ja auch WriteX genommen.
Ist ja im Prinzip nichts aderes als das, was du schon geschrieben hattest wo das Ergebnis 0 war.
noch die MsgBox mit @error einfügen und sagen, was rauskommt
Also bei mir ist genau das gleiche - bei debugger attach kommt ne anti hacking meldung und das spiel beendet sich, aber mein Pointer Scan findet nichts
Wenn ich davon ausgehe, dass deine Pointer und Offsets stimmen, dann ist bei dir glaube ich alles richtig und ich weiß nicht warum es nicht geht.
Was ich jetzt noch machen würde(wenn ich das spiel auch spielen würde):
OllyDBG - anti hack Warnung NOPen und dann mit find out what accesses den Pointer suchen - da müsste man dann aber evtl auch noch den Patcher fixen und Pakete simulieren. Ist mir jetzt erstmal zu viel - tut mir leid
Func _MemoryModuleGetBaseAddress($iPID, $sModule)
If Not ProcessExists($iPID) Then Return SetError(1, 0, 0)
If Not IsString($sModule) Then Return SetError(2, 0, 0)
Local $PSAPI = DllOpen("psapi.dll")
;Get Process Handle
Local $hProcess
Local $PERMISSION = BitOR(0x0002, 0x0400, 0x0008, 0x0010, 0x0020) ; CREATE_THREAD, QUERY_INFORMATION, VM_OPERATION, VM_READ, VM_WRITE
If $iPID > 0 Then
Local $hProcess = DllCall("kernel32.dll", "ptr", "OpenProcess", "dword", $PERMISSION, "int", 0, "dword", $iPID)
If $hProcess[0] Then
$hProcess = $hProcess[0]
EndIf
EndIf
;EnumProcessModules
Local $Modules = DllStructCreate("ptr[1024]")
Local $aCall = DllCall($PSAPI, "int", "EnumProcessModules", "ptr", $hProcess, "ptr", DllStructGetPtr($Modules), "dword", DllStructGetSize($Modules), "dword*", 0)
If $aCall[4] > 0 Then
Local $iModnum = $aCall[4] / 4
Local $aTemp
For $i = 1 To $iModnum
$aTemp = DllCall($PSAPI, "dword", "GetModuleBaseNameW", "ptr", $hProcess, "ptr", Ptr(DllStructGetData($Modules, 1, $i)), "wstr", "", "dword", 260)
If $aTemp[3] = $sModule Then
DllClose($PSAPI)
Return Ptr(DllStructGetData($Modules, 1, $i))
EndIf
Next
EndIf
bei mir dauerte das auch eine ganze weile, wenn ich die "pointer scan" funktion aufgerufen hatte...und da ich bei solchen sachen nicht grade der geduldigste bin, nahm ich als start wert einfach mal das:
ich hab den Pointer Scan komplett durchlaufen lassen (2x) und er hat nichts gefunden - wollte die Werte selber finden
Mich interessiert jetzt aber trotzdem noch, wie man an die Adressen kommt - ist ja in dem Video anders, dort kann er ja "find out what...", aber bei mir geht das ja nicht und der Pointer Scan streikt auch.
problem bei Api Tool fix 01/09/2011 - Metin2 Private Server - 5 Replies Halöle liebe Forum schnüffler,
Ich hab ein problem mit dem api tool fix. Ich wollte den Api Tool fixen so wie es in dem tutorial beschrieben wurde. Hab rebootet aber als ich mich eingeloggt hab kam der corefehler. Ich glaub mein fehler war das ich als ich den P2P port geändert habe einfach die CONFIG datei einfach aus dem game1_1 in alle anderen rein kopiert habe und keine backups gemacht hab. Deshalb wollt ich mal fragen ob mir jemand die CONFIG dateien usr/rain/auth/CONFIG ...
[PROBLEM]API-tool fixx problem 01/01/2011 - Metin2 Private Server - 1 Replies hallo ich war grade dabei api-tool zu fixxen dann sollte ich auf cmd
dann UPX.exe game eingeben
das hatte ich getan doch dann kam
der befehl ''Upx.exe ist entweder falsch geschrieben oder konnte nicht gefunden werden.
BITTE hilfe übrigens das video mit der upx.exe game ist von youtube link:YouTube - How to Fix Api Tool