С++ ошибки

Начинающий
Статус
Оффлайн
Регистрация
22 Май 2021
Сообщения
70
Реакции[?]
0
Поинты[?]
0
Помогите пожалуйста,вот код
C++:
#include <stdbool.h>
#include <windows.h>
#include <tlhelp32.h>
#include <shlwapi.h>
#include <conio.h>
#include <stdio.h>

#define WIN32_LEAN_AND_MEAN // ADVANCED WINAPI
#define CREATE_THREAD_ACCESS (PROCESS_CREATE_THREAD | PROCESS_QUERY_INFORMATION | PROCESS_VM_OPERATION | PROCESS_VM_WRITE | PROCESS_VM_READ)

BOOL Inject(DWORD pID, const char* DLL_NAME);
DWORD GetTargetThreadIDFromProcName(const char* ProcName);

int main(int argc, char* argv[])
{
    char process_name[64];
    scanf("%s", &process_name);
    DWORD pID = GetTargetThreadIDFromProcName(process_name);


    puts("Name of dll: ");

    char path[MAX_PATH] = { 0 };
    char name_of_dll[64];
    char adddll[4];

    strcpy(adddll, ".dll");
    scanf("%s", &name_of_dll);

    ////////////////////////////////////////////
    /*
    ** Если ты не указал в конце названия файла,
    ** что он формата '.dll' -
    ** то этот код его добавит автоматически
    */
    ////////////////////////////////////////////

    char* str = strstr(name_of_dll, ".dll"); // Ищем первое вхождение подстроки .dll в названии
    if (str == NULL)
    {
        strncat(name_of_dll, adddll, 4); // Добавление к имени длл ".dll", потому что мне лень вводить формат
    }
    else
    {
        // do nothing
    }


    GetFullPathName(name_of_dll, MAX_PATH, path, NULL); // Нахождение патча, где находится инъектор

    puts("Dll name:");
    puts(name_of_dll);

    ////////////////////////////////////////////
    /*
    ** Здесь идет проверка процесса,
    ** запущен ли он?
    ** Если он запущен - проводим инъекцию,
    ** в противном случае ждем
    */
    ////////////////////////////////////////////

    DWORD* ptr_pID = &pID;
    if (*ptr_pID == NULL)
    {
        puts("\nWaiting for the game");
        do
        {
            DWORD pID = GetTargetThreadIDFromProcName("hl2.exe");
            putchar('.');
            Sleep(1000);
        } while (*ptr_pID == 0);
    }

    // Инъекция

    if (!Inject(pID, path))
    {
        puts("DLL Not Loaded!");
    }
    else
    {
        puts("DLL Loaded!");
    }

}

BOOL Inject(DWORD pID, const char* DLL_NAME)
{
    HANDLE Proc;
    HMODULE hLib;
    char buf[50] = { 0 };
    LPVOID RemoteString, LoadLibraryEx; // Указатель (typedef void far *LPVOID;)

    if (!pID)
        return false;

    Proc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pID);
    if (!Proc)
    {
        return false;
    }

    LoadLibraryEx = (LPVOID)GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");

    // Выделение места в процессе для нашей dll
    RemoteString = (LPVOID)VirtualAllocEx(Proc, NULL, strlen(DLL_NAME), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);

    // Запись имени строки нашей дллки в выделенной заранее памяти
    WriteProcessMemory(Proc, (LPVOID)RemoteString, DLL_NAME, strlen(DLL_NAME), NULL);

    // Загрузка длл
    CreateRemoteThread(Proc, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibraryEx, (LPVOID)RemoteString, NULL, NULL);

    CloseHandle(Proc);
    return true;
}

DWORD GetTargetThreadIDFromProcName(const char* ProcName)
{
    PROCESSENTRY32 pe;
    HANDLE thSnapShot;
    BOOL retval, ProcFound = false;

    thSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    if (thSnapShot == INVALID_HANDLE_VALUE)
    {
        return false;
    }

    pe.dwSize = sizeof(PROCESSENTRY32);

    retval = Process32First(thSnapShot, &pe);
    while (retval)
    {
        if (StrStrI(pe.szExeFile, ProcName))
        {
            return pe.th32ProcessID;
        }
        retval = Process32Next(thSnapShot, &pe);
    }
    return 0;
}
Вот ошибки: 1625574821795.png
 
how to доказать всем что не еблан
Пользователь
Статус
Оффлайн
Регистрация
14 Авг 2019
Сообщения
393
Реакции[?]
112
Поинты[?]
21K
измени в настройках проекта чето связанное с юникодом на многобайтовую кодировку
не помню как точно эта штука называется
 
Начинающий
Статус
Оффлайн
Регистрация
22 Май 2021
Сообщения
70
Реакции[?]
0
Поинты[?]
0
how to доказать всем что не еблан
Пользователь
Статус
Оффлайн
Регистрация
14 Авг 2019
Сообщения
393
Реакции[?]
112
Поинты[?]
21K
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
4 Окт 2020
Сообщения
35
Реакции[?]
3
Поинты[?]
3K
Начинающий
Статус
Оффлайн
Регистрация
22 Май 2021
Сообщения
70
Реакции[?]
0
Поинты[?]
0
Сверху Снизу