Tucano Membro
Registrado em : 03/02/2011 Localização : AlphaCheaters Mensagens : 26 Agradecido : 2
| Assunto: Como criar um multi injetor de Dlls 3rd fevereiro 2011, 17:15 | |
| Programa a ser usado: Delphi 7
LINK DO SITE PARA DOWNLOAD:[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]Não precisa de SCAN pois o download é direto de um site confiável. Bom vamos começar : 1 - Abra um novo projeto: Clique em um papel com um sinal de +, abaixo de "File"2 - Abaixo de "Component" Tem uma aba "Standard" nela você encontra várias ferramentas, deixe o mouse parado sobre cada uma delas, para ver o nome de cada ferramenta.3 - E então adicione: (obs: Pra adicionar um objeto, é só clicar duas vezes sobre ele)1 Edit 1 CheckBox 1 Button 4 - Na aba "System", abra:1 Timer Aba system: Ficando assim:5 - Para alterar o nome de cada objeto adicionado, clique 1 vez sobre ele e digita o nome desejado... e então:Altere o nome do CheckBox para : "Auto Inject" Altere o nome do Button para "Injetar Manualmente" Apague o texto do Edit1 ( Deixe sem nada escrito nele ) Altere o Caption do form para qualquer nome que vc quiser dar para o Injector 6 - Arrume a aparência do seu Injector, no meu caso eu deixei ele assim :
(Tem Alguns Codes que não irei disponibilizar no tutorial)Clique 2 vezes em Forms como a imagem mostra: Irá abrir uma janela assim:Então, abaixo de "Uses", substitua o código por esse abaixo: - Código:
-
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, WinSkinData, StdCtrls, tlhelp32, ComCtrls; De modo que fique assim:Agora descendo um pouco o código, você vai ver "implemetation" como mostra a imagem:Lá... Adicione esse código inteiro: - Código:
-
function ValorAsc(Letra: String): Byte;
begin
if Length(letra) > 0 then ValorAsc := Ord(Letra[1]) else ValorAsc := 0;
end;
function crypt(Texto: String): String;
var
Cont, Cod: Integer;
Retorna: String;
begin
for Cont := 1 to Length(Texto) do begin
Cod := ValorAsc(Copy(Texto, Cont, 1))*
Retorna := Retorna + Chr(Cod + 57(*valor a ser adicionado - pode ser modificado*))*
end;
Crypt := Retorna;
end;
function Descript(Texto: String): String;
var
Cont, Cod: integer;
Retorna: String;
begin
for Cont := 1 to Length(Texto) do begin
Cod := ValorAsc(Copy(Texto, Cont, 1))*
Retorna := Retorna + Chr(Cod - 57)*
end;
Descript := Retorna;
end;
function processExists(exeFileName: string): Boolean;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)*
FProcessEntry32.dwSize := SizeOf(FProcessEntry32)*
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32)*
Result := False;
while Integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeF ile)) =
UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
begin
Result := True;
end;
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32)*
end;
CloseHandle(FSnapshotHandle)*
end;
function CMKGETID(ExeFileName: string; var ProcessId: dword) :boolean; // A função
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
result := false;
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)*
FProcessEntry32.dwSize := Sizeof(FProcessEntry32)*
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32)*
while integer(ContinueLoop) <> 0 do begin
if (StrIComp(PChar(ExtractFileName(FProcessEntry32.sz ExeFile)), PChar(ExeFileName)) = 0)
or (StrIComp(FProcessEntry32.szExeFile, PChar(ExeFileName)) = 0) then begin
ProcessId:= FProcessEntry32.th32ProcessID;
result := true;
break;
end;
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32)*
end;
CloseHandle(FSnapshotHandle)*
end; De modo que fique assim:Agora de 2 Clicks no Button (Injetar) e adicione isso : - Código:
-
timer1.Enabled:=true; Imagem para tirar qualquer dúvida:Agora de 2 Clicks no CheckBox (Caixa onde tava escrito "edit1" aquela que digita o endereço da dll) e adicione isso : - Código:
-
if CheckBox1.Checked = False then begin
Timer1.Enabled:=False;
end
else begin
Timer1.Enabled:=True;
end; Imagem para tirar qualquer dúvida:Agora de 2 Clicks no Timer (reloginho) e apague essa parte : - Código:
-
Begin
End; E adicione isso : - Código:
-
var
Pid : dword;
ker41280dll : String;
pker41280dll : Pointer;
ker41280prcess,bw41280 : Cardinal;
hRemote_Thread : Cardinal;
begin
ker41280dll := ExtractFilePath(Application.Exename)+Edit1.Text;
if ProcessExists('main.exe') then begin
if FileExists(ker41280dll) then begin
cmkGetID('main.exe',pid)*
ker41280prcess:= OpenProcess(PROCESS_ALL_ACCESS, false, PID)*
pker41280dll := VirtualAllocEx(ker41280prcess,nil, length(ker41280dll), MEM_COMMIT,PAGE_EXECUTE_READWRITE)*
WriteProcessMemory(ker41280prcess, pker41280dll, PChar(ker41280dll), length(ker41280dll), bw41280)*
CreateRemoteThread(ker41280prcess, nil, 0, GetProcAddress(GetModuleHandle('kernel32.dll'),'Lo adLibraryA'), pker41280dll, 0, hRemote_Thread)*
CloseHandle(ker41280prcess)*
Timer1.Enabled:=False;
ShowMessage('DLL Injct Sucefull')*
end
else begin
Timer1.Enabled:=False;
end;
end;
end; Imagem para tirar qualquer dúvida:Pronto, seu Injector foi criado..
Agora irei ensinar a fazer o Mult Dll InjectorPara criar o Mult Dll Injector, você ira precizar de mais :1 Edit 1 Timer 1 CheckBox 1 Button Iremos fazer quase a mesma coisa que fizemos no timer, button, Checkbox, mas agora alterando algumas partes do cod
Depois de adicionar esses componentes e organiza-los como desejar coloque esses cods:
De 2 Clicks no Timer2, apague o seguinte cod : - Código:
-
Begin
End; E adicione isso : - Código:
-
var
Pid : dword;
ker41280dll : String;
pker41280dll : Pointer;
ker41280prcess,bw41280 : Cardinal;
hRemote_Thread : Cardinal;
begin
ker41280dll := ExtractFilePath(Application.Exename)+Edit2.Text;
if ProcessExists('main.exe') then begin
if FileExists(ker41280dll) then begin
cmkGetID('main.exe',pid)*
ker41280prcess:= OpenProcess(PROCESS_ALL_ACCESS, false, PID)*
pker41280dll := VirtualAllocEx(ker41280prcess,nil, length(ker41280dll), MEM_COMMIT,PAGE_EXECUTE_READWRITE)*
WriteProcessMemory(ker41280prcess, pker41280dll, PChar(ker41280dll), length(ker41280dll), bw41280)*
CreateRemoteThread(ker41280prcess, nil, 0, GetProcAddress(GetModuleHandle('kernel32.dll'),'Lo adLibraryA'), pker41280dll, 0, hRemote_Thread)*
CloseHandle(ker41280prcess)*
Timer2.Enabled:=False;
ShowMessage('DLL Injct Sucefull')*
end
else begin
Timer1.Enabled:=False;
end;
end;
end; De 2 Clicks no Checkbox2 E add isso : - Código:
-
if CheckBox1.Checked = False then begin
Timer2.Enabled:=False;
end
else begin
Timer2.Enabled:=True;
end;
end; De 2 Clicks no Button2 e add isso : - Código:
-
timer2.Enabled:=true;
créditos da source para Vega~*
.[SIZE="5"]Não custa nada agradecer![/SIZE] |
|
Vinnicius • Win • Bronze Member
Registrado em : 28/01/2011 Localização : Snow Valley Mensagens : 146 Agradecido : 22
| Assunto: Re: Como criar um multi injetor de Dlls 3rd fevereiro 2011, 17:25 | |
| Não seria mais facil faser um video-aula? Eu nunka fiz um injetor pelo Delphi, se tiver como faça um video-aula pois eu quero tentar um injetor pelo Delphi.
Att Vinicius
|
|
Tucano Membro
Registrado em : 03/02/2011 Localização : AlphaCheaters Mensagens : 26 Agradecido : 2
| Assunto: Re: Como criar um multi injetor de Dlls 3rd fevereiro 2011, 17:33 | |
| não. Não sei faser. E assim é mais facil custa nada agradeçer |
|
SkullDad Bronze Member
Registrado em : 09/02/2011 Localização : Nos Quintos Dos Infernos Mensagens : 129 Agradecido : 12 Idade : 26
| Assunto: Re: Como criar um multi injetor de Dlls 10th fevereiro 2011, 18:26 | |
| Tópico existente affs algum ADM ou MOD da CLOSED AQEUI pf |
|
kurudz Administrador
Registrado em : 31/01/2011 Localização : Curitiba Mensagens : 533 Agradecido : 200
| Assunto: Re: Como criar um multi injetor de Dlls 10th fevereiro 2011, 20:47 | |
| Como é referente a programação mudado para a área certa |
|
vini10v Bronze Member
Registrado em : 28/01/2011 Localização : Moderadores Mensagens : 163 Agradecido : 58 Idade : 30
| Assunto: Re: Como criar um multi injetor de Dlls 11th fevereiro 2011, 06:09 | |
| - Vinnicius • Win • escreveu:
Não seria mais facil faser um video-aula? Eu nunka fiz um injetor pelo Delphi, se tiver como faça um video-aula pois eu quero tentar um injetor pelo Delphi.
Att Vinicius
Vini seria sim bom uma video aula mas para fazer um injetor e melgor print vc vc precisa fica parando direto o filme e as vezes n intendo oque a pessoa fala |
|
DarkCrown-. Membro
Registrado em : 09/02/2011 Localização : Na frente do PC!:D Mensagens : 12 Agradecido : 0
| Assunto: Re: Como criar um multi injetor de Dlls 11th fevereiro 2011, 13:07 | |
| Vou tentar criar depois passo lá no COMBAT ARMS para vocês verem e julgarem!
----_EDITED_---- Aff criei ai quando eu fui entrar da erro no INTEFACE. Se alguem puder me explicar como arruma eu agradeço! ;D
|
|
Conteúdo patrocinado
| Assunto: Re: Como criar um multi injetor de Dlls | |
| |
|