|
You last visited: Today at 14:57
Advertisement
DLL Injection with AutoIt ...
Discussion on DLL Injection with AutoIt ... within the AutoIt forum part of the Coders Den category.
06/19/2011, 22:03
|
#1
|
elite*gold: 260
Join Date: Jun 2011
Posts: 355
Received Thanks: 8,167
|
DLL Injection with AutoIt ...
#old
|
|
|
06/21/2011, 12:22
|
#2
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
is this line correct?
PHP Code:
MsgBox(16, "Error", "Failed to inject" & @CRLF & "Error code : " &@error)
Should that means:
PHP Code:
MsgBox(16, "Error", "Failed to inject" & @CRLF & "Error code : " &$err)
????
|
|
|
06/27/2011, 19:41
|
#3
|
elite*gold: 0
Join Date: Aug 2009
Posts: 962
Received Thanks: 96
|
geht nicht-.-
|
|
|
06/28/2011, 14:21
|
#4
|
elite*gold: 0
Join Date: Dec 2008
Posts: 1,304
Received Thanks: 485
|
sag' mal, laut, gehst du in die Schule? Kannst du lesen? Das ist kein Release, der TE hat eine Frage gestellt, weil sein Script eben nicht geht >.<
#vote4IQ-Test beim Registrieren
|
|
|
06/28/2011, 14:32
|
#5
|
elite*gold: 0
Join Date: Jul 2008
Posts: 2,784
Received Thanks: 500
|
da war ein kurzer anflug von hackorskillz abgreifen
|
|
|
06/28/2011, 18:57
|
#6
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,147
|
Das Problem mit dem Fehlercode wird wohl an der fehlenden Berechtigung fehlen. Das dürfte eigentlich kein Problem sein, wenn man die Datei als Admin ausführt.
Ich habe aber mal meine UDF genommen und ein Beispiel dafür erstellt:
PHP Code:
#AutoIt3Wrapper_UseUpx=n #AutoIt3Wrapper_UseX64=n #RequireAdmin #include <GUIConstants.au3> GUICreate("Beispiel", 275, 100) GUISetBkColor(0xFFFFFF) GUICtrlCreateLabel("Prozess:", 10, 10, 50, 17) $I_ProcessName = GUICtrlCreateInput("", 65, 10, 200, 21) GUICtrlCreateLabel("DLL:", 10, 40, 50, 17) $I_DllPath = GUICtrlCreateInput("", 65, 40, 150, 21) $B_SearchDll = GUICtrlCreateButton("...", 225, 40, 40, 25) $R_Auto = GUICtrlCreateRadio("Automatisch", 10, 75, 75, 17) GUICtrlSetState(-1, $GUI_CHECKED) $R_Man = GUICtrlCreateRadio("Manuell", 130, 75, 55, 17) $B_Inject = GUICtrlCreateButton("Injizieren", 190, 70, 75, 25) GUICtrlSetState(-1, $GUI_DISABLE) GUISetState() $Injected = False Do $Msg = GUIGetMsg() Switch $Msg Case $B_SearchDll GUICtrlSetData($I_DllPath, FileOpenDialog("Dll", @HomeDrive, "Dynamic Link Library (*.dll)", 3)) Case $R_Auto GUICtrlSetState($B_Inject, $GUI_DISABLE) Case $R_Man GUICtrlSetState($B_Inject, $GUI_ENABLE) Case $B_Inject _InjectDll(ProcessExists(GUICtrlRead($I_ProcessName)), GUICtrlRead($I_DllPath)) _Message(@error) EndSwitch If BitAND(GUICtrlRead($R_Auto), $GUI_CHECKED) And Not $Injected Then $ProcessId = ProcessExists(GUICtrlRead($I_ProcessName)) If $ProcessId > 0 Then _InjectDll($ProcessId, GUICtrlRead($I_DllPath)) _Message(@error) $Injected = True ;Exit EndIf EndIf Sleep(10) Until $Msg == $GUI_EVENT_CLOSE Func _Message($ErrorCode) If $ErrorCode <> 0 Then MsgBox(48, "Fehler", "Es ist ein Fehler aufgetreten!" & @CRLF & "Fehlercode: " & @error) Else MsgBox(64, "Info", "Injektion erfolgreich!") EndIf EndFunc ;================================================================================================= ; Function: _InjectDll($ProcessId, $DllPath) ; Description: Injects a .dll into a running program. ; Return Value(s): On Success - Returns true ; On Failure - Returns false ; @Error - 0 = No error. ; 1 = Invalid ProcessId. ; 2 = File does not exist. ; 3 = File is not a .dll (invalid file). ; 4 = Failed to open 'Advapi32.dll'. ; 5 = Failed to get the full path. ; 6 = Failed to open the process. ; 7 = Failed to call 'GetModuleHandle'. ; 8 = Failed to call 'GetProcAddress'. ; 9 = Failed to call 'VirtualAllocEx'. ; 10 = Failed to write the memory. ; 11 = Failed to create the 'RemoteThread'. ; Author(s): KillerDeluxe ;================================================================================================= Func _InjectDll($ProcessId, $DllPath) If $ProcessId == 0 Then Return SetError(1, "", False) If Not(FileExists($DllPath)) Then Return SetError(2, "", False) If Not(StringRight($DllPath, 4) == ".dll") Then Return SetError(3, "", False) $Kernel32 = DllOpen("kernel32.dll") If @error Then Return SetError(4, "", False) $DLL_Path = DllStructCreate("char[255]") DllCall($Kernel32, "DWORD", "GetFullPathNameA", "str", $DllPath, "DWORD", 255, "ptr", DllStructGetPtr($DLL_Path), "int", 0) If @error Then Return SetError(5, "", False) $hProcess = DllCall($Kernel32, "DWORD", "OpenProcess", "DWORD", 0x1F0FFF, "int", 0, "DWORD", $ProcessId) If @error Then Return SetError(6, "", False) $hModule = DllCall($Kernel32, "DWORD", "GetModuleHandleA", "str", "kernel32.dll") If @error Then Return SetError(7, "", False) $lpStartAddress = DllCall($Kernel32, "DWORD", "GetProcAddress", "DWORD", $hModule[0], "str", "LoadLibraryA") If @error Then Return SetError(8, "", False) $lpParameter = DllCall($Kernel32, "DWORD", "VirtualAllocEx", "int", $hProcess[0], "int", 0, "ULONG_PTR", DllStructGetSize($DLL_Path), "DWORD", 0x3000, "int", 4) If @error Then Return SetError(9, "", False) DllCall("kernel32.dll", "BOOL", "WriteProcessMemory", "int", $hProcess[0], "DWORD", $lpParameter[0], "str", DllStructGetData($DLL_Path, 1), "ULONG_PTR", DllStructGetSize($DLL_Path), "int", 0) If @error Then Return SetError(10, "", False) $hThread = DllCall($Kernel32, "int", "CreateRemoteThread", "DWORD", $hProcess[0], "int", 0, "int", 0, "DWORD", $lpStartAddress[0], "DWORD", $lpParameter[0], "int", 0, "int", 0) If @error Then Return SetError(11, "", False) DllCall($Kernel32, "BOOL", "CloseHandle", "DWORD", $hProcess[0]) DllClose($Kernel32) Return SetError(0, "", True) EndFunc
Vielleicht hilft es ja.
|
|
|
08/26/2011, 01:52
|
#7
|
elite*gold: 0
Join Date: Apr 2011
Posts: 1
Received Thanks: 0
|
Very Good KillerDeluxe !!
|
|
|
|
Similar Threads
|
Direct Injection Codes - Delphi/C++/AutoIt
11/08/2011 - PW Hacks, Bots, Cheats, Exploits - 49 Replies
Since all pro people here is a bit selfish... i decided to made my own guide and share with the forum!!
OK... This is the best way to make your bot or whatever you making work well for you!!!
STOP being eMo and just changing addresses!! Lets play hard!!!:D
ALL INFORMATION HERE IS BASED ON PERFECT WORLD INTERNACIONAL (LAST VERSION)
Before Start:
|
DLL injection und AutoIT DLLCall
11/30/2010 - AutoIt - 4 Replies
Hallo,
ich hab ein Problem was mit seit ein paar Stunden den Kopf zerbricht, vllt ist es auch einfach der falsche Ansatz.
Ich hab mir eine DLL zum injizieren mit C++ geschrieben, durch Winject wird diese auch injiziert und die main Funktion durch die WINAPI DLLMain aufgerufen (einfach nur eine MsgBox).
Jetzt besteht meine Frage / Problem darin, kann ich mit AutoIt die restlichen Funktionen auch aufrufen (durch DLLCall) oder soll man dass auch lieber mit C++ realisieren. (andere...
|
All times are GMT +2. The time now is 14:57.
|
|