Streng genommen kannst du auch mit Autoit injecten, aber die Dll müsstest du in einer anderen Sprache machen.
Und nein, gerade mit .NET geht das nicht, du kannst keine.NET Dlls in normale Prozesse injecten!
Und nein, C++ ist eine reine native Sprache, kein .NET
Ich weiß, dass man mit AutoIt injecten kann, es ging ja nur um die .dll ERstellung:
Code:
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",2035711,"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",4096,"int",4096,"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
EndIf
Else
SetError(-14)
Return False
EndIf
DLLCall($Kernel32,"int","VirtualFreeEx","int",$PHandle,"int",$PLibRemote,"int",4096,"int",32768)
DLLCall($Kernel32,"int","CloseHandle","int",$HthRead)
DLLCall($Kernel32,"int","CloseHandle","int",$PHandle)
DllClose($Kernel32)
Return True
EndFunc
Achsoo, ich dachte es ging darum, dass es nicht klappen würde, AutoIt Code zu injezieren.
Ich frag mal Alastor, wie er das hingekrigt hat, mit AutoIt ne .dll zu machen.
Das Problem liegt eindeutig darin wenn Du sdown und edown zur selben Zeit ausführen willst nimmt der PC nur eine Taste an.
mach einen Selbstversuch im Word....
halte s gedrückt lasse nicht los und drücke zusätzlich noch e
Du wirst sehen das er dann nur noch e sendet.
Müssen denn die beiden Tasten gleichzeitig 2 Sekunden gedrückt werden?
Das Problem liegt eindeutig darin wenn Du sdown und edown zur selben Zeit ausführen willst nimmt der PC nur eine Taste an.
mach einen Selbstversuch im Word....
halte s gedrückt lasse nicht los und drücke zusätzlich noch e
Du wirst sehen das er dann nur noch e sendet.
Müssen denn die beiden Tasten gleichzeitig 2 Sekunden gedrückt werden?
Metin2.bin reagiert nich!!!!!!!! 01/31/2010 - Metin2 - 1 Replies heii habe ein prob un hoffe ihr könnt mir helfen..
Immer wenn ich metin starte offnet sich das fenster aber wenn ich dann klicke wird der screen so grau un error fenster kommt wo drin steht programm reagiert nicht mehr....
PLS HELP
PS:gestern abend gings noch
PC reagiert nicht mehr ! 12/22/2009 - Technical Support - 2 Replies Hi liebe Com,
Ich habe ein Problem und hoffe ihr könnt mir (teilweise) helfen. Wenn ich meinen Pc hochgefahren hab und dann z.B. eine Anwendung (Spiel, film, usw...) starten will, funktioniert dies ein paar Minuten und dann hängt sich der Pc einfach auf. Also der Bildschirm gefriert einfach. Ich kann nichts mehr machen außer die Maus bewegen. Anklicken kann ich mit der aber auch nichts... nur hin und her bewegen.Ich weiß nicht woran es liegt... hab neulich eine neue festplatte in den pc rein...
GM Befehl Mobs rufen? Wer kennt den Befehl? 04/13/2008 - Metin2 - 27 Replies Hallo,
ich wollte mal von euch wissen ob jemand diesen Befehl kennt, und die Id von diesen Mobs oder Metin Steine Items etc..
IceSpeed
Bot reagiert nicht mehr 05/22/2007 - Ragnarok Online - 2 Replies Hi Leuts,
weiß zwar nicht ob ich mit diesem Thread hier richtig bin, aber nach dem ich es jetzt geschafft habe, meinen Bot zum laufen zu bringen und ihn auch konfiguriert habe, gibt es noch ein kleines Proble.
Ich habe Telesearch eingestellt der sucht auch kein Problem alles wunderbar.
Nur wenn ich ein Monster getötet, hört bewegt er sich irgendwann nicht mehr, die Timeout.cfg hab ich schon kontrolliert, aber sobald ich automatisch mal nen teleport mache, fängt er wieder an zu reagieren...
dbutilex v1.2 reagiert nicht 03/12/2006 - WoW Private Server - 3 Replies Folgendes Problem hab mir den Emulatur RaidensRepack V6full gezogen, alles funktioniert soweit, nur kann ich keine accounts anlegen sobald ich die dbutilex v1.2 starte, hängt sie sich auf. Wo liegt der Fehler?