Solved Release in x64 with Visual Studio.

Hexui Undetected CSGO Cheats Sinkicheat PUBG Cheat

ken107

Newbie
Full Member
Feb 8, 2016
35
278
0
Game Name
Outward
Anticheat
no
How long you been coding/hacking?
1 year
Coding Language
c++,c#,java
Hello im trying to release a little program in x64....
well its releasing but its not working when i debug in x64 it works...
can maybe someone help me ?

Code:
#include <Windows.h>
#include <TlHelp32.h>
#include <iostream>

using namespace std;
DWORD processID;
DWORDLONG pTemp;
DWORDLONG offSet[] = { 0x88, 0x38, 0x28, 0x7F8, 0xE0, 0x60, 0x3A0 };//0x3A0, 0x118, 0x7F8, 0x28, 0x48, 0x10, 0xE8 };  //0x3A0,  0x538
DWORDLONG ObjectAddress;
DWORDLONG baseAddress;
int moneyeingabe;
int eingabe;
//CONST DWORDLONG baseAddress = 0x7FFBF6E10000 ;
CONST DWORDLONG dw_money = 0x01429500; // "Outward.exe"+014289F0
int zähler = 0;
int money;

uintptr_t GetModuleBaseAddress(DWORDLONG processID, const wchar_t* modName) // Funktion um ModulBase vom process zu bekommen
{
    DWORDLONG modBaseAddr = 0;
    HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, processID);
    if (hSnap != INVALID_HANDLE_VALUE)
    {
        MODULEENTRY32 modEntry;
        modEntry.dwSize = sizeof(modEntry);
        if (Module32First(hSnap, &modEntry))
        {
            do
            {
                if (!_wcsicmp(modEntry.szModule, modName))
                {
                    modBaseAddr = (uintptr_t)modEntry.modBaseAddr;
                    break;
                }
            } while (Module32Next(hSnap, &modEntry));
        }
    }
    CloseHandle(hSnap);
    return modBaseAddr;
}

DWORDLONG GetHandlendBase()
{
    HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processID);
    if (handle)
    {
        if (zähler < 1)
        {
            //cout << "Process found " << endl;
            zähler++;
        }
        DWORDLONG base = GetModuleBaseAddress(processID, L"Outward.exe");
        pTemp = +base;       
                                                // base wird an pTemp übergeben 4194304!

        return pTemp;                            //"4194304 : base / pTemp "wird zurück gegeben
    }
    else {

        cout << "Process not accessable" << endl;
        exit(1);

    }

}

void FindWindowA()
{
    HWND hWnd = FindWindowA(0, ("Outward"));
    if (hWnd)
    {
        GetWindowThreadProcessId(hWnd, &processID);
        //cout << GetLastError() << endl;

    }

    else
    {
        cout << "Window not Found!" << endl;
        system("Pause");
        exit(1);

    }
}

int readMemoryMoney(DWORDLONG base)
{
    baseAddress = base;
    HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processID);
    pTemp = GetHandlendBase() + dw_money;

    for (int i = 0; offSet[i] > i; i++)
    {
        ReadProcessMemory(handle, (LPCVOID)pTemp, &ObjectAddress, sizeof(ObjectAddress), NULL);
        pTemp = ObjectAddress + offSet[i];

    }

    ReadProcessMemory(handle, (LPCVOID)pTemp, &money, sizeof(money), NULL);
    
    return money;
}


void writeMemoryMoney(DWORDLONG base, int moneyuebergeben)
{
    baseAddress = base;
    HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processID);
    pTemp = GetHandlendBase() + dw_money;

    for (int i = 0; offSet[i] > i; i++)
    {
        ReadProcessMemory(handle, (LPCVOID)pTemp, &ObjectAddress, sizeof(ObjectAddress), NULL);
        pTemp = ObjectAddress + offSet[i];

    }
    ReadProcessMemory(handle, (LPCVOID)pTemp, &money, sizeof(money), NULL);

    int newMoney = moneyuebergeben;
    newMoney = newMoney + money;
    WriteProcessMemory(handle, (LPVOID)pTemp, &newMoney, sizeof(newMoney), NULL);

}





