Criando Injetor de DLL Delphi

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Criando Injetor de DLL Delphi

Mensagem por Yoko em 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

[Você precisa estar registrado e conectado para ver esta imagem.]

Modificando vai ficar assim:

[Você precisa estar registrado e conectado para ver esta imagem.]

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

[Você precisa estar registrado e conectado para ver esta imagem.]

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

[Você precisa estar registrado e conectado para ver 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
[Você precisa estar registrado e conectado para ver este link.]

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)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

Presentes e Trabalhos
Spoiler:

Presente do Luan
[Você precisa estar registrado e conectado para ver esta imagem.]
Presente Mikuo
[Você precisa estar registrado e conectado para ver esta imagem.]
Feitas por mim
[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]


Fan Bar[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]

Apoio
?

Metas
Ser Feliz no Forum (X)
Ser Feliz em Casa (X)
Ser Feliz na Faculdade (X)
Ser Feliz no Estagio (X)
Ser feliz no Shopping (X)
Fazer todo mundo Feliz (Loading)
avatar
Yoko
Membro Avançado
Membro Avançado

Registrado em : 25/03/2011
Posts : 881
Data de nascimento : 07/11/1988
Idade : 29

Voltar ao Topo Ir em baixo

Re: Criando Injetor de DLL Delphi

Mensagem por Dr.[H]ouse em Seg Abr 18, 2011 10:09 pm

Uu vlw yoko parabens vai ajuda muito

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[Você precisa estar registrado e conectado para ver esta imagem.]
É uma verdade básica da condição humana que todo mundo mente. A única variável é sobre o quê.
[Você precisa estar registrado e conectado para ver esta imagem.]
avatar
Dr.[H]ouse
Membro Avançado
Membro Avançado

Registrado em : 14/04/2011
Posts : 128
Data de nascimento : 15/05/1994
Idade : 23
Localização : PC

Voltar ao Topo Ir em baixo

Re: Criando Injetor de DLL Delphi

Mensagem por Yoko em 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.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

Presentes e Trabalhos
Spoiler:

Presente do Luan
[Você precisa estar registrado e conectado para ver esta imagem.]
Presente Mikuo
[Você precisa estar registrado e conectado para ver esta imagem.]
Feitas por mim
[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]


Fan Bar[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]

Apoio
?

Metas
Ser Feliz no Forum (X)
Ser Feliz em Casa (X)
Ser Feliz na Faculdade (X)
Ser Feliz no Estagio (X)
Ser feliz no Shopping (X)
Fazer todo mundo Feliz (Loading)
avatar
Yoko
Membro Avançado
Membro Avançado

Registrado em : 25/03/2011
Posts : 881
Data de nascimento : 07/11/1988
Idade : 29

Voltar ao Topo Ir em baixo

Re: Criando Injetor de DLL Delphi

Mensagem por Natsu em 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.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'A vida pode te passar a perna'

My Sing
[Você precisa estar registrado e conectado para ver esta imagem.]
Meu Fan ? Use Minha Sing
Oia eu no S4 nb nem riam.
[Você precisa estar registrado e conectado para ver esta imagem.]
avatar
Natsu
Membro Avançado
Membro Avançado

Registrado em : 28/03/2011
Posts : 550
Data de nascimento : 04/05/2001
Idade : 16
Localização : Bazinga
Humor : Alegremente Chato

Voltar ao Topo Ir em baixo

Re: Criando Injetor de DLL Delphi

Mensagem por Hitoki em 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.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Minha Sign:
[Você precisa estar registrado e conectado para ver esta imagem.]

Amigos, a vida é uma sinuca, e eu confio no meu taco.

[Você precisa estar registrado e conectado para ver esta imagem.]
avatar
Hitoki
Membro Avançado
Membro Avançado

Registrado em : 13/12/2010
Posts : 646
Data de nascimento : 07/10/1992
Idade : 25
Localização : Computador
Humor : Engraçado

Voltar ao Topo Ir em baixo

Re: Criando Injetor de DLL Delphi

Mensagem por Yoko em 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!

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

