Ir ao conteúdo
  • Cadastre-se

Dll


Fir3element

Posts recomendados

Estou usando um injetor de DLL, aqui a função:


BOOL Inject(DWORD pID, const char * DLL_NAME)
{
HANDLE Proc;
HMODULE hLib;
char buf[50] = {0};
LPVOID RemoteString, LoadLibAddy;

if(!pID)
return false;

Proc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pID);
if(!Proc)
return false;

LoadLibAddy = (LPVOID)GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");

// Allocate space in the process for our DLL
RemoteString = (LPVOID)VirtualAllocEx(Proc, NULL, strlen(DLL_NAME), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);

// Write the string name of our DLL in the memory allocated
WriteProcessMemory(Proc, (LPVOID)RemoteString, DLL_NAME, strlen(DLL_NAME), NULL);

// Load our DLL
CreateRemoteThread(Proc, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibAddy, (LPVOID)RemoteString, NULL, NULL);

CloseHandle(Proc);
}

Dai queria fazer uma dll pra impedir que o injetor funcione (anti dll injection), mas não tá funcionando :(, ja tentei mudar o nome da dll, função etc mas nada funciona:


// ANTI DLL INJECTION by _FIL73R_

#include <windows.h>

BOOLEAN BlockAPI (HANDLE,CHAR *,CHAR *);
void AntiInject ();

/****************/
main()
{
CreateThread (0,0, (LPTHREAD_START_ROUTINE)AntiInject, 0, 0, 0);
while (TRUE); // loop forever... now to try and inject
}
/****************/

void AntiInject ()
{
HANDLE hProc = GetCurrentProcess();
while (TRUE) {
BlockAPI(hProc, "KERNEL32.DLL", "ReadFile");
Sleep (100);
}
}

BOOLEAN BlockAPI (HANDLE hProcess, CHAR *libName, CHAR *apiName)
{
CHAR pRet[]={0xC3};
HINSTANCE hLib = NULL;
VOID *pAddr = NULL;
BOOL bRet = FALSE;
DWORD dwRet = 0;

hLib = LoadLibrary (libName);
if (hLib) {
pAddr = (VOID*)GetProcAddress (hLib, apiName);
if (pAddr) {
if (WriteProcessMemory (hProcess,
(LPVOID)pAddr,
(LPCVOID)pRet,
sizeof (pRet),
&dwRet )) {
if (dwRet) {
bRet = TRUE;
}
}
}
FreeLibrary (hLib);
}
return bRet;
}

Se alguém puder dar alguma dica, ou fixar o programa, agradeço... ^_^

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

olá amigo, muito fácil olha você só chamou o AntiInject essa função esta para LER ReadFile ai você já pode vê o grande erro outro erro também libName esse também apiName o codigo e bom so que tem pequenos erros, e so chama o BlockAPI não precisa chamar o AntiInject, espero ter ajudado pois a anos eu vejo isso sem resposta e decidi criar uma conta nesse fórum para te ajudar ou ajudar como eu outros que procuram a mesma coisa.

OBS.: depois de FIX os erros, deve funcionar.

 

 

De 18/03/2015 - 00h27min

Para 06/09/2013 - 16h57min

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!