Вопрос Помогите решить проблему с compare

Начинающий
Статус
Оффлайн
Регистрация
4 Апр 2023
Сообщения
78
Реакции[?]
5
Поинты[?]
3K
C++:
#pragma once
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
#include <TlHelp32.h>

#include <cstdint>
#include <string_view>

class Memory
{
private:
    std::uintptr_t processId = 0;
    void* processHandle = nullptr;

public:
    // Constructor that finds the process id
    // and opens a handle
    Memory(const std::string_view processName) noexcept
    {
        ::PROCESSENTRY32 entry = { };
        entry.dwSize = sizeof(::PROCESSENTRY32);

        const auto snapShot = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

        while (::Process32Next(snapShot, &entry))
        {
            if (!processName.compare(entry.szExeFile))
            {
                processId = entry.th32ProcessID;
                processHandle = ::OpenProcess(PROCESS_ALL_ACCESS, FALSE, processId);
                break;
            }
        }

        // Free handle
        if (snapShot)
            ::CloseHandle(snapShot);
    }

    // Destructor that frees the opened handle
    ~Memory()
    {
        if (processHandle)
            ::CloseHandle(processHandle);
    }

    // Returns the base address of a module by name
    const std::uintptr_t GetModuleAddress(const std::string_view moduleName) const noexcept
    {
        ::MODULEENTRY32 entry = { };
        entry.dwSize = sizeof(::MODULEENTRY32);

        const auto snapShot = ::CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, processId);

        std::uintptr_t result = 0;

        while (::Module32Next(snapShot, &entry))
        {
            if (!moduleName.compare(entry.szModule))
            {
                result = reinterpret_cast<std::uintptr_t>(entry.modBaseAddr);
                break;
            }
        }

        if (snapShot)
            ::CloseHandle(snapShot);

        return result;
    }

    // Read process memory
    template <typename T>
    constexpr const T Read(const std::uintptr_t& address) const noexcept
    {
        T value = { };
        ::ReadProcessMemory(processHandle, reinterpret_cast<const void*>(address), &value, sizeof(T), NULL);
        return value;
    }

    // Write process memory
    template <typename T>
    constexpr void Write(const std::uintptr_t& address, const T& value) const noexcept
    {
        ::WriteProcessMemory(processHandle, reinterpret_cast<void*>(address), &value, sizeof(T), NULL);
    }
};
Выдает ошибку
C++ отсутствуют экземпляры перегруженная функция, соответствующие списку аргументов типы аргументов: (WCHAR [260]) тип объекта: const std::string_view


1693144872121.png
 
Последнее редактирование:
external lover
Пользователь
Статус
Оффлайн
Регистрация
19 Фев 2018
Сообщения
267
Реакции[?]
43
Поинты[?]
6K
WriteProcessMemory - спидран по банам?

Тебе нужно поменять на std::wstring_view, либо сделать функцию wchat* -> char*.

Я вообще не совсем понял, у тебя проект в х86 или х64?
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,596
Реакции[?]
605
Поинты[?]
46K
WriteProcessMemory - спидран по банам?

Тебе нужно поменять на std::wstring_view, либо сделать функцию wchat* -> char*.

Я вообще не совсем понял, у тебя проект в х86 или х64?
да ему нахуй не нужен вайдкар даже, он впастил эту хуету откуда то и удивляется =)
 
external lover
Пользователь
Статус
Оффлайн
Регистрация
19 Фев 2018
Сообщения
267
Реакции[?]
43
Поинты[?]
6K
да ему нахуй не нужен вайдкар даже, он впастил эту хуету откуда то и удивляется =)
Тогда оставить ему другую пасту надо хд

Вот проект тоже на С++
Пожалуйста, авторизуйтесь для просмотра ссылки.

Он фиговый в сравнении с Victoria и ESPdx, но для обучения сойдёт, в нём даже оверлей есть.
И ещё забудь про изменение памяти
What results to bans:
1. dwViewAngles (explains farm bot bans)
2. NetVars
3.Convars
4. VirtualProtect (dwbSendPackets for example)
5. DeltaTick
6. VirtualAlloc (Clantag, Nametag, ClientCMD, RankReveal, Dlights, GetModelName, Skybox and more)
 
Сверху Снизу