Presentes e Trabalhos
Spoiler:

Presente do Luan
[Você precisa estar registrado e conectado para ver esta imagem.]
Presente Mikuo
[Você precisa estar registrado e conectado para ver esta imagem.]
Feitas por mim
[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]


Fan Bar[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]

Apoio
?

Metas
Ser Feliz no Forum (X)
Ser Feliz em Casa (X)
Ser Feliz na Faculdade (X)
Ser Feliz no Estagio (X)
Ser feliz no Shopping (X)
Fazer todo mundo Feliz (Loading)
avatar
Yoko
Membro Avançado
Membro Avançado

Registrado em : 25/03/2011
Posts : 881
Data de nascimento : 07/11/1988
Idade : 29

Voltar ao Topo Ir em baixo

Re: Criando Injetor de DLL Delphi

Mensagem por Sub_Zero em Ter Abr 19, 2011 1:49 pm

@Hitoki

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

Fixado!


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
A vida pode te derrubar, mas você decide quando é hora de levantar.

Meu fãn ? Use !

[Você precisa estar registrado e conectado para ver esta imagem.]


[Você precisa estar registrado e conectado para ver esta imagem.]
avatar
Sub_Zero
Administrador
Administrador

Registrado em : 21/11/2010
Posts : 1742

Voltar ao Topo Ir em baixo

Re: Criando Injetor de DLL Delphi

Mensagem por Yoko em 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!!

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

Presentes e Trabalhos
Spoiler:

Presente do Luan
[Você precisa estar registrado e conectado para ver esta imagem.]
Presente Mikuo
[Você precisa estar registrado e conectado para ver esta imagem.]
Feitas por mim
[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]


Fan Bar[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]

Apoio
?

Metas
Ser Feliz no Forum (X)
Ser Feliz em Casa (X)
Ser Feliz na Faculdade (X)
Ser Feliz no Estagio (X)
Ser feliz no Shopping (X)
Fazer todo mundo Feliz (Loading)
avatar
Yoko
Membro Avançado
Membro Avançado

Registrado em : 25/03/2011
Posts : 881
Data de nascimento : 07/11/1988
Idade : 29

Voltar ao Topo Ir em baixo

Re: Criando Injetor de DLL Delphi

Mensagem por Dr.[H]ouse em Ter Abr 19, 2011 10:34 pm

ok pode deixa Very Happy

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[Você precisa estar registrado e conectado para ver esta imagem.]
É uma verdade básica da condição humana que todo mundo mente. A única variável é sobre o quê.
[Você precisa estar registrado e conectado para ver esta imagem.]
avatar
Dr.[H]ouse
Membro Avançado
Membro Avançado

Registrado em : 14/04/2011
Posts : 128
Data de nascimento : 15/05/1994
Idade : 23
Localização : PC

Voltar ao Topo Ir em baixo

Re: Criando Injetor de DLL Delphi

Mensagem por Near em 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!

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Não me importo que me olhe da cabeça aos pés. Pois nunca fará minha cabeça e nunca chegará aos meus pés.

[Você precisa estar registrado e conectado para ver esta imagem.]

Meu fã? Ta ai a Fan Bar =D

[Você precisa estar registrado e conectado para ver esta imagem.]

Sou fã desses xD
[Você precisa estar registrado e conectado para ver esta imagem.]
avatar
Near
Membro Avançado
Membro Avançado

Registrado em : 24/11/2010
Posts : 345
Data de nascimento : 14/09/1996
Idade : 21
Humor : Ta tudo blz por aki =D

Voltar ao Topo Ir em baixo

Re: Criando Injetor de DLL Delphi

Mensagem por Sub_Zero em Ter Abr 19, 2011 11:24 pm

kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk

video-aula no paint essa é boa!

Yoko ótima video-aula vai ajudar muito!


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
A vida pode te derrubar, mas você decide quando é hora de levantar.

Meu fãn ? Use !

[Você precisa estar registrado e conectado para ver esta imagem.]


[Você precisa estar registrado e conectado para ver esta imagem.]
avatar
Sub_Zero
Administrador
Administrador

