Привет , для практики языка готов реализовать ваши задачи по возможности, буду рад помочь за +реп, связь прямо в теме, если нужны подробности в тг
microzavrik, сможешь сделать dll-ку. Будеть для тебя интересным заданием. 1. Игра сталкрафт, для неё нужно написать WallHack. (Веси гигов 15 в стиме) 2. Игроки там обрисовываются через элемент gldrawelements. 3. Тебе нужно получать указатель функции gldrawelements при помощи wglGetProAddress затем уже думать что да как можно реализовать)
Привет, microzavrik! Рад видеть тебя здесь. Какие задачи ты готов реализовать на языке C++? Можешь поделиться подробностями?
Отлично, microzavrik! Я уверен, что пользователи форума будут рады твоей помощи. Если у них возникнут вопросы или задачи, они смогут обратиться к тебе прямо в этой теме. Удачи в реализации задач и развитии своих навыков! Если у меня появятся вопросы, я тоже обращусь к тебе.
Привет, microzavrik! Как могу помочь? Если у тебя есть вопросы или нужна помощь, не стесняйся спрашивать.
MrEmmet66, Код клиента который при подключении к серверу сразу же посылает ему список запущенных процессов, по желанию могу изменить чтобы посылал по команде Требования: msvc 2022, C++17 #define _WINSOCK_DEPRECATED_NO_WARNINGS #define _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING #include <iostream> #include <vector> #include <string> #include <winsock2.h> #include <optional> #include <TlHelp32.h> #include <locale> #include <codecvt> #pragma comment(lib, "ws2_32.lib") const char* SERVER_IP = "127.0.0.1"; const int SERVER_PORT = 12345; const int BUFFER_SIZE = 1024; VOID log(const std::string& msg, const WORD color); std::string wstring_to_string(const std::wstring& wstr); std::vector<std::string> get_process_list(); int main(int argc, TCHAR* argv[]) { WSAData wsaData; if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) { std::cerr << "WSAstartup fail" << std::endl; return 1; } SOCKET client_socket = socket(AF_INET, SOCK_STREAM, 0); if (client_socket == INVALID_SOCKET) { std::cerr << "socket() failed" << std::endl; WSACleanup(); return 1; } sockaddr_in server_addr; server_addr.sin_family = AF_INET; server_addr.sin_addr.s_addr = inet_addr(SERVER_IP); server_addr.sin_port = htons(SERVER_PORT); if (connect(client_socket, reinterpret_cast<SOCKADDR*>(&server_addr), sizeof(server_addr)) == SOCKET_ERROR) { std::cerr << "connect() fail" << std::endl; closesocket(client_socket); WSACleanup(); return 1; } log("Successfully connected to server, IP: " + std::string(SERVER_IP), FOREGROUND_GREEN); std::vector<std::string> process_list = get_process_list(); for (const auto& process : process_list) { std::cout << process.c_str() << std::endl; send(client_socket, process.c_str(), process.size(), 0); } char buffer[BUFFER_SIZE]; int bytesRead = 0; while ((bytesRead == recv(client_socket, buffer, BUFFER_SIZE, 0)) > 0) { std::string received_data(buffer, bytesRead); std::cout << received_data << std::endl; } closesocket(client_socket); WSACleanup(); } VOID log(const std::string& msg, const WORD color) { HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO consoleInfo; WORD savedAttributes; GetConsoleScreenBufferInfo(hConsole, &consoleInfo); savedAttributes = consoleInfo.wAttributes; SetConsoleTextAttribute(hConsole, color); std::cout << msg; SetConsoleTextAttribute(hConsole, savedAttributes); } std::string wstring_to_string(const std::wstring& wstr) { std::wstring_convert<std::codecvt_utf8<wchar_t>> converter; return converter.to_bytes(wstr); } std::vector<std::string> get_process_list() { std::vector<std::string> processList; HANDLE hProcessSnapshot; PROCESSENTRY32 pe32; hProcessSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hProcessSnapshot == INVALID_HANDLE_VALUE) { std::cerr << "CreateToolhelp32Snapshot fail get value" << std::endl; return processList; } pe32.dwSize = sizeof(PROCESSENTRY32); if (!Process32First(hProcessSnapshot, &pe32)) { std::cerr << "Process32First failed" << std::endl; CloseHandle(hProcessSnapshot); return processList; } do { processList.push_back(wstring_to_string(pe32.szExeFile)); } while (Process32Next(hProcessSnapshot, &pe32)); return processList; } C #define _WINSOCK_DEPRECATED_NO_WARNINGS #define _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING #include <iostream> #include <vector> #include <string> #include <winsock2.h> #include <optional> #include <TlHelp32.h> #include <locale> #include <codecvt> #pragma comment(lib, "ws2_32.lib") const char* SERVER_IP = "127.0.0.1"; const int SERVER_PORT = 12345; const int BUFFER_SIZE = 1024; VOID log(const std::string& msg, const WORD color); std::string wstring_to_string(const std::wstring& wstr); std::vector<std::string> get_process_list(); int main(int argc, TCHAR* argv[]) { WSAData wsaData; if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) { std::cerr << "WSAstartup fail" << std::endl; return 1; } SOCKET client_socket = socket(AF_INET, SOCK_STREAM, 0); if (client_socket == INVALID_SOCKET) { std::cerr << "socket() failed" << std::endl; WSACleanup(); return 1; } sockaddr_in server_addr; server_addr.sin_family = AF_INET; server_addr.sin_addr.s_addr = inet_addr(SERVER_IP); server_addr.sin_port = htons(SERVER_PORT); if (connect(client_socket, reinterpret_cast<SOCKADDR*>(&server_addr), sizeof(server_addr)) == SOCKET_ERROR) { std::cerr << "connect() fail" << std::endl; closesocket(client_socket); WSACleanup(); return 1; } log("Successfully connected to server, IP: " + std::string(SERVER_IP), FOREGROUND_GREEN); std::vector<std::string> process_list = get_process_list(); for (const auto& process : process_list) { std::cout << process.c_str() << std::endl; send(client_socket, process.c_str(), process.size(), 0); } char buffer[BUFFER_SIZE]; int bytesRead = 0; while ((bytesRead == recv(client_socket, buffer, BUFFER_SIZE, 0)) > 0) { std::string received_data(buffer, bytesRead); std::cout << received_data << std::endl; } closesocket(client_socket); WSACleanup(); } VOID log(const std::string& msg, const WORD color) { HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO consoleInfo; WORD savedAttributes; GetConsoleScreenBufferInfo(hConsole, &consoleInfo); savedAttributes = consoleInfo.wAttributes; SetConsoleTextAttribute(hConsole, color); std::cout << msg; SetConsoleTextAttribute(hConsole, savedAttributes); } std::string wstring_to_string(const std::wstring& wstr) { std::wstring_convert<std::codecvt_utf8<wchar_t>> converter; return converter.to_bytes(wstr); } std::vector<std::string> get_process_list() { std::vector<std::string> processList; HANDLE hProcessSnapshot; PROCESSENTRY32 pe32; hProcessSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hProcessSnapshot == INVALID_HANDLE_VALUE) { std::cerr << "CreateToolhelp32Snapshot fail get value" << std::endl; return processList; } pe32.dwSize = sizeof(PROCESSENTRY32); if (!Process32First(hProcessSnapshot, &pe32)) { std::cerr << "Process32First failed" << std::endl; CloseHandle(hProcessSnapshot); return processList; } do { processList.push_back(wstring_to_string(pe32.szExeFile)); } while (Process32Next(hProcessSnapshot, &pe32)); return processList; }
bigbin, тут много материалов для изучения, но я учился по книге Липмана базовый курс и Страуструпа 2 издание https://github.com/JoshuaJakowlew/cppfaq
Привет, сможешь сделать APK мод меню на андроид игру, как мне известно мод меню делаются на C++. Я понимаю что там надо вшивать мод меню, искать оффсеты, подписывать APK , это тот ещё геморрой))) Поэтому если нет, значит нет)
Привет. Нужно сделать автотаргет мобов в старинной mmorpg - Rf Online. Более подробная информация, что нужно сделать на скрине: Telegram -
Отличный тс, попросил его доделать некоторые моменты в коде шашек на курсач Человек сделал все одним утром, очень благодарен ему, обнял
Очень сильно помог мне несколько раз, в общении приятен, вежлив. Очень быстро делает свою работу и совсем за символическую сумму - за что очень благодарен ему.