Thema: HackShield

  1. #1
    Avatar von Snooki
    Registriert seit
    30.07.2013
    Beiträge
    5
    Thanked 3 Times in 1 Post

    Standard HackShield

    Hallo Community,
    ich dachte ich zeige euch mal ein altes Werk von mir und stelle das Projekt zum Download zur Verfügung.

    Es handelt sich hierbei um ein HackShield, welches in der Metin2-Szene öfters mal verwendet wurde um gezielt gegen Hacks vorzugehen.

    Das HackShield verfügt über einen Suchlauf im Prozess, dieser sucht im Prozess gezielt nach Blacklisted MD5-Werten. (Diese werden im Quellcode festgelegt)

    Ich weiß dass es nicht sehr effektiv ist und dass man es relativ leicht umgehen kann, aber vielleicht kann es ja jemand gebrauchen.

    Programmiersprache : Cpp
    Ein kleiner Ausschnitt :
    Spoiler:
    #include <Windows.h>
    #include <Psapi.h>
    #pragma comment(lib,"Psapi.lib")
    #include "md5file.h"

    char *DllFiles[] =
    {
    "18b355c26590c6d3af845b7b3dc0e47f",
    "18b355c26590c6d3af845b7b3dc0e47f"
    };

    #pragma region unkreativertext

    char ccbuf[1024];
    HMODULE hMods[1024];
    TCHAR szModName[MAX_PATH];
    MD5 md5;

    void DisplayDetect(){
    strcpy(ccbuf, "DETECTED_INVALID_FILE:\n");
    strcat(ccbuf, szModName);
    MessageBox(NULL, ccbuf, "HackShield", MB_OK);
    }

    void CheckDlls(){
    DWORD cbNeeded;
    unsigned int i;
    EnumProcessModules(GetCurrentProcess(), hMods, sizeof(hMods), &cbNeeded);
    for ( i = 0; i < (cbNeeded / sizeof(HMODULE)); i++ )
    {

    if ( GetModuleFileNameEx( GetCurrentProcess(), hMods[i], szModName,
    sizeof(szModName) / sizeof(TCHAR)))
    {

    char* md5code = md5.MD5File(szModName);

    for (int j = 0; j < (sizeof(DllFiles) / sizeof(LPTSTR)); j++)
    {
    if(strcmp(md5code, DllFiles[j]) == 0){
    CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)DisplayDetect, NULL, 0, NULL);
    Sleep(5000);
    TerminateProcess(GetCurrentProcess(), 1);
    }
    }
    }
    }
    }

    void uhacks(){
    while (1)
    {
    try{
    CheckDlls();
    }
    catch(...){ }
    Sleep(3000);
    }
    }

    BOOL WINAPI DllMain(HINSTANCE hinstdll, DWORD fdwReason, LPVOID lpvReserved)
    {
    switch(fdwReason)

    {
    case DLL_PROCESS_ATTACH:
    CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)uhacks, NULL, 0, NULL);
    break;
    }
    return TRUE;
    }
    #pragma endregion

    [SHOWTOGROUPS=2]Download hier - Fileupload[/SHOWTOGROUPS]
    Ein Danke wäre nett.

    Mit freundlichen Grüßen,
    Snooki
    Geändert von Snooki (30.07.2013 um 09:49 Uhr)

  2. The Following 3 Users Say Thank You to Snooki For This Useful Post:

    DeSeri0uz (30.07.2013), sL1tchK0ss (30.07.2013), xF4ke (15.08.2013)

Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.