OldSchoolHack

Registrieren / Anmelden Deutsch

Metal Gear Solid V Multihack

icon Thema: [Release] Metal Gear Solid V Multihack

Anmeldungsdatum: Aug 2007

Beiträge: 1957

Kategorie: Other FPS Games
Entwickler: can1357

Beschreibung:
F1 Unlimited Ammo
F2 Unlimited Suppressor
F3 Triggerbot
( Doesn't work from super high range. Sniper etc. Quite usefull for oneshot hs rifles when sneaking though. )
F4 +10.000 GMP
F5 +100.000 GMP


CPP Code:
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <Windows.h>
  3. #include <iostream>
  4. #include <string>
  5.  
  6. using namespace std;
  7.  
  8. #define QWORD UINT64
  9.  
  10.  
  11. unsigned long getMilliseconds(){
  12.    SYSTEMTIME st;
  13.    GetSystemTime(&st);
  14.    return st.wMilliseconds + st.wSecond * 1000 + st.wMinute * 60 * 1000 + st.wHour * 60 * 60 * 1000;
  15. }
  16.  
  17.  
  18.  
  19. char bcSuppresserPatch[] = "\x90\x90\x90\x90";
  20. char bcAmmoPatch[] = "\x90\x90\x90\x90\x90";
  21.  
  22. void ExchByte(void* pDst, void* pSrc, int iSize){
  23.    DWORD Junk;
  24.    VirtualProtect(pDst, iSize, PAGE_EXECUTE_READWRITE, &Junk);
  25.    char * bcOldMem = new char[iSize];
  26.    memcpy(bcOldMem, pDst, iSize);
  27.    memcpy(pDst, pSrc, iSize);
  28.    memcpy(pSrc, bcOldMem, iSize);
  29. }
  30.  
  31. class CEntity{
  32. public:
  33.    WORD GetTargetInCrosshair(){ // Works under all conditions
  34.        return *(WORD*)(*(char**)(*(char**)((char*)this + 0x48) + 0xE0) + 0x5AC);
  35.    }
  36. };
  37.  
  38. enum TargetType{
  39.    None = 0,
  40.    Enemy = 1,
  41.    Ally = 2
  42. };
  43.  
  44. TargetType TargetShootableBy(CEntity * Player, WORD TargetID){
  45.    static int(__fastcall*fpTargetShootCheck)(void *, DWORD) = (int(__fastcall*)(void *, DWORD))((QWORD)GetModuleHandleA("mgsvtpp.exe") + 0x3D47F10);
  46.    if (TargetID == 0xFFFF) return TargetType::None;
  47.    return (TargetType)fpTargetShootCheck(Player, TargetID);
  48. }
  49.  
  50.  
  51. DWORD WINAPI main(LPVOID lpParam)
  52. {
  53.    
  54.    AllocConsole();    
  55.    freopen("conin$", "r", stdin);
  56.    freopen("conout$", "w", stdout);
  57.  
  58.    long KeyLock = 0;
  59.  
  60.    void * bcSuppressor = (QWORD*)((QWORD)GetModuleHandleA("mgsvtpp.exe") + 0x3C54B53);
  61.    void * bcAmmo = (QWORD*)((QWORD)GetModuleHandleA("mgsvtpp.exe") + 0x3C546FF);
  62.    DWORD * pGMP = (DWORD*)((QWORD)GetModuleHandleA("mgsvtpp.exe") + 0x2AC9C98);
  63.    QWORD * pBase = (QWORD*)((QWORD)GetModuleHandleA("mgsvtpp.exe") + 0x2963210);
  64.    
  65.    bool bTriggerbotOn = false;
  66.    bool bMessageSaidOnce = false;
  67.    while (true){
  68.        if (*((QWORD*)pBase) == 0 || *(QWORD*)(*pBase + 0x308) == 0 || *(QWORD*)(*(QWORD*)(*pBase + 0x308) + 0x10) == 0){
  69.            if (!bMessageSaidOnce && (bMessageSaidOnce=true))
  70.                cout << "Waiting for the player to spawn." << endl;
  71.            continue;
  72.        }
  73.        bMessageSaidOnce = false;
  74.  
  75.        CEntity * LocalPlayer = (CEntity*)*(QWORD*)(*(QWORD*)(*pBase + 0x308) + 0x10);
  76.  
  77.        if (bTriggerbotOn && (GetAsyncKeyState(VK_RBUTTON) & 0x8000)){
  78.            if (TargetShootableBy(LocalPlayer, LocalPlayer->GetTargetInCrosshair()) == TargetType::Enemy){
  79.                mouse_event(MOUSEEVENTF_LEFTDOWN, NULL, NULL, NULL, NULL);
  80.                Sleep(5);
  81.                mouse_event(MOUSEEVENTF_LEFTUP, NULL, NULL, NULL, NULL);
  82.            }
  83.        }
  84.  
  85.        if (KeyLock + 250 < getMilliseconds()){
  86.            KeyLock = getMilliseconds();
  87.  
  88.            if (GetAsyncKeyState(VK_F1) & 0x8000){
  89.                ExchByte(bcAmmo, bcAmmoPatch, 5);
  90.                cout << "Unlimited Ammo: ";
  91.                cout << ((bcAmmoPatch[0] == '\x90') ? "OFF." : "ON.") << endl;
  92.            }
  93.            else if(GetAsyncKeyState(VK_F2) & 0x8000){
  94.                ExchByte(bcSuppressor, bcSuppresserPatch, 4);
  95.                cout << "Unlimited Suppressor ";
  96.                cout << ((bcSuppresserPatch[0] == '\x90') ? "OFF." : "ON.") << endl;
  97.            }
  98.            else if (GetAsyncKeyState(VK_F3) & 0x8000){
  99.                bTriggerbotOn = !bTriggerbotOn;
  100.                cout << "Triggerbot: " << (bTriggerbotOn ? "ON" : "OFF") << endl;
  101.            }
  102.            else if (GetAsyncKeyState(VK_F4) & 0x8000){
  103.                cout << "Added 10 000 GMP." << endl;
  104.                *pGMP += 10 * 1000;
  105.            }
  106.            else if (GetAsyncKeyState(VK_F5) & 0x8000){
  107.                cout << "Added 100 000 GMP." << endl;
  108.                *pGMP += 100 * 1000;
  109.            }
  110.            else{
  111.                KeyLock = 0;
  112.            }
  113.  
  114.        }
  115.  
  116.        
  117.    }
  118.    return 0;
  119.  
  120. }
  121.  
  122.  
  123. int WINAPI DllMain(
  124.    HINSTANCE hInstance2,
  125.    DWORD     fdwReason,
  126.    LPVOID    lpvReserved
  127.    )
  128.  
  129. {
  130.    DisableThreadLibraryCalls(hInstance2);
  131.    if (fdwReason == DLL_PROCESS_ATTACH) {
  132.        CreateThread(NULL, 0, &main, NULL, 0, NULL);
  133.    }
  134.  
  135.  
  136.    return 1;
  137. }



Download:
Metal Gear Solid V Multihack