int main()
{

    FindWindowA();

    cout << "M O N E Y   H A C K   ver.1.0" << endl;
    cout << "Made by ken107" << endl;
    Sleep(4000);
    system("cls");

    do {
        cout << "1# Druecken zum Auslesen des Moneys" << endl;
        cout << "2# Druecken zum Money geben" << endl;
        cout << "6# Druecken zum Beenden " << endl;
        cin >> eingabe;
        system("cls");


        if (eingabe == 1)
        {
            cout << "Money: " << readMemoryMoney(GetHandlendBase()) << endl;
            Sleep(4000);
        }
        if (eingabe == 2)
        {
            cout << "Wie viel Money moechtest du geben ?" << endl;
            cout << "1# Druecken fuer 200 Silber !" << endl;
            cout << "2# Druecken fuer 400 Silber !" << endl;
            cout << "3# Druecken Fuer 600 Silber !" << endl;
            cin >> moneyeingabe;

            if (moneyeingabe == 1)
            {
                writeMemoryMoney(GetHandlendBase(), 200);
            }
            if (moneyeingabe == 2)
            {
                writeMemoryMoney(GetHandlendBase(), 400);
            }
            if (moneyeingabe == 3)
            {
                writeMemoryMoney(GetHandlendBase(), 600);
            }
            system("cls");
        }
    } while (eingabe != 6);

    /system("Pause");
    CloseHandle;
}

i searched already at google didnt find shit ;)
hopefully u guys can
well like i said when in run it in x64 debug it works but when i release it at x64 it wont show me the right "Money value"
 

Rake

Cesspool Admin
Administrator
Jan 21, 2014
12,182
78,998
2,398
Running as administrator?

Did you make any changes to the compiler settings in debug build mode but then forgot to apply them to release mode?

go to the optimization page in Project Properties and disable them all, maybe one of those options is messing up your code. This has happened to me before:

To make RELEASE mode work you must also change platform toolset from v141 to v140 (VS2015 version).

What's wierd is both toolsets use Maximum Optimization /O2, literally all the compiler flags are the same for both, something is different in the toolset but I can't find any documentation on what exactly has changed.
 
  • Like
Reactions: the_nut

SDK24

French Canadian so what?
Trump Tier Donator
Nobleman
Aug 22, 2018
118
2,948
5
Create a new project, copy and paste your code, compile and run.
Already happened to me
 

ken107

Newbie
Full Member
Feb 8, 2016
35
278
0
well still Nothing changed
he still cant find the Money value but its the Right address!
it`s working in x64 debug
it seems like he wont jump into the functions cuz when i make a breakpoint inside a for loop
he said the when i Point on the breakpoint:" The Breakpoint is actually not available"
"Maybe some issues are conditional Compiler, Compileroptimazing, or the Targed Architecture is not supported from actuell debuggercodetyp"

ty btw for your help but it didnt work
SDK24
 
Last edited:

the_nut

Will answer CS:GO questions for €€
Meme Tier VIP
Dank Tier Donator
Apr 26, 2018
523
6,023
30
If your game is x86 don't bother making the cheat 64 bit
 
Attention! Before you post:

Read the How to Ask Questions Guide
99% of questions are answered in the Beginner's Guide, do it before asking a question.

No Hack Requests. Post in the correct section.  Search the forum first. Read the rules.

How to make a good post:

  • Fill out the form correctly
  • Tell us the game name & coding language
  • Post everything we need to know to help you
  • Ask specific questions, be descriptive
  • Post errors, line numbers & screenshots
  • Post code snippets using code tags
  • If it's a large project, zip it up and attach it

If you do not comply, your post may be deleted.  We want to help, please make a good post and we will do our best to help you.

Community Mods