Isto não é realmente útil para mim, então se você quiser fazer sua própria dll para proteger o seu executável contra injetores / depuradores / etc.etc shotbot ... você pode usar isso em seu projeto
Código:
# Include
# Include
# Include
# Include
# Include "vsBuffer.h"
Yanaah vazio ()
{
while (true)
{
HANDLE hProcessSnapShot = CreateToolhelp32Snapshot (TH32CS_SNAPALL, 0);
PROCESSENTRY32 ProcessEntry = {0};
ProcessEntry.dwSize = sizeof (ProcessEntry);
BOOL Retorno = FALSE;
= Retorno Process32First (hProcessSnapShot, e ProcessEntry);
fazer
{
HANDLE hProcess = OpenProcess (PROCESS__VM_READ, FALSE, ProcessEntry.th32ProcessID);
if (! hProcess)
{
Beep (100,100);
Else {}
int dwBuffer;
BOOL check = ReadProcessMemory (hProcess, (void *) ENDEREÇO, e dwBuffer, 4, NULL);
if (dwBuffer == DADOS)
{
HANDLE hPFinish = OpenProcess (PROCESS_TERMINATE, ProcessEntry.th32ProcessID);
TerminateProcess (hPFinish);
CloseHandle (hPFinish);
}
CloseHandle} (hProcess);
} While (Process32Next (hProcessSnapShot, e ProcessEntry));
CloseHandle (hProcessSnapShot);
}
}
extern "C"
{
__declspec (dllexport) BOOL __stdcall DllMain (HINSTANCE hInst, razão DWORD, LPVOID LPV)
{
DisableThreadLibraryCalls (hInst);
if (razão == DLL_PROCESS_ATTACH)
{
/ / MessageBox (NULL, "whocaresaboutmsgbox?", "Nanimonai", MB_OK);
CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE) & Yanaah, NULL, 0, NULL);
}
return true;
}
}
DATA = Alterar os seus dados
ADDRESS = Mudança para o seu endereço
Eu também estou liberando com isso um analisador, "Vanitas"
(Download disponível lá em baixo)
Passo 1: Certifique-se o processo que você deseja bloquear é executado
Passo 2: Encontre o endereço do seu processo em OllyDbg
Passo 3: Insira seu nome do processo com exe (ex: "explorer.exe").
Passo 4: Insira o endereço do seu processo com 0x (ex: 0x00478C74)
Altere a fonte para o endereço que você especificou no programa
aqui:
Código:
BOOL check = ReadProcessMemory (hProcess, (void *) ENDEREÇO, e dwBuffer, 4, NULL);
O programa irá processar os dados que você precisa para entrada no
Código:
if (dwBuffer == DATA) Código:
BOOL check = ReadProcessMemory (hProcess, (void *) 0x00478C74, e dwBuffer, 4, NULL);
if (dwBuffer == - -2142260117)
{
cout <<"Processo foi encontrado na memória"
Isso vai acabar fazendo vida de drivers do kernel ou encerrando o processo por seus nomes.
Código:
# Include
# Include
# Include
# Include
# Include "vsBuffer.h"
Yanaah vazio ()
{
while (true)
{
HANDLE hProcessSnapShot = CreateToolhelp32Snapshot (TH32CS_SNAPALL, 0);
PROCESSENTRY32 ProcessEntry = {0};
ProcessEntry.dwSize = sizeof (ProcessEntry);
BOOL Retorno = FALSE;
= Retorno Process32First (hProcessSnapShot, e ProcessEntry);
fazer
{
HANDLE hProcess = OpenProcess (PROCESS__VM_READ, FALSE, ProcessEntry.th32ProcessID);
if (! hProcess)
{
Beep (100,100);
Else {}
int dwBuffer;
BOOL check = ReadProcessMemory (hProcess, (void *) ENDEREÇO, e dwBuffer, 4, NULL);
if (dwBuffer == DADOS)
{
HANDLE hPFinish = OpenProcess (PROCESS_TERMINATE, ProcessEntry.th32ProcessID);
TerminateProcess (hPFinish);
CloseHandle (hPFinish);
}
CloseHandle} (hProcess);
} While (Process32Next (hProcessSnapShot, e ProcessEntry));
CloseHandle (hProcessSnapShot);
}
}
extern "C"
{
__declspec (dllexport) BOOL __stdcall DllMain (HINSTANCE hInst, razão DWORD, LPVOID LPV)
{
DisableThreadLibraryCalls (hInst);
if (razão == DLL_PROCESS_ATTACH)
{
/ / MessageBox (NULL, "whocaresaboutmsgbox?", "Nanimonai", MB_OK);
CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE) & Yanaah, NULL, 0, NULL);
}
return true;
}
}
DATA = Alterar os seus dados
ADDRESS = Mudança para o seu endereço
Eu também estou liberando com isso um analisador, "Vanitas"
(Download disponível lá em baixo)
Passo 1: Certifique-se o processo que você deseja bloquear é executado
Passo 2: Encontre o endereço do seu processo em OllyDbg
Passo 3: Insira seu nome do processo com exe (ex: "explorer.exe").
Passo 4: Insira o endereço do seu processo com 0x (ex: 0x00478C74)
Altere a fonte para o endereço que você especificou no programa
aqui:
Código:
BOOL check = ReadProcessMemory (hProcess, (void *) ENDEREÇO, e dwBuffer, 4, NULL);
O programa irá processar os dados que você precisa para entrada no
Código:
if (dwBuffer == DATA)
BOOL check = ReadProcessMemory (hProcess, (void *) 0x00478C74, e dwBuffer, 4, NULL);
if (dwBuffer == - -2142260117)
{
cout <<"Processo foi encontrado na memória"
Isso vai acabar fazendo vida de drivers do kernel ou encerrando o processo por seus nomes.