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.

[Tutorial] Criando Um Utilities No Delphi Com Injetor De DLL [DELPHI]


~ Heatlex.
 Compartilhar

Posts Recomendados

Bom Pessoal , Hoje Estarei Aqui Ensinando A Criar Um Utilities No Delphi Com Injetor De DLL Para Grand Chase

 

Dividirei O Tópico em 4 Partes

 

1º - Ajeitando a Form (Designe , ... )

2º - Injetor De DLL

3º - Utilities

4º - Atualizador de Grand Chase

 

__________________________________________________________________________________________

1º Parte - Ajeitando a Form

 

 

Bom Primeiramente Abra Sua Form , em Caption , Mude o Nome Da Form Para o Nome do Seu Utilities (ex:super utilities)

Ficara Assim :

 

M5hgl.png

 

Depois disso , Veja o Tamanho Que Você Vai Ocupar Na Form Com Sua Imagem e Faça ela

Depois de Faze - la va em Additional , Image e Selecione o Tamanho q vai ocupar na form e em Picture Procura Sua Imagem

___________________________________________________________________________________________

2º Parte - Injetor de DLL

 

Depois de Ter Colocado a Imagem , Em Win32 Adicione um Page Control

Clique nele com botão direito e clique em New Page e Renomeie Para Injetor De DLL

Nessa Aba Do Page Control Adicione os Compontentes :

 

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

2- Labels - 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

 

Ficara mais ou menos Assim :

 

pfk8c.png

 

Quote

De dois cliques no form 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_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;

 

 

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 := 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;

 

 

 

 

Quote

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

 

if not OpenDialog1.Execute then Exit;

Listbox1.Items.Add(ExtractFileName(OpenDialog1.FileName));

 

 

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

 

Timer1.Enabled:=True;

 

 

De dois cliques no Timer e adicione:

Obs: Apague o begin.

 

 

var PID: DWORD;

begin

Timer1.Enabled:=False;

 

if PID=0 then

begin

Timer1.Enabled:=True;

Exit;

end;

Timer1.Enabled:=False;

 

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

 

end;

 

end.

 

 

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

 

ListBox1.Clear

 

 

Injetor de DLL Criado

_____________________________________________________________________________________________

3º Parte - Utilities

 

Clique Com Botão Direito no Page Control e Clique Em New Page e Renomeie Para Utlities

Adicione :

 

4 Buttons (Localizado em Standard ) :

 

Renomeie o 1º Para Limpar Logs e Adicione o Seguinte Código :

 

deletefile ('C:\Level Up Games\Grand Chase\ScreenShot ')

 

Ativar Quando o Patch Estiver 100% Para Excluir a Pasta e Não ir Para Level Up

 

Renomeie o 2º Para Resolver Erro Do NProtect e Adicione o Seguinte Código :

 

deletefile ('C:\Level Up Games\Grand Chase\NProtect ')

 

Ativar Antes Do Patch Para Ele Atualizar a Pasta

 

No 3º Renomeie para Renovar IP E Adicione o Seguinte Código :

 

WinExec('cmd /C ipconfig /renew',SW_SHOW);

WinExec('cmd /C ipconfig /release',SW_SHOW);

 

 

Renomeie o 2º Button Para Registrar DNS E Adicione o Seguinte Código :

 

WinExec('cmd /C ipconfig /registerdns',SW_SHOW);

 

 

Ficara Assim :

 

 

 

hgyCu.png

 

4º Parte - Autalizador De Grand Chase

 

Introdução :

 

Vcs ira baixar 1 arquivo e por na pasta lib do delphi.

 

Download :

 

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

 

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

 

Códigos :

Adicione 2 buttons, 1 edit e no 1 coloque abrir gc sem atualizar!

 

var

TituloDoPrograma: string;

TextoAEnviar: string;

begin

TituloDoPrograma := 'Executar';

 

if AppActivate(PChar(TituloDoPrograma)) then

begin

TextoAEnviar := edit1.Text+'\grandchase.exe';

SendKeys(PChar(TextoAEnviar), True); //<-- ENVIA O USUARIO PARA O EDIT

SendKeys(PChar('{TAB}'), false);

 

 

SendKeys(PChar('{ENTER}'), false); //<-- DA UM ENTER NO BOTAO

end;

end;

 

 

No outro :

Caption = Atualizar GC em, manutençao!

 

var

TituloDoPrograma: string;

TextoAEnviar: string;

begin

TituloDoPrograma := 'Executar';

 

if AppActivate(PChar(TituloDoPrograma)) then

begin

TextoAEnviar := edit1.Text+'\grandchase.exe __kogstudios_skip_patchtimecheck__';

SendKeys(PChar(TextoAEnviar), True); //<-- ENVIA O USUARIO PARA O EDIT

SendKeys(PChar('{TAB}'), false); // <-- ENVIA TAB PARA IR PARA O CAMPO SENHA

SendKeys(PChar('{ENTER}'), false); //<-- DA UM ENTER NO BOTAO

end;

 

 

Entendendo a coisa :

Abre o executar e clique em 1 dos buttons , para atualizar o gc em manutenção!

Edit1.Text = local do gc

 

UTILITES CRIADO : D

 

Créditos : Grown

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.