Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ir para baixo
Yoko
Yoko
Membro Avançado
Membro Avançado
Registrado em : 25/03/2011
Posts : 881
Data de nascimento : 07/11/1988
Idade : 35

Criando Injetor de DLL Delphi Empty Criando Injetor de DLL Delphi

Seg Abr 18, 2011 10:07 pm
Criando Injetor de DLL Delphi

A injeção de dll pelo método simples consiste em:

1 - Pegar o address da API LoadLibraryA. Essa API carrega uma DLL no processo que a chamou. O address dessa API é o mesmo em todos os processos.
2 - Abrir o processo que se quer injetar a dll, com privilégios de acesso total.
3 - Alocar memória no processo alvo para guardar o caminho da DLL a ser injetada.
4 - Escrever no endereço alocado o caminho da DLL.
5 - Criar uma thread no processo alvo, com parametro sendo o ponteiro pra string alocada no processo alvo que contem o caminho da dll.
6 - Aguardar o termino da thread criada.
7 - Fazer a limpeza.

1 - Inicie um novo projeto no Delphi.

Adicione os seguintes componentes no form:

object Label1
object Edit1
object Label2
object Edit2
object Button1
object OpenDialog1
object Timer1
object Button2

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

Modificando vai ficar assim:

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

2 - Vá ao Code Explorer (View/Code Explorer) e declare a unit TlHelp32:

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

3 - Declare a seguinte função acima de "end.":

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

function GetPID(ProcessName: string): DWORD;
var MyHandle: THandle;
Struct: TProcessEntry32;
begin
Result:=0;
try
MyHandle:=CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0);
Struct.dwSize:=Sizeof(TProcessEntry32);
if Process32First(MyHandle, Struct) then
if Struct.szExeFile=ProcessName then
begin
Result:=Struct.th32ProcessID;
Exit;
end;
while Process32Next(MyHandle, Struct) do
if Struct.szExeFile=ProcessName then
begin
Result:=Struct.th32ProcessID;
Exit;
end;
except on exception do
Exit;
end;
end;


4 - Declare esta função logo abaixo da função declarada acima:

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 := GetProcAddress(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;
end;


5 - Agora volte ao Form e dê dois cliques no botão "Carregar". Então insira este algoritmo no evento OnClick dele:

if not OpenDialog1.Execute then Exit;
Edit2.Text:=OpenDialog1.FileName;


6 - Volte ao Form e dê dois cliques no botão "Injetar". No evento OnClick dele insira este código:

Timer1.Enabled:=True;

7 - Volte ao Form e dê dois cliques sobre o "Timer1". No evento OnClick dele insira este algorítmo:

var PID: DWORD;
begin
Timer1.Enabled:=False;
PID:=GetPID(Edit1.Text);
if PID=0 then
begin
Timer1.Enabled:=True;
Exit;
end;
Timer1.Enabled:=False;
if InjectDll(PID, Edit2.Text) 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);


8- Salve o Projeto
8 - Compile o projeto (F9)
10- Se tudo der certo um executável vai ser criado na pasta do projeto.

Tutorial Video

Espero que esse tutorial ajude muitos usuários do fórum.

Creditos
yoko


Última edição por Yoko em Ter Abr 19, 2011 6:37 pm, editado 3 vez(es)
Dr.[H]ouse
Dr.[H]ouse
Membro Avançado
Membro Avançado
Registrado em : 14/04/2011
Posts : 128
Data de nascimento : 15/05/1994
Idade : 29
Localização : PC

Criando Injetor de DLL Delphi Empty Re: Criando Injetor de DLL Delphi

Seg Abr 18, 2011 10:09 pm
Uu vlw yoko parabens vai ajuda muito
Yoko
Yoko
Membro Avançado
Membro Avançado
Registrado em : 25/03/2011
Posts : 881
Data de nascimento : 07/11/1988
Idade : 35

Criando Injetor de DLL Delphi Empty Re: Criando Injetor de DLL Delphi

Ter Abr 19, 2011 9:17 am
!Foox escreveu:Uu vlw yoko parabens vai ajuda muito

Cuidado com o passo 7
quando for colar o script, sempre o begin acaba repetindo duas vezes, ai vc deleta um, se não vc não vai conseguir compilar.
Natsu
Natsu
Membro Avançado
Membro Avançado
Registrado em : 28/03/2011
Posts : 550
Data de nascimento : 04/05/2001
Idade : 22
Localização : Bazinga
Humor : Alegremente Chato

Criando Injetor de DLL Delphi Empty Re: Criando Injetor de DLL Delphi

Ter Abr 19, 2011 11:51 am
valeu e tu prometeu que o proximo hack eu crio o injetor.
dps me passa a imagem do proximo hack aew fika conminando.
Hitoki
Hitoki
Membro Avançado
Membro Avançado
Registrado em : 13/12/2010
Posts : 646
Data de nascimento : 07/10/1992
Idade : 31
Localização : Computador
Humor : Engraçado

Criando Injetor de DLL Delphi Empty Re: Criando Injetor de DLL Delphi

Ter Abr 19, 2011 12:08 pm
Adorei o tópico, muito bom e com imagens ótimas, e tenho certeza que sendo você deve estar tudo direitinho no tópico, espero que até possa ser FIXADO.

Parabéns Yoko.
Yoko
Yoko
Membro Avançado
Membro Avançado
Registrado em : 25/03/2011
Posts : 881
Data de nascimento : 07/11/1988
Idade : 35

Criando Injetor de DLL Delphi Empty Re: Criando Injetor de DLL Delphi

Ter Abr 19, 2011 12:44 pm
Hitoki escreveu:Adorei o tópico, muito bom e com imagens ótimas, e tenho certeza que sendo você deve estar tudo direitinho no tópico, espero que até possa ser FIXADO.

