Also folgendes ich habe derzeit wieder angefangen mit Autoit und da ich noch nicht wirklich soviel ahnung hab von GWCA wollt ich hier nun mal fragen, Also ich bin derzeit an einem Bot schreiben und möchte dort eine Self Injection einbauen. den passenden code habe ich schon im www gefunden. Soweit alles gut, doch wenn ich nun den Bot Ausführe steht zwar dran das es Injectet wurde aber oben links im GW fenster steht nicht mein Name dran. Hier mal der Code
PHP Code:
;InjectDLL
Global $bot = "General"
Global $inject = 1
If Not FileExists(@ScriptDir & "\Graphics.dll") Then
loggen("Die Dll wurde nicht gefunden")
$msgbox = MsgBox(36, "Error", "Die Dll wurde nicht gefunden!" & Chr(13) & Chr(13) & "Herunterladen?")
If $msgbox = 6 Then
InetGet("http://gwca.googlecode.com/files/Graphics.dll", "Graphics.dll", 1, 1)
While @InetGetActive
TrayTip("Downloading", "Es wurden " & @InetGetBytesRead & " Bytes heruntergeladen!", 10, 16)
Sleep(100)
WEnd
MsgBox(0, "Update", "Die Datei wurde heruntergeladen!")
MsgBox(0, "Update", "Es befindet sich nun eine neue Graphics.dll im Ordner!")
EndIf
EndIf
$hwnd = WinGetHandle("Guild Wars")
Global Const $dllpath = @ScriptDir & "\Graphics.dll"
If Not FileExists($dllpath) Then Exit
$iDLL = InjectDll($hwnd, $dllpath)
If Not @error Then
TrayTip("", "Injection Successfull", 1)
loggen("Dll erfolgreich injected")
Global $inject = 1
Else
MsgBox(0x10, "Error in DLL Injection", "Guild Wars ist möglicherweise nicht gestartet" )
Global $inject = -1
loggen("Fehler beim injecten der Dll")
EndIf
Func InjectDll($hWnd, $dllpath)
If IsHWnd($hwnd) = 0 Then
SetError(-1)
Return False
ElseIf StringLen($dllpath) <= 4 Or StringRight($dllpath, 4) <> ".dll" Then
SetError(-2)
Return False
EndIf
Local $pid, $pHandle, $pLibRemote, $modHandle, $LoadLibraryA, $hThread
Local $kernel32 = DllOpen("kernel32.dll")
If $kernel32 = -1 Then
Exit
EndIf
$pid = DllCall("user32.dll", "int", "GetWindowThreadProcessId", "hwnd", $hWnd, "int*", 0)
If IsArray($pid) Then
$pid = $pid[2]
Else
SetError(-3)
Return False
EndIf
$pHandle = DllCall($kernel32, "int", "OpenProcess", "int", 0x1F0FFF, "int", 0, "int", $pid)
If IsArray($pHandle) And $pHandle[0] > 0 Then
$pHandle = $pHandle[0]
Else
SetError(-4)
Return False
EndIf
$pLibRemote = DllCall($kernel32, "int", "VirtualAllocEx", "int", $pHandle, "short", 0, "int", 0x1000, "int", 0x1000, "int", 4)
If IsArray($pLibRemote) Then
If $pLibRemote[0] > 0 Then
$pLibRemote = $pLibRemote[0]
Else
SetError(-5)
Return False
EndIf
Else
SetError(-6)
Return False
EndIf
For $i = 0 To StringLen($dllpath)
$ret = DllCall("kernel32.dll", "int", "WriteProcessMemory", "int", $pHandle, "int", $pLibRemote + $i, "int*", Asc(StringMid($dllpath, $i + 1, 1)), "int", 1, "int", 0)
If IsArray($ret) Then
If $ret[0] = 0 Then
SetError(-7)
Return False
EndIf
Else
SetError(-8)
Return False
EndIf
Next
$modHandle = DllCall($kernel32, "long", "GetModuleHandle", "str", "kernel32.dll")
If IsArray($modHandle) Then
If $modHandle[0] > 0 Then
$modHandle = $modHandle[0]
Else
SetError(-9)
Return False
EndIf
Else
SetError(-10)
Return False
EndIf
$LoadLibraryA = DllCall($kernel32, "long", "GetProcAddress", "long", $modHandle, "str", "LoadLibraryA")
If IsArray($LoadLibraryA) Then
If $LoadLibraryA[0] > 0 Then
$LoadLibraryA = $LoadLibraryA[0]
Else
SetError(-11)
Return False
EndIf
Else
SetError(-12)
Return False
EndIf
$hThread = DllCall($kernel32, "int", "CreateRemoteThread", "int", $pHandle, "int", 0, "int", 0, "long", $LoadLibraryA, "long", $pLibRemote, "int", 0, "int", 0)
If IsArray($hThread) Then
If $hThread[0] > 0 Then
$hThread = $hThread[0]
Else
SetError(-13)
Return False
EndIf
Else
SetError(-14)
Return False
EndIf
Lass dir mal das Ausgeben: $dllpath
Und schau ob dort auch wirklich eine DLL ist.
Oder bist du auch wirklich mit einem Char eingeloggt!
Oder versuch mal beides als Admin zu starten oder schalte UAC aus!
Übrigens, mein Auto fährt nicht. Weiß jemand wodran's liegt?
vergessen Benzin zu injecten?
falls der Auto inject nicht funktioniert, empfehle ich einfach einen Injector zu benutzen...
ich empfehle hier den Injector "Zapfsäule", klappt meines wissens am besten.
bei der alten Kuplung version (v1.0 - v1.3) muss man den Gang selbst einstellen..
Bei der neuen (v2.2) sollte dies aber behoben sein.
vergessen Benzin zu injecten?
falls der Auto inject nicht funktioniert, empfehle ich einfach einen Injector zu benutzen...
ich empfehle hier den Injector "Zapfsäule", klappt meines wissens am besten.
bei der alten Kuplung version (v1.0 - v1.3) muss man den Gang selbst einstellen..
Bei der neuen (v2.2) sollte dies aber behoben sein.
Could not Inject *.dll 08/26/2010 - WarRock - 6 Replies Hallo e*pvpers,
als ich meinen Hack auf meinem Zweit-PC testen wollte kam plötzlich diese Fehlermeldung: "COULD NOT INJECT vistaxxxl.dll"
Beim anderen PC funktioniert der Hack aber einwandfrei, bitte helft mir ich bin am verzweifeln
MFG vistaxxxl
PS: ich habe meinen und Naerons Injector benutzt und beide PCs sind XP 32bit
[help] dll-inject 12/30/2009 - General Coding - 4 Replies hab mir eine dll zum injecten mit vc++2008 compiliert .. mit mhs injected
(DLL Injector)
funzt super.. leider kann ich aber nach dem ich uninject gedrückte habe die dll nicht neu compilieren
vc++ error: blahblah kann nicht zum Schreiben geöffnet werden.
die dll ist aber nicht mehr im prozess -.- erst nachdem ich das injectete prog beendet habe kann ich die dll neu compilieren.. was mach ich falsch =/ ?
inject wpe in ro with GG? 11/07/2009 - Ragnarok Online - 0 Replies is it possible to inject wpe in RO client with GG?
because when i try to hex GG when u log in it will only last around 10secs and get DC. this is from PRO valkyrie server. they updated game guard which made botting and sniffing hard :(
how to inject? 12/12/2008 - Kal Online - 16 Replies sry for that kind nooby question but i need know i do it first time and soo plz help me
dont flame or insolt
sry for bad english
plz help you get tnx!