PDA

View Full Version : |Tutorial| Hook no Main (Insira ou remova sua própria DLL)



Lucas M.
25/01/2015, 12:50 AM
Ola galera, resolvi compartilhar uma experiência que tive recentemente com cliente de MuOnline.
Como estou desenvolvendo um MuServer e (2) clientes para o mesmo, resolvi criar um projeto para eles.

Antes de começarmos, gostaria de destacar que há varias maneiras de inserir uma DLL em qualquer arquivo .exe,
mas pelo que andei testando, algumas não dão certo ou simplesmente apresentam falhas em alguns casos.

Também gostaria de deixar anexado ao post um projeto em C++ para que você consiga programar seu próprio cliente.
Gostaria ainda de destacar que o tutorial a seguir serve para vários Mains, se algum não funcionar gostaria que deixasse aqui qualquer informação


Vamos ao que interessa:

Primeiramente, vocês vão precisar do programa DLib Attacher ([Only registered and activated users can see links]),
ele quem vai inserir ou 'injetar' a DLL no seu main.exe.

Após realizado o download, execute o programa (Como administrador se usa Windows 7+), e você vai ver essa tela:
[Only registered and activated users can see links]

Em seguida, você só vai precisar escolher o local do seu main.exe,
para isso clique em [...], e escolha o main.exe do seu cliente:
[Only registered and activated users can see links]

Feito isso ele vai indiciar que o main.exe foi carregado, logo após temos algumas opções,
deixe como especificado na imagem abaixo:
[Only registered and activated users can see links]

Logo após, clique na opção [add], e configure conforme a imagem:
[Only registered and activated users can see links]

Depois clique em submit, e a seguir o programa deve ficar dessa forma:
[Only registered and activated users can see links]

Se o programa estiver dessa forma, basta clicar em [Attach] para o Main estar hooked,
e você vai ver a mensagem:
[Only registered and activated users can see links]

Tudo pronto! seu main esta apto a carregar a DLL especificada.

Concordo plenamente que há varias maneiras de carregar uma DLL,
mas essa para mim foi a mais fácil, e ate mostra errros casso a DLL nao for encontrada pelo main.exe:
[Only registered and activated users can see links]

Ao contrario de mostrar aquela mensagem horrorosa do *Ruwindows

E ainda o programa oferece a oportunidade de remover o Hook (SIM, REMOVER A DLL INJETADA POR ELE!)
Para isso basta você abrir novamente o main, e clicar no botão [Detach].

E ainda tem mais, você não precisa necessariamente iniciar uma função na DLL,
já que quando se cria uma Dynamic Link Library, o visual studio cria uma função APIENTRY DllMain.

Que vai ser carregada quando o main iniciar, mas isso fica para um outro post

Download do projeto Visual Studio 2010 para seu main
[Only registered and activated users can see links]

Moderação, por favor deixem o segundo post reservado tenho mais conteúdo para colocar nele.
Pois preciso deixar a outra opção de não carregar a Procedure e ainda por cima alguns códigos da DLL

Oh claro os créditos: JKornev

Bom Hook

Foguinho
25/01/2015, 10:21 AM
Ótimo Tutorial. Muito Pratico e Fácil ..! :D

splound
05/04/2015, 02:22 AM
O único problema dlib Attacher é que não é compatível com MoleBox. A dll é sempre do lado de fora.

Marco_Aurélio
13/11/2015, 02:55 PM
ola galera, resolvi compartilhar uma experiência que tive recentemente com cliente de muonline.
Como estou desenvolvendo um muserver e (2) clientes para o mesmo, resolvi criar um projeto para eles.
bom hook

sera que poderia fazer um hook e a source inicial para o main season9 mublue que tem na rz int.

TheFury
10/03/2017, 12:00 AM
Teria como alterar fonte do main fazendo Hook nova DLL.?

richardj
10/03/2017, 01:46 PM
Os Links todos estão OffLine