Как пофиксить предупреждения? #include <iostream> #include <Windows.h> using namespace std; int InjectDLL(DWORD, char*); int getDLLpath(char*); int getPID(int*); int getProc(HANDLE*, DWORD); int getDLLpath(char* dll) { std::cout << "Please enter the path to your dll\n"; cin >> dll; return 1; } int getPID(int* PID) { cout << "Please Enter the PID to your game process\n"; cin >> *PID; return 1; } int getProc(HANDLE* handleToProc, DWORD pid) { *handleToProc = OpenProcess(PROCESS_ALL_ACCESS, false, pid); DWORD dwLastErrror = GetLastError(); if (*handleToProc == NULL) { std::cout << "Unable to open game process. \n"; return -1; } else { std::cout << "Game process opened.\n"; return 1; } } int InjectDLL(DWORD PID, char* dll) { HANDLE handleToProc; LPVOID LoadLibAddr; LPVOID baseAddr; HANDLE remThread; // Получить длину dll int dllLength = strlen(dll) + 1; // Обработка процесса if (getProc(&handleToProc, PID) < 0) return -1; // Загрузить kernel 32 библиотеку LoadLibAddr = (LPVOID)GetProcAddress(GetModuleHandleA("kernel32.dll"), "LoadLibraryA"); if (!LoadLibAddr) return -1; baseAddr = VirtualAllocEx(handleToProc, NULL, dllLength, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); if (!baseAddr) return -1; //Записываем путь к DLL if (!WriteProcessMemory(handleToProc, baseAddr, dll, dllLength, NULL)) return -1; // Создаем удаленный поток remThread = CreateRemoteThread(handleToProc, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibAddr, baseAddr, 0, NULL); if (!remThread) return -1; WaitForSingleObject(remThread, INFINITE); VirtualFreeEx(handleToProc, baseAddr, dllLength, MEM_RELEASE); //Закрываем Инжектор if (CloseHandle(remThread) == 0) { std::cout << "Injection Failed.\n"; return -1; } if (CloseHandle(handleToProc) == 0) { std::cout << "Injection Failed.\n" ; return -1; } } int main() { SetConsoleTitle(L"corvex injector") ; int PID = -1; char* dll = new char(255); getDLLpath(dll); getPID(&PID); InjectDLL(PID, dll); system("pause"); return 0; } C #include <iostream> #include <Windows.h> using namespace std; int InjectDLL(DWORD, char*); int getDLLpath(char*); int getPID(int*); int getProc(HANDLE*, DWORD); int getDLLpath(char* dll) { std::cout << "Please enter the path to your dll\n"; cin >> dll; return 1; } int getPID(int* PID) { cout << "Please Enter the PID to your game process\n"; cin >> *PID; return 1; } int getProc(HANDLE* handleToProc, DWORD pid) { *handleToProc = OpenProcess(PROCESS_ALL_ACCESS, false, pid); DWORD dwLastErrror = GetLastError(); if (*handleToProc == NULL) { std::cout << "Unable to open game process. \n"; return -1; } else { std::cout << "Game process opened.\n"; return 1; } } int InjectDLL(DWORD PID, char* dll) { HANDLE handleToProc; LPVOID LoadLibAddr; LPVOID baseAddr; HANDLE remThread; // Получить длину dll int dllLength = strlen(dll) + 1; // Обработка процесса if (getProc(&handleToProc, PID) < 0) return -1; // Загрузить kernel 32 библиотеку LoadLibAddr = (LPVOID)GetProcAddress(GetModuleHandleA("kernel32.dll"), "LoadLibraryA"); if (!LoadLibAddr) return -1; baseAddr = VirtualAllocEx(handleToProc, NULL, dllLength, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); if (!baseAddr) return -1; //Записываем путь к DLL if (!WriteProcessMemory(handleToProc, baseAddr, dll, dllLength, NULL)) return -1; // Создаем удаленный поток remThread = CreateRemoteThread(handleToProc, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibAddr, baseAddr, 0, NULL); if (!remThread) return -1; WaitForSingleObject(remThread, INFINITE); VirtualFreeEx(handleToProc, baseAddr, dllLength, MEM_RELEASE); //Закрываем Инжектор if (CloseHandle(remThread) == 0) { std::cout << "Injection Failed.\n"; return -1; } if (CloseHandle(handleToProc) == 0) { std::cout << "Injection Failed.\n" ; return -1; } } int main() { SetConsoleTitle(L"corvex injector") ; int PID = -1; char* dll = new char(255); getDLLpath(dll); getPID(&PID); InjectDLL(PID, dll); system("pause"); return 0; }