У меня возникло несколько ошибок с моим инжектором dll (C++), я новичок и знаю, что мне пока не следует заниматься этими сложными вещами, но я действительно увлечен этим.Я использую консольное приложение. Вот мои ошибки:
'TH32CS_PROCESS': undeclared identifier: Line 11
'': cannot convert from 'WCHAR [260]' to 'std::string' Line 20
identifier "TH32CS_PROCESS" is undefined Line 22
У меня возникло несколько ошибок с моим инжектором dll (C++), я новичок и знаю, что мне пока не следует заниматься этими сложными вещами, но я действительно увлечен этим.Я использую консольное приложение. [b]Вот мои ошибки:[/b] [code] 'TH32CS_PROCESS': undeclared identifier: Line 11 '': cannot convert from 'WCHAR [260]' to 'std::string' Line 20 identifier "TH32CS_PROCESS" is undefined Line 22 [/code] [b]А вот мой код:[/b] [code]#include #include #include #include #include #include #include // Include for string conversion
namespace fs = std::filesystem;
// Function to convert WCHAR to std::string std::string WCharToString(const WCHAR* wcharStr) { // Convert WCHAR* to std::string int size_needed = WideCharToMultiByte(CP_UTF8, 0, wcharStr, -1, NULL, 0, NULL, NULL); std::string str(size_needed, 0); WideCharToMultiByte(CP_UTF8, 0, wcharStr, -1, &str[0], size_needed, NULL, NULL); return str; }
// Function to get the process ID by name DWORD GetProcessIdByName(const std::string& processName) { HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_PROCESS, 0); if (hSnapshot == INVALID_HANDLE_VALUE) return 0;
if (Process32First(hSnapshot, &pe)) { do { // Convert WCHAR to std::string for comparison std::string processNameStr = WCharToString(pe.szExeFile); if (processNameStr == processName) { CloseHandle(hSnapshot); return pe.th32ProcessID; } } while (Process32Next(hSnapshot, &pe)); }
CloseHandle(hSnapshot); return 0; }
// Function to inject DLL into a process void InjectDLL(DWORD processID, const std::string& dllPath) { HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processID); if (!hProcess) { std::cerr