Registrado em : 21/11/2010
Posts : 1742

Voltar ao Topo Ir em baixo

Re: Criando Injetor de DLL Delphi

Mensagem por Vanessa em Qua Abr 20, 2011 11:22 am

o codigo ta errado yoko concerta

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[Você precisa estar registrado e conectado para ver esta imagem.]
avatar
Vanessa
Membro Avançado
Membro Avançado

Registrado em : 07/04/2011
Posts : 106
Data de nascimento : 01/01/1996
Idade : 21
Localização : Sp

Voltar ao Topo Ir em baixo

Re: Criando Injetor de DLL Delphi

Mensagem por Natsu em Qua Abr 20, 2011 1:51 pm

ta criei agora como boto a imagem de fundo?

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'A vida pode te passar a perna'

My Sing
[Você precisa estar registrado e conectado para ver esta imagem.]
Meu Fan ? Use Minha Sing
Oia eu no S4 nb nem riam.
[Você precisa estar registrado e conectado para ver esta imagem.]
avatar
Natsu
Membro Avançado
Membro Avançado

Registrado em : 28/03/2011
Posts : 550
Data de nascimento : 04/05/2001
Idade : 16
Localização : Bazinga
Humor : Alegremente Chato

Voltar ao Topo Ir em baixo

Re: Criando Injetor de DLL Delphi

Mensagem por Yoko em 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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

Presentes e Trabalhos
Spoiler:

Presente do Luan
[Você precisa estar registrado e conectado para ver esta imagem.]
Presente Mikuo
[Você precisa estar registrado e conectado para ver esta imagem.]
Feitas por mim
[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]


Fan Bar[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]

Apoio
?

Metas
Ser Feliz no Forum (X)
Ser Feliz em Casa (X)
Ser Feliz na Faculdade (X)
Ser Feliz no Estagio (X)
Ser feliz no Shopping (X)
Fazer todo mundo Feliz (Loading)
avatar
Yoko
Membro Avançado
Membro Avançado

Registrado em : 25/03/2011
Posts : 881
Data de nascimento : 07/11/1988
Idade : 29

Voltar ao Topo Ir em baixo

Re: Criando Injetor de DLL Delphi

Mensagem por Vanessa em Seg Abr 25, 2011 12:28 pm

aff eu tem que ke intala a dll disponibiliza ai

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[Você precisa estar registrado e conectado para ver esta imagem.]
avatar
Vanessa
Membro Avançado
Membro Avançado

Registrado em : 07/04/2011
Posts : 106
Data de nascimento : 01/01/1996
Idade : 21
Localização : Sp

Voltar ao Topo Ir em baixo

Re: Criando Injetor de DLL Delphi

Mensagem por Yoko em 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
[Você precisa estar registrado e conectado para ver este link.]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

Presentes e Trabalhos
Spoiler:

Presente do Luan
[Você precisa estar registrado e conectado para ver esta imagem.]
Presente Mikuo
[Você precisa estar registrado e conectado para ver esta imagem.]
Feitas por mim
[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]


Fan Bar[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]

Apoio
?

Metas
Ser Feliz no Forum (X)
Ser Feliz em Casa (X)
Ser Feliz na Faculdade (X)
Ser Feliz no Estagio (X)
Ser feliz no Shopping (X)
Fazer todo mundo Feliz (Loading)
avatar
Yoko
Membro Avançado
Membro Avançado

Registrado em : 25/03/2011
Posts : 881
Data de nascimento : 07/11/1988
Idade : 29

Voltar ao Topo Ir em baixo

Re: Criando Injetor de DLL Delphi

Mensagem por GuiPilatti em Sab Jul 23, 2011 6:42 pm

O meu da erro no:
Código:
var PID: DWORD;
Porque Sera q Da Esse Erro?
avatar
GuiPilatti
Membro Novo
Membro Novo

Registrado em : 23/07/2011
Posts : 1
Data de nascimento : 10/09/1988
Idade : 29
Localização : Porto Alegre

Voltar ao Topo Ir em baixo

Re: Criando Injetor de DLL Delphi

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum