Ir para conteúdo
Faça parte da equipe! (2024) ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

[tutorial]Criando Um Injector De DLLs


-BliG.
 Compartilhar

Posts Recomendados

Olá pessoal, vim trazer a vocês como criar um injector.

 

Complementos:

 

Linguagem : Delphi (Delphi 7 Utilizado no tutorial);

Compatibilidade: Windows Xp

Windows Vista

Windows Seven

(Outros Windows como Me,95,98,2000...)

Conteúdo: Injector De DLLs;

Nível De Conhecimento: Básico/Intermediário;

 

Adicione os seguintes componentes:

2- GroupBox - Renomeia a 1 como "Configurações" e a segunda como "Injeção".

2- *****s - O primeiro escrito "Processo" e o Segundo "Dll".

3- Buttons - O primeiro escrito "Aguardar..."(Voce pode substituir por um RadioButton escrito Automatico) o segundo "Procurar" e o terceiro "Limpar Lista".

1- Listbox

1- Timer

1- OpenDialog

 

Tente deixar ele mais ou menos assim:

 

assim.png

 

De dois cliques no fo_r m e declare nas uses TlHelp32.

 

Declare a função acima de end. :

 

function GetPID(ProcessName: string): DWORD;

var MyHandle: THandle;

Struct: TProcessEntry32;

 

begin

Result:=0;

try

MyHandle:=CreateToolHelp32SnapShot(TH32CS_SNAPPROC ESS, 0);

Struct.dwSize:=Sizeof(TProcessEntry32);

f Process32First(MyHandle, Struct) then

if Struct.szExeFile=ProcessName then

begin

Result:=Struct.th32ProcessID;

Exit;

end;

while Process32Next(MyHandle, Struct) do

f Struct.szExeFile=ProcessName then

begin

Result:=Struct.th32ProcessID;

Exit;

end;

except on exception do

Exit;

end;

end;

 

003dz.png

 

Abaixo da função declarada acima, declare :

 

function InjectDll(PID:DWORD; sDll:string):Boolean;

var

hLib: Pointer;

hThread: THandle;

pMod: Pointer;

hOpen: THandle;

dWritten: Cardinal;

ThreadID: Cardinal;

begin

Result := FALSE;

hOpen := OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID);

if hOpen INVALID_HANDLE_VALUE then

begin

hLib := GetProc***ress(GetModuleHandle(PChar('kernel32.dll ')), PChar('LoadLibraryA'));

pMod := VirtualAllocEx(hOpen, nil, Length(sDll) + 1, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE);

if WriteProcessMemory(hOpen, pMod, @sDll[1], Length(sDll), dWritten) then

Result := TRUE;

hThread := CreateRemoteThread(hOpen, nil, 0, hLib, pMod, 0, ThreadID);

WaitForSingleObject(hThread, INFINITE);

CloseHandle(hOpen);

CloseHandle(hThread);

end;

 

Clique 2 vezes no botão "Procurar" e adicione o seguinte código:

 

É necessário se cadastrar para acessar o conteúdo.

 

De dois cliques no botão "Aguardar..." e adicione:

 

Timer1.Enabled:=True;

 

006w.png

 

De dois cliques no Timer e adicione:

Obs: Apague o begin.

 

var PID: DWORD;

begin

Timer1.Enabled:=False;

PID:=GetPID(Edit1.Text);

f PID=0 then

begin

Timer1.Enabled:=True;

Exit;

end;

Timer1.Enabled:=False;

if InjectDll(PID, Opendialog1.Filename) then

MessageBoxA(Handle, 'DLL injetada com sucesso!', 'DLL Injector', MB_ICONEXCLAMATION+MB_SYSTEMMODAL)

else

MessageBoxA(Handle, 'Erro ao injetar DLL.', 'DLL Injector', MB_ICONERROR+MB_SYSTEMMODAL);

 

007z.png

 

No botão Limpar Lista Adicione o seguinte código:

 

ListBox1.Clear

 

Agora para configurar o Opendialog para abrir somente .dlls clique no openDialog e no canto esquerdo procure por Filter e clique em "..." La coloque:

 

Filename: Dll ------------------------ Filter: *.dll

 

Source: ("Off" Devido ao fechamento do "megaupload",Não irei repostar a source pois não tenho ela no momento;Para fazer o injector terão que faze-lo conforme o tutorial acima,obg,pela compreenção;)

 

Creditos

 

YaGoPrOx

Link para o comentário
Compartilhar em outros sites

Nossa, aqui já existe vários tutorias de como fazer um injetor de dll...

Mais um a lista :D

Belo tutorial.

 

Att ~Águia

You can spend minutes, hours, days, weeks, or even months over-analyzing a situation; trying to put the pieces together, justifying what could've, would've happened... or you can just leave the pieces on the floor and move the fuck on.

― Tupac Shakur

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.