[Help] Code Autoit Close Auto Injector

05/16/2012 19:04 Alexgoogle#1
[Only registered and activated users can see links. Click Here To Register...]

Is there anybody who can help me with a box to auto close after the dll is injected?

Please help.

PHP Code:
#AutoIt3Wrapper_UseUpx=n 
#AutoIt3Wrapper_UseX64=n 

#RequireAdmin 
#include <GUIConstants.au3> 

GUICreate("Injector By Alexgogole"351143186125)
GUISetBkColor(0xFFFFFF
GUICtrlCreateLabel("Process:"10105017
$I_ProcessName GUICtrlCreateInput(""651020021
GUICtrlCreateLabel("DLL:"10405017
$I_DllPath GUICtrlCreateInput(""654015021
$B_SearchDll GUICtrlCreateButton("..."225404025
$R_Auto GUICtrlCreateRadio("Automatic"10757517
GUICtrlSetState(-1$GUI_CHECKED
$R_Man GUICtrlCreateRadio("Manual"130755517
$B_Inject GUICtrlCreateButton("Injectar"190707525
$Label1 GUICtrlCreateLabel("Made by Alexgoogle"818410017)
$MadeByAlexgoogle GUICtrlCreateLabel("MadeByAlexgoogle"2481209517)
$Checkbox1 GUICtrlCreateCheckbox("Close After Injecting..."812012917)
GUICtrlSetState(-1$GUI_DISABLE
GUISetState() 

$Injected False 

Do 
    
$Msg GUIGetMsg() 
    Switch 
$Msg 
        
Case $B_SearchDll 
            GUICtrlSetData
($I_DllPathFileOpenDialog("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
($ProcessIdGUICtrlRead($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""There is an error!" & @CRLF "Fehlercode: " & @error
    Else 
        
MsgBox(64"Info""successful injection!"
    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 No error
;                             
Invalid ProcessId
;                             
File does not exist
;                             
File is not a .dll (invalid file). 
;                             
Failed to open 'Advapi32.dll'
;                             
Failed to get the full path
;                             
Failed to open the process
;                             
Failed to call 'GetModuleHandle'
;                             
Failed to call 'GetProcAddress'
;                             
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($DllPath4) == ".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_Path1), "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 
05/16/2012 19:25 Lawliet#2
Code:
Func _Message($ErrorCode)  
    If $ErrorCode <> 0 Then  
        MsgBox(48, "Fehler", "There is an error!" & @CRLF & "Fehlercode: " & @error) 
Exit
    Else  
        MsgBox(64, "Info", "successful injection!")  
    EndIf 
Exit
EndFunc
05/16/2012 19:38 Alexgoogle#3
Quote:
Originally Posted by Lawliet! View Post
Code:
Func _Message($ErrorCode)  
    If $ErrorCode <> 0 Then  
        MsgBox(48, "Fehler", "There is an error!" & @CRLF & "Fehlercode: " & @error) 
Exit
    Else  
        MsgBox(64, "Info", "successful injection!")  
    EndIf 
Exit
EndFunc
That he has...You send me the full code included with auto close?
05/16/2012 19:42 Lawliet#4
Replace this part with the part in the script ;)
05/16/2012 19:48 Alexgoogle#5
Quote:
Originally Posted by Lawliet! View Post
Replace this part with the part in the script ;)


Now if I replace her by my ... it will close automatically?
05/16/2012 20:46 KDeluxe#6
You just failed to copy my example.


Adding a label doesn't make you the creator of something.