Dzirt Опубликовано 24 февраля, 2017 Поделиться Опубликовано 24 февраля, 2017 Скрытый текст #include "stdafx.h" #include <windows.h> #include <string.h> #include <Tlhelp32.h> #include <iostream> int main() { using namespace std; DWORD address = 0x0AE4;//ping игрока int value = 8; DWORD pid; HWND hwnd; hwnd = FindWindow(NULL,L"Counter-Strike: Global Offensive"); if (!hwnd) { cout << "window not found"; cin.get(); } GetWindowThreadProcessId(hwnd,&pid); HANDLE phandle = OpenProcess(PROCESS_VM_READ,0,pid); if (!phandle) { cout << "Couldnt get handle"; cin.get(); } while (TRUE) { ReadProcessMemory(phandle,(void*)address,&value,sizeof(value),0); cout << value << "\n"; Sleep(1000); } } Есть такой код , судя по CS:GO offset dumper , 0x0AE4 это адрес пинга перса(m_iPing). Но программа упорно выводит 8ки в консоль , в чем проблема? // Читаем правила. Пользуемся тегами кода и спойлера. Если не знаем как , то читаем и смотрим FAQ. На первый раз - устное предупреждение. Garik66/ Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 24 февраля, 2017 Поделиться Опубликовано 24 февраля, 2017 1 час назад, Dzirt сказал: 0x0AE4 это адрес пинга перса Это смещение для класса ресурсов. Адрес класса + смещение пинга = твой пинг 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Dzirt Опубликовано 24 февраля, 2017 Автор Поделиться Опубликовано 24 февраля, 2017 Только что, partoftheworlD сказал: Это смещение для класса ресурсов. Адрес класса + смещение пинга = твой пинг А как узнать адрес класса?) Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 24 февраля, 2017 Поделиться Опубликовано 24 февраля, 2017 1 час назад, Dzirt сказал: А как узнать адрес класса?) Ищешь пинг к примеру и реверсишь пока не находишь указатель на пинг он будет выглядеть примерно mov регистр, [адрес класса + 0xAE4] 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Dzirt Опубликовано 24 февраля, 2017 Автор Поделиться Опубликовано 24 февраля, 2017 http://prntscr.com/ecwc8d http://prntscr.com/ecwcc6 по сути я их должен сложить , если хочу узнать хп , складываю , но ничего опять не выходит( Ссылка на комментарий Поделиться на другие сайты Поделиться
Dzirt Опубликовано 24 февраля, 2017 Автор Поделиться Опубликовано 24 февраля, 2017 52 минуты назад, partoftheworlD сказал: Ищешь пинг к примеру и реверсишь пока не находишь указатель на пинг он будет выглядеть примерно mov регистр, [адрес класса + 0xAE4] getLastError() выдает ошибку 299 Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 24 февраля, 2017 Поделиться Опубликовано 24 февраля, 2017 1 час назад, Dzirt сказал: если хочу узнать хп , складываю , но ничего опять не выходит( Описывай полностью что ты складываешь, как ты получаешь указатель на структуру localplayer и т.д иначе получаются какие-то отрывки информации. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Dzirt Опубликовано 25 февраля, 2017 Автор Поделиться Опубликовано 25 февраля, 2017 (изменено) Перешел на ProcMem Скрытый текст #include <iostream> #include "ProcMem.h" using namespace std; /*do not change*/ const DWORD teamOffset = 0x00F0; const DWORD healthOffset = 0xFC; const DWORD EntLoopDist = 0x10; /*do not change*/ /*change every update*/ const DWORD PlayerBase = 0x00AA66B8;//LocalPlayer const DWORD EntityBase = 0x04AC9154;//EntityList const DWORD crosshairOffset = 0x0000AA70;//CrossHairID /*change every update*/ void trigger() { ProcMem Mem; Mem.Process("csgo.exe"); DWORD ClientDLL = Mem.Module("client.dll"); DWORD LocalPlayer = Mem.Read<DWORD>(ClientDLL + PlayerBase); int LocalTeam = Mem.Read<int>(LocalPlayer + teamOffset); int CrossHairID = Mem.Read<int>(LocalPlayer + crosshairOffset); DWORD EnemyInCH = Mem.Read<DWORD>(ClientDLL + EntityBase + ((CrossHairID - 1) * EntLoopDist)); int EnemyHealth = Mem.Read<int>(EnemyInCH + healthOffset); int EnemyTeam = Mem.Read<int>(EnemyInCH + teamOffset); cout << Mem.Read<int>(LocalPlayer + healthOffset) << endl; if (LocalTeam != EnemyTeam && EnemyHealth > 0) { cout << "yes"; mouse_event(MOUSEEVENTF_LEFTDOWN, NULL, NULL, NULL, NULL); mouse_event(MOUSEEVENTF_LEFTUP, NULL, NULL, NULL, NULL); Sleep(500); } } int main() { cout << "pusk"; while (true) { trigger(); } return 0; } Yes не выводит , hp отрицательное , стрелять не стреляет Изменено 25 февраля, 2017 пользователем Dzirt Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения