Jump to content

Turbine o seu Perfil

Confira a atualização e participe do clube!
Clique e saiba mais

Junte-se ao Clube de Membros VIP

Tenha destaque e diversos benefícios!
Confira Aqui

Acesse nosso Discord

Conheça nossos canais interativos
Confira Aqui
Notícia
  • Adquira já o seu VIP!
Sign in to follow this  
GuiMaker

[DELPHI]Como criar Injetor de dll ultra pratico e rápido

Recommended Posts

Requerimentos

 

Para criarmos o injetor de dll precisaremos de :

 

-Delphi 7

-Paciência

 

Se você tem tudo da receita,com certeza irá conseguir.

 

Criando o Injetor

 

1-) Crie um novo projeto no Delphi. ( File → New → Application )

 

2-) Adicione os seguintes componentes ao seu F-O-R-M :

 

1 Edit;

1 Listbox;(Esconda o listbox no canto ou tal,e mude visible para false)

1 Opendialog;

2 Button's;(ponha o caption do button1 como "Procurar dll" e do outro "Pronto para uso!")

1 Timer;

1 Gauge(pra quem não sabe aba Samples);

1 *****;(ponha o caption como "Processo :");

 

Organize desse jeito :

 

injetordedlltutorial.png

 

3-) Nas uses adicione : "TlHelp32" sem as aspas.

 

4-) Abaixo de :

 

implementation

{$R *.dfm}

 

adicione :

 

uses sStoreUtils;

function GetPID(ProcessName: string): DWORD;  //Função obter o ID do Processo (PID)
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;


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;
 end;


 

5-) Agora dê 2 clicks no Timer.Apague o "Begin e o End;" e substitua por :

 

var PID: DWORD;
begin
Timer1.Enabled:=True;
PID:=GetPID(Edit1.Text);
if PID=0 then
 begin
 Timer1.Enabled:=True;
 Exit;
 end;
Timer1.Enabled:=False;
if InjectDll(PID, Opendialog1.Filename) then
begin
 MessageBoxA(Handle, 'DLL injetada com sucesso!', 'Sucesso!', MB_ICONEXCLAMATION+MB_SYSTEMMODAL);
 form1.close;
 end
else
begin
 MessageBoxA(Handle, 'Erro!', 'Falha!', MB_ICONERROR+MB_SYSTEMMODAL);
 form1.close;
 end
 end;

 

6-) Dê 2 clicks no button1 e adicione o seguinte código :

 

if not OpenDialog1.Execute then Exit;
Listbox1.Items.***(ExtractFileName(OpenDialog1.FileName));
button1.Enabled:=false;
button2.Enabled:=true;

 

7-) Agora dê 2 clicks no button2 e adicione o seguinte código :

 

button2.Enabled:=false;
gauge1.Progress:= 5;
sleep(100);
gauge1.Progress:= 10;
sleep(100);
gauge1.Progress:= 15;
sleep(100);
gauge1.Progress:= 20;
sleep(100);
gauge1.Progress:= 25;
sleep(100);
gauge1.Progress:= 30;
sleep(100);
gauge1.Progress:= 35;
sleep(100);
gauge1.Progress:= 40;
sleep(100);
gauge1.Progress:= 45;
sleep(100);
gauge1.Progress:= 50;
sleep(100);
gauge1.Progress:= 55;
sleep(100);
gauge1.Progress:= 60;
sleep(100);
gauge1.Progress:= 65;
sleep(100);
gauge1.Progress:= 70;
sleep(100);
gauge1.Progress:= 75;
sleep(100);
gauge1.Progress:= 80;
sleep(100);
gauge1.Progress:= 85;
sleep(100);
gauge1.Progress:= 90;
sleep(100);
gauge1.Progress:= 95;
sleep(100);
gauge1.Progress:= 100;
Listbox1.Items.***(ExtractFileName(OpenDialog1.FileName));
Timer1.Enabled:= True;
showmessage('Agora abra o Programa!');

 

8-) Agora dê 2 clicks no F-O-R-M e adicione o código :

 