Parabéns Yoko.

Eu fiz um tutorial usando meu próprio delphi7...
Se fizer tudo certinho é impossível errar...eu ja fiz e refiz varias vezes so pra garantir...rsrs
boa sorte!
Sub_Zero
Sub_Zero
Administrador
Administrador
Registrado em : 21/11/2010
Posts : 1742

Criando Injetor de DLL Delphi Empty Re: Criando Injetor de DLL Delphi

Ter Abr 19, 2011 1:49 pm
@Hitoki

Você é supervisor e se acha que o tópico merece ser Fixo, pode Fixar ele!

Fixado!

Yoko
Yoko
Membro Avançado
Membro Avançado
Registrado em : 25/03/2011
Posts : 881
Data de nascimento : 07/11/1988
Idade : 35

Criando Injetor de DLL Delphi Empty Re: Criando Injetor de DLL Delphi

Ter Abr 19, 2011 10:29 pm
Gente pro pessoal que tava me pedindo um vídeo explicativo...
eu coloquei no final do tópico...ta meio ruinzinho mas da pra entender!

Obs: O video termina na hora da compilação (problemas técnicos) mas depois que compila o injetor ela ja ta pronto...ok

Qualquer duvida e so manda os PM's de novo!!
Dr.[H]ouse
Dr.[H]ouse
Membro Avançado
Membro Avançado
Registrado em : 14/04/2011
Posts : 128
Data de nascimento : 15/05/1994
Idade : 29
Localização : PC

Criando Injetor de DLL Delphi Empty Re: Criando Injetor de DLL Delphi

Ter Abr 19, 2011 10:34 pm
ok pode deixa Very Happy
Near
Near
Membro Avançado
Membro Avançado
Registrado em : 24/11/2010
Posts : 345
Data de nascimento : 14/09/1996
Idade : 27
Humor : Ta tudo blz por aki =D

Criando Injetor de DLL Delphi Empty Re: Criando Injetor de DLL Delphi

Ter Abr 19, 2011 10:47 pm
Só podia ser o pc da Yoko mesmo, todo rosa xD

Santa paciência para fazer vídeo aula, ja fiz, só que eu não usei o bloco de notas para dar as instruções ( EU SOU MUITO BURRO ), fiz imagens no paint xD mas ficou muito bom, parabéns lol!
Sub_Zero
Sub_Zero
Administrador
Administrador
Registrado em : 21/11/2010
Posts : 1742

Criando Injetor de DLL Delphi Empty Re: Criando Injetor de DLL Delphi

Ter Abr 19, 2011 11:24 pm
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk

video-aula no paint essa é boa!

Yoko ótima video-aula vai ajudar muito!

Vanessa
Vanessa
Membro Avançado
Membro Avançado
Registrado em : 07/04/2011
Posts : 106
Data de nascimento : 01/01/1996
Idade : 28
Localização : Sp

Criando Injetor de DLL Delphi Empty Re: Criando Injetor de DLL Delphi

Qua Abr 20, 2011 11:22 am
o codigo ta errado yoko concerta
Natsu
Natsu
Membro Avançado
Membro Avançado
Registrado em : 28/03/2011
Posts : 550
Data de nascimento : 04/05/2001
Idade : 22
Localização : Bazinga
Humor : Alegremente Chato

Criando Injetor de DLL Delphi Empty Re: Criando Injetor de DLL Delphi

Qua Abr 20, 2011 1:51 pm
ta criei agora como boto a imagem de fundo?
Yoko
Yoko
Membro Avançado
Membro Avançado
Registrado em : 25/03/2011
Posts : 881
Data de nascimento : 07/11/1988
Idade : 35

Criando Injetor de DLL Delphi Empty Re: Criando Injetor de DLL Delphi

Qua Abr 20, 2011 3:12 pm
Vanessa escreveu:o codigo ta errado yoko concerta

Eu fiz a video aula usando o topico...
Se der algum erro talvez aconteça no passo 7, quando vc cola o script o BEGIN repete duas vezes ai vc apaga um.
Eu fiz isso no video tbm.

Vamo gente eu sei que vcs conseguem! love
Vanessa
Vanessa
Membro Avançado
Membro Avançado
Registrado em : 07/04/2011
Posts : 106
Data de nascimento : 01/01/1996
Idade : 28
Localização : Sp

Criando Injetor de DLL Delphi Empty Re: Criando Injetor de DLL Delphi

Seg Abr 25, 2011 12:28 pm
aff eu tem que ke intala a dll disponibiliza ai
Yoko
Yoko
Membro Avançado
Membro Avançado
Registrado em : 25/03/2011
Posts : 881
Data de nascimento : 07/11/1988
Idade : 35

Criando Injetor de DLL Delphi Empty Re: Criando Injetor de DLL Delphi

Seg Abr 25, 2011 1:06 pm
Vanessa escreveu:aff eu tem que ke intala a dll disponibiliza ai

Van! pra injetar a DLL vc pode usar esse injetor

Subinjetor
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
GuiPilatti
GuiPilatti
Membro Novo
Membro Novo
Registrado em : 23/07/2011
Posts : 1
Data de nascimento : 10/09/1988
Idade : 35
Localização : Porto Alegre

Criando Injetor de DLL Delphi Empty Re: Criando Injetor de DLL Delphi

Sáb Jul 23, 2011 6:42 pm
O meu da erro no:
Código:
var PID: DWORD;
Porque Sera q Da Esse Erro?
Conteúdo patrocinado

Criando Injetor de DLL Delphi Empty Re: Criando Injetor de DLL Delphi

Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos