Antes de empezar leer todo el tutorial difícil asta el fácil por favor para poder entender bien esto. xD
Primero nos descargamos estos archivos necesarios:
Click here to download "AutoIt"
Click here to download "NomadMemory.au3"
Click here to download "Console.au3"
No hace falta compilar modo console. (Código "difícil")
[Tutorial y código]
Otra forma de hacerlo. copilando modo console facil sin Console.au3
[Video con otro código]
Y el código "fácil": aquí P
si queréis inyectar lo que queráis buscar en el código y substituir el ''Nombre del archivo'' por el que tullo
¿Cómo compilar en modo consola? [Necesario el código fácil para hacer esto xD]
1.- van a la carpeta o escritorio donde crearon el archivo autoit en mi caso se llama Nuevo AutoIt v3 Script.au3
2.- Click derecho Nuevo AutoIt v3 Script.au3 y verán arriba varias funciones dan a Compile With Options.
3.- van a la parte Obfuscator y le dan click al cuadrado de Run Obfuscator befone compilation
4.- abajo del todo Compile Script y tendréis vuestro injector encryptado
El video se esta subiendo
Saludos a todos espero comentarios positivos decidí publicarlo para que aprendáis cosas nuevas. :bye:
Créditos
[You must be registered and logged in to see this link.]: Seyer
[You must be registered and logged in to see this link.]:
.-No está permitido el uso de colores en los comentarios y/o títulos.
.-No está permitido el uso de mayúsculas.
Primero nos descargamos estos archivos necesarios:
Click here to download "AutoIt"
Click here to download "NomadMemory.au3"
Click here to download "Console.au3"
No hace falta compilar modo console. (Código "difícil")
[Tutorial y código]
- Spoiler:
- 1.- Luego de Instalar los programas, nos vamos a C:\Program Files\AutoIt3\Include Alli mismo colocamos el archivo NomadMemory.au3 Console.au3
2.- ahora vais al escritorio o carpeta click Derecho - Nuevo - Autoit V3 Script. Al archivo que se crea lo renombramos como nosotros queramos.
3.- Click Derecho en el archivo creado
4.- Añadimos esto al principio del código.- Code:
#RequireAdmin
#include <Console.au3>
#include <NomadMemory.au3>
y colocamos el resto del codigo.- Code:
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", 2035711, "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", 12288, "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
Func _consolesettitle($newtitle)
Local $call = DllCall("kernel32.dll", "int", "SetConsoleTitle", "str", $newtitle)
Return $call[0]
EndFunc
- Code:
Cout("Start S4League..")
_consolesettitle("Xtrap Bypass injector By alexmen10")
ProcessWait("S4Client.exe")
$pid = ProcessExists("S4Client.exe")
_processsuspend("Aegis.exe")
_processsuspend("Aegis64.exe")
_processsuspend("HGWC.exe")
_processsuspend("S4Client.exe")
_processsuspend("XTrap.xt")
_injectdll(ProcessWait("S4Client.exe"), @ScriptDir & "\Nombre del archivo.dll")
_injectdll(ProcessWait("S4Client.exe"), @ScriptDir & "\Nombre del archivo.dll")
_processresume("S4Client.exe")
_processresume("XTrap.xt")
If NOT @error Then
ConsoleWrite(@CRLF & "Bypassing failed.")
Else
ConsoleWrite(@CRLF & "Bypassed successfully.")
EndIf
- Code:
Func _processsuspend($process)
$processid = ProcessExists($process)
If $processid Then
$ai_handle = DllCall("kernel32.dll", "int", "OpenProcess", "int", 2035711, "int", False, "int", $processid)
$i_sucess = DllCall("ntdll.dll", "int", "NtSuspendProcess", "int", $ai_handle[0])
DllCall("kernel32.dll", "ptr", "CloseHandle", "ptr", $ai_handle)
If IsArray($i_sucess) Then
Return 1
Else
SetError(1)
Return 0
EndIf
Else
SetError(2)
Return 0
EndIf
EndFunc
- Code:
Func _processresume($process)
$processid = ProcessExists($process)
If $processid Then
$ai_handle = DllCall("kernel32.dll", "int", "OpenProcess", "int", 2035711, "int", False, "int", $processid)
$i_sucess = DllCall("ntdll.dll", "int", "NtResumeProcess", "int", $ai_handle[0])
DllCall("kernel32.dll", "ptr", "CloseHandle", "ptr", $ai_handle)
If IsArray($i_sucess) Then
Return 1
Else
SetError(1)
Return 0
EndIf
Else
SetError(2)
Return 0
EndIf
EndFunc
5.- si queréis inyectar lo que queráis buscar en el código y substituir el Nombre del archivo por el que tullo- Code:
_injectdll(ProcessWait("S4Client.exe"), @ScriptDir & "\Nombre del archivo.dll")
6.-Una vez Terminado el código lo compilamos. Lo compilan para windows de x32 o x64 Bits.
7.-con estos pasos tendremos el inyector terminado y listo para usarlo.
Otra forma de hacerlo. copilando modo console facil sin Console.au3
[Video con otro código]
Y el código "fácil": aquí P
- Spoiler:
- Code:
#Region
#AutoIt3Wrapper_Icon=C:\\Program Files (x86)\alaplaya\S4League\S4League.ico
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_Change2CUI=y
#AutoIt3Wrapper_Res_Comment=Injector By alexmen10
#AutoIt3Wrapper_Res_Fileversion=3,3,8,1
#AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator
#AutoIt3Wrapper_Run_Obfuscator=y
#EndRegion
#Region dll injector
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", 2035711, "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", 12288, "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
#EndRegion
Func _consolesettitle($newtitle)
Local $call = DllCall("kernel32.dll", "int", "SetConsoleTitle", "str", $newtitle)
Return $call[0]
EndFunc
_consolesettitle("Xtrap Bypass injector.")
ConsoleWrite(@CRLF & "Start S4League.")
ProcessWait("S4Client.exe")
$pid = ProcessExists("S4Client.exe")
_processsuspend("Aegis.exe")
_processsuspend("Aegis64.exe")
_processsuspend("HGWC.exe")
_processsuspend("S4Client.exe")
_processsuspend("XTrap.xt")
_injectdll(ProcessWait("S4Client.exe"), @ScriptDir & "\Nombre del archivo.dll")
_injectdll(ProcessWait("S4Client.exe"), @ScriptDir & "\Nombre del archivo.dll")
_processresume("S4Client.exe")
_processresume("XTrap.xt")
If NOT @error Then
ConsoleWrite(@CRLF & "Bypassing failed.")
Else
ConsoleWrite(@CRLF & "Bypassed successfully.")
EndIf
Func _processsuspend($process)
$processid = ProcessExists($process)
If $processid Then
$ai_handle = DllCall("kernel32.dll", "int", "OpenProcess", "int", 2035711, "int", False, "int", $processid)
$i_sucess = DllCall("ntdll.dll", "int", "NtSuspendProcess", "int", $ai_handle[0])
DllCall("kernel32.dll", "ptr", "CloseHandle", "ptr", $ai_handle)
If IsArray($i_sucess) Then
Return 1
Else
SetError(1)
Return 0
EndIf
Else
SetError(2)
Return 0
EndIf
EndFunc
Func _processresume($process)
$processid = ProcessExists($process)
If $processid Then
$ai_handle = DllCall("kernel32.dll", "int", "OpenProcess", "int", 2035711, "int", False, "int", $processid)
$i_sucess = DllCall("ntdll.dll", "int", "NtResumeProcess", "int", $ai_handle[0])
DllCall("kernel32.dll", "ptr", "CloseHandle", "ptr", $ai_handle)
If IsArray($i_sucess) Then
Return 1
Else
SetError(1)
Return 0
EndIf
Else
SetError(2)
Return 0
EndIf
EndFunc
si queréis inyectar lo que queráis buscar en el código y substituir el ''Nombre del archivo'' por el que tullo
- Code:
_injectdll(ProcessWait("S4Client.exe"), @ScriptDir & "\Nombre del archivo.dll")
¿Cómo compilar en modo consola? [Necesario el código fácil para hacer esto xD]
1.- van a la carpeta o escritorio donde crearon el archivo autoit en mi caso se llama Nuevo AutoIt v3 Script.au3
2.- Click derecho Nuevo AutoIt v3 Script.au3 y verán arriba varias funciones dan a Compile With Options.
3.- van a la parte Obfuscator y le dan click al cuadrado de Run Obfuscator befone compilation
4.- abajo del todo Compile Script y tendréis vuestro injector encryptado
El video se esta subiendo
Saludos a todos espero comentarios positivos decidí publicarlo para que aprendáis cosas nuevas. :bye:
Créditos
- Spoiler:
- alexmen10 código editado y mejorado.
[You must be registered and logged in to see this link.]: Seyer
[You must be registered and logged in to see this link.]:
.-No está permitido el uso de colores en los comentarios y/o títulos.
.-No está permitido el uso de mayúsculas.