button2.Enabled:= false;
timer1.Enabled:= false;

 

Pronto!Injetor de dll criado!Esse injetor não precisa executar como adminstrador ok?Eu vi um post de uma source de um injetor de dll avançado mas ele tinha opções,então eu modifiquei os códigos...deixei somente com a opção automático,então,NÃO precisa por créditos,só se quiser...Obrigado pessoal e até o próximo tutorial!

@Agora sim...Créditos : ~Ryokusei

Share this post


Link to post
Share on other sites

Nossa, cara !

Muito bom mesmo esse injector, com certeza vou fazer um e postar o resultado depois !

Belo tópico em xD !

Share this post


Link to post
Share on other sites
Nossa, cara !

Muito bom mesmo esse injector, com certeza vou fazer um e postar o resultado depois !

Belo tópico em xD !

 

Obrigado mano valeu!

Share this post


Link to post
Share on other sites

Bem o tópico está muito bom mas há um contéudo semelhante o seu na área bem aqui.

 

Da próxima vez utilize a ferramenta pesquisar para evitar problemas :)

Share this post


Link to post
Share on other sites
Bem o tópico está muito bom mas há um contéudo semelhante o seu na área bem aqui.

 

Da próxima vez utilize a ferramenta pesquisar para evitar problemas :)

 

Agora sei quem devo colocar os créditos...obrigado kk,só fiz algumas "modificações"..vou arrumar o tópico e por créditos

Share this post


Link to post
Share on other sites

tem como colocar o link de download do delphi

 

Não acho de jeito nenhum no google e em nenhum site ta tenso ! ajuda ai

Share this post


Link to post
Share on other sites

pode posta seu projeto feito só pra min edita sua interface e compilar ?? plz

 

eu num consigu fazer nem um injeto se você fizer e uploar seu projeto pra min edita estarei grato

Share this post


Link to post
Share on other sites

Acusa erro na parte em baixo dos implementos nessa parte:

 

uses sStoreUtils;

Share this post


Link to post
Share on other sites

''Caro Amigo , Criando o Injector Tudo bem , Mais o Hacker está sempre Atualizando as .dll é bah .

Entao é Preciso Atualizar o Injector Também , Se Poderia Dizer como o Atualiza , é postar pra galera como criar as .dll também que é bem útil ,

não adianta ter um Injector é não saber fazer as .dll , é postar o Link de Download do Delphi .

Obrigado por Compartilhar !"


"A mente que se abre a uma nova ideia jamais voltará ao seu tamanho original."

 

 

Albert Einstein

Share this post


Link to post
Share on other sites

Aqui neste tópico estarei ensinando só como fazer,as outras coisas que você disse não é comigo.

Share this post


Link to post
Share on other sites

Cara , sério mesmo.

Eu tenho uma experiencia em vb.2008

Porém o Delphi é bom você estudar antes de usalo porque

é como aprender uma lingua...

Eu vou tentar ampliar mais meu Injetor.

Vlw por compp


Cuidado com o mal que prática, o perdão vem de Deus e as consequências vem da vida...

Share this post


Link to post
Share on other sites

Caro rondoshot,

 

Ressuscitar tópicos significa postar em um tópico que há muito tempo, 30 dias ou mais na Info Zone, não recebe posts.

 

É importante para nós que você não poste em tópicos antigos para evitar que um tópico desta natureza ou não tão importante fique entre os primeiros na área dificultando a busca dos demais membros.

 

  • Se o objetivo é apenas agradecer utilize o botão para este fim.
  • Se o objetivo é esclarecer dúvida referente ao tópico busque a área de Dúvida/Ajuda, crie um tópico, liste sua dúvida e post um link para o tópico em questão.
  • Se o objetivo for reportar tópico irregular clique no botão reportar.

 

Caso tenha alguma dúvida sobre tema, contacte um moderador.

 

Qualquer dúvida sobre as regras gerais do fórum, leia:

 

 

Tópico Ressuscitado

FECHADO


Assinatura-Goldens-novas-asas_zps7f1ca424.png

"Rerum cognoscere causas."

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×
×
  • Create New...