Resultados 1 a 2 de 2

Tópico: Ajuda com DLL

  1. #1

    Ajuda com DLL

    Boa tarde,
    tenho esse seguinte codigo:
    no qual ele detecta o uso de programas hacks:

    porem colocando 1 programa qualquer na exeção ele ja acusa que encontrou um hack.

    Code:
    Código:
    // ----------------------------------------------------
    //	Dll original: f1x & PSLorde
    //	Creation date: 26/06/2008
    //  Addeed date : 14/06/2010
    //  Total cheats: 112
    // ----------------------------------------------------
    
    #include "stdafx.h"
    #include "Antihack.h"
    #include <tlhelp32.h>
    #include <windows.h>
    #include <stdlib.h>
    
    
    #ifdef _MANAGED
    #pragma managed(push, off)
    #endif
    
    ANITHACK_PROCDUMP g_ProcessesDumps[MAX_PROCESS_DUMP] = 
    {
    
    {0x5674D4, {0x55, 0x8B, 0xEC, 0x83, 0xC4, 0xEC, 0x53, 0x33, 0xC0, 0x89, 0x45, 0xEC, 0xB8, 0x2C, 0x70, 0x56, 0x00, 0xE8, 0xC6, 0xFA, 0xE9, 0xFF, 0x8B, 0x1D, 0x98, 0xD8, 0x56, 0x00, 0x33, 0xC0, 0x55, 0x68}}   // Cheat Engine 5.0
    
    };
    
    
    
    
    
    void SystemProcessesScan() {
    	HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    	if(hProcessSnap != INVALID_HANDLE_VALUE)
    	{
    		PROCESSENTRY32 pe32;
    		pe32.dwSize = sizeof(PROCESSENTRY32);
    
    		if(Process32First(hProcessSnap, &pe32))
    		{
    			do
    			{
    				HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);
    				if(hProcess != NULL)
    				{
    					if(ScanProcessMemory(hProcess))
    					{
    						
    						MessageBoxA(NULL,"Arquivo malicioso encontrado","Informação",MB_OK | MB_ICONSTOP);
    						//WinExec("taskkill /IM calc.exe",10);
    						ExitProcess(0);
    						
    					}
    				}
    			}
    			while(Process32Next(hProcessSnap, &pe32));
    		}
    	}
    
    	CloseHandle(hProcessSnap);
    }
    
    bool ScanProcessMemory(HANDLE hProcess) 
    {
    	for(int i = 0; i < MAX_PROCESS_DUMP; i++)
    	{
    		char aTmpBuffer[MAX_DUMP_SIZE];
    		SIZE_T aBytesRead = 0;
    		ReadProcessMemory(hProcess, (LPCVOID)g_ProcessesDumps[i].m_aOffset, (LPVOID)aTmpBuffer, sizeof(aTmpBuffer), &aBytesRead);
    
    		if(memcmp(aTmpBuffer, g_ProcessesDumps[i].m_aMemDump, MAX_DUMP_SIZE) == 0)
    		{
    			return true;
    			break;
    		}
    }
    return false;
    }
    
    void MainThread()
    {
    again:
        SystemProcessesScan();
        Sleep(350);
        goto again;
    }
    
    
    
    extern  "C"  __declspec(dllexport) void Main() {
    	CreateThread(NULL,NULL,LPTHREAD_START_ROUTINE(MainThread),NULL,0,0);
    	SystemProcessesScan();  
    
    }
    
    BOOL APIENTRY DllMain(HMODULE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved) {
        return TRUE;
    }
    
    #ifdef _MANAGED
    #pragma managed(pop)
    #endif
    Queria saber onde ta o erro.
    grato.

  2. #2
    Membro
    Data de Ingresso
    Apr 2005
    Localização
    Spartaaaaaa
    Posts
    371
    Eu não analisei o código em ASM, mas quem sabe ele apenas detecta processos em execução e deixa a seu cargo a definição de qual processo é malicioso e qual não é...

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •