Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

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

[Dica] Criando Injector de dll 100% - Método Oficial [DELPHI]


~ Heatlex.
 Compartilhar

Posts Recomendados

Primeiramente esse metodo é diferente

Segundo Adicione:

 

1timer

1checkBox

2Edits

2Label

 

 

 

Apague tudo dos os textos de dentro dos Edits

Renome-e o label 1 para:

Processo .

E o label 2 para:

Diretório da dll.

 

Ejeite seu Formulario como for.

 

Declare nas uses:

 

TlHelp32, ShellAPI

 

 

 

 

 

abaixo de {$R *.dfm}

 

declare a função:

 

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;

 

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;

 

 

 

 

 

No timer 1 Mude o interval dele para 40 e enabled dele para false e o evento OnTimer Do timer1 Apague Begin e end;

e adicione

 

var PID: DWORD;

begin

PID:=GetPID(Edit1.Text);

if PID=0 then

begin

Timer1.Enabled:=True;

Exit;

end;

if InjectDll(PID, Edit2.Text) then begin

 

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

end

else begin

 

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

close;

end;

Timer1.Enabled:=False;

end;

 

 

 

 

 

No checkBox1 Dê 2cliques e adicione

 

if checkbox1.Checked=true THEN

TIMER1.Enabled:=True

else

Timer1.Enabled:=False

 

 

 

Créditos: ~Tio Lee!

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.