Metin2 Hack läuft nicht...

02/06/2011 16:01 spion9613#1
hi evps

ich habe ein paar tut's gefunden,wie man einen Multihack schreibt
den pointer habe ich schon gefunden(getestet indem ich mich ausgeloggt und eingeloggt habe).

Der Script sieht so aus...
#include <pointer.au3>
SetPrivilege("SeDebugPrivilege", 1)
$pid = WinGetProcess("METIN2")
$openmem = _MemoryOpen($pid)
$baseadress = _MemoryModuleGetBaseAddress($pid,"FinalMt2.bin")
$testoffset1 = "20C"
$testoffset2 = "5B6"
$testoffset3 = "0021C4A8"

Global $AOffset[3]
$AOffset[0] = 0
$AOffset[1] = Dec($testoffset1)
$AOffset[2] = Dec($testoffset2)
$Aaddress = "0x" & Hex($baseadress + Dec($testoffset3))
$Amemread = _MemoryPointerRead($Aaddress, $openmem, $AOffset, "byte[2]")
$Awert = _ReturnMemoryValue($Amemread[1])
$Awert = Dec($Awert)
Func _ReturnMemoryValue($sAdresse)
$sNewAdresse = ""
$sAdresse = StringTrimLeft($sAdresse, 2)
For $i = StringLen($sAdresse) - 1 To 0 Step -2
$sNewAdresse &= StringMid($sAdresse, $i, 2)
Next
Return $sNewAdresse
EndFunc
while 1
_MemoryPointerWrite($Aaddress, $openmem, $AOffset, "16556", "dword")
wend

Der Multihack ist für finalmt2,weil es der erste sein wird.
Wenn ich das Programm öffne ist der immer noch langsam oder muss man dort noch etwas machen?
Hoffe ihr könnt mir helfen =(

mfg spion9613
02/06/2011 16:14 Adroxxx#2
moved nach autoit.
02/06/2011 19:14 maxi39#3
starte ma mit admin
02/06/2011 20:14 spion9613#4
Quote:
Originally Posted by maxi39 View Post
starte ma mit admin
klappt auch nicht =(
02/07/2011 00:22 maxi39#5
PHP Code:
#RequireAdmin
#include <pointer.au3>
SetPrivilege("SeDebugPrivilege"1)
$pid WinGetProcess("METIN2")
$openmem _MemoryOpen($pid)
$baseadress _MemoryModuleGetBaseAddress($pid,"FinalMt2.bin")
$testoffset1 "20C"
$testoffset2 "5B6"
$testoffset3 "0021C4A8"

Global $AOffset[3]
$AOffset[0] = 0
$AOffset
[1] = Dec($testoffset1)
$AOffset[2] = Dec($testoffset2)
$Aaddress "0x" Hex($baseadress Dec($testoffset3))
$Amemread _MemoryPointerRead($Aaddress$openmem$AOffset"byte[2]")
$Awert _ReturnMemoryValue($Amemread[1])
$Awert Dec($Awert)


Func _ReturnMemoryValue($sAdresse)
$sNewAdresse ""
$sAdresse StringTrimLeft($sAdresse2)
For 
$i StringLen($sAdresse) - 1 To 0 Step -2
$sNewAdresse 
&= StringMid($sAdresse$i2)
Next
Return $sNewAdresse
EndFunc

$a
=_MemoryPointerRead($Aaddress,$openmem,$AOffset,"byte[2]")
MsgBox(0,"",$a[1])
while 
1
_MemoryPointerWrite
($Aaddress$openmem$AOffset"16556""dword")
wend 
sag ma was bei msg raus kommt
02/07/2011 14:10 spion9613#6
danke maxi39 =)
Das funktioniert jetzt.

Edit:
Hab noch ein Problem:
Ich habe eine Form anwendung erstellt.In Autoit sieht es so aus:
Code:
#include <pointer.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 506, 172, 192, 124)
$Button1 = GUICtrlCreateButton("Movespeed on", 56, 24, 83, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Movespeed off", 208, 24, 91, 25, $WS_GROUP)
$Button3 = GUICtrlCreateButton("Attackspeed on", 56, 104, 83, 25, $WS_GROUP)
$Button4 = GUICtrlCreateButton("Attackspeed off", 208, 104, 91, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
SetPrivilege("SeDebugPrivilege", 1)
$pid = WinGetProcess("METIN2")
$openmem = _MemoryOpen($pid)
$baseadress = _MemoryModuleGetBaseAddress($pid,"FinalMt2.bin")
$testoffset1 = "20C"
$testoffset2 = "5B6"
$testoffset3 = "0021C4A8"

Global $AOffset[3]
$AOffset[0] = 0
$AOffset[1] = Dec($testoffset1)
$AOffset[2] = Dec($testoffset2)
$Aaddress = "0x" & Hex($baseadress + Dec($testoffset3))
$Amemread = _MemoryPointerRead($Aaddress, $openmem, $AOffset, "byte[2]")
$Awert = _ReturnMemoryValue($Amemread[1])
$Awert = Dec($Awert)
Func _ReturnMemoryValue($sAdresse)
$sNewAdresse = ""
$sAdresse = StringTrimLeft($sAdresse, 2)
For $i = StringLen($sAdresse) - 1 To 0 Step -2
$sNewAdresse &= StringMid($sAdresse, $i, 2)
Next
Return $sNewAdresse
EndFunc
while 1
_MemoryPointerWrite($Aaddress, $openmem, $AOffset, "16556", "dword")
wend

		Case $Button2
SetPrivilege("SeDebugPrivilege", 1)
$pid = WinGetProcess("METIN2")
$openmem = _MemoryOpen($pid)
$baseadress = _MemoryModuleGetBaseAddress($pid,"FinalMt2.bin")
$testoffset1 = "20C"
$testoffset2 = "5B6"
$testoffset3 = "0021C4A8"

Global $AOffset[3]
$AOffset[0] = 0
$AOffset[1] = Dec($testoffset1)
$AOffset[2] = Dec($testoffset2)
$Aaddress = "0x" & Hex($baseadress + Dec($testoffset3))
$Amemread = _MemoryPointerRead($Aaddress, $openmem, $AOffset, "byte[2]")
$Awert = _xD($Amemread[1])
$Awert = Dec($Awert)
Func _xD($sAdresse)
$sNewAdresse = ""
$sAdresse = StringTrimLeft($sAdresse, 2)
For $i = StringLen($sAdresse) - 1 To 0 Step -2
$sNewAdresse &= StringMid($sAdresse, $i, 2)
Next
Return $sNewAdresse
EndFunc
while 1
_MemoryPointerWrite($Aaddress, $openmem, $AOffset, "16256", "dword")
wend
	EndSwitch
WEnd
Wenn ich auf movespeed on drücke,dann ist der speedhack an und wenn ich auf movespeed off drücke ist er immer noch an.Damit ich das ausmachen kann muss ich das programm neu starten.Weiß jmd dazu noch eine Lösung?
Habe folgendes ausprobiert:

If $Button2 = True Then
$Button1 = False
EndIf

ging aber auch nicht

mfg