-
Постов
160 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные barsuuk
-
-
Всем привет) Не могу понять в чем подвох:D через иду вроде как нашел сигнатуру, вроде как оффсет cheat engine тоже полчился, но спамилка не работает(( после выполнения кс зависает и вылетает. Скорее всего ошибка в том что я не туда лезу)) так вот, вопрос как найти этот чертов оффсет в иде или чит энджене или еще где.
вот то что в иде
push ebp mov ebp, esp sub esp, 60Ch lea eax, [ebp+var_100] push [ebp+arg_0] ; int push offset aCmdS ; "cmd %s" push 0FFh ; int push eax ; int call sub_102DAE60 add esp, 10h lea ecx, [ebp+var_60C] call sub_102DC750 push 0 ; int push 0 ; int lea eax, [ebp+var_100] push eax ; void * lea ecx, [ebp+var_60C] call sub_102DC8F0 lea ecx, [ebp+var_60C] call sub_101C6390 mov esp, ebp pop ebp retn 8
вот сигнатура на выходе :
FF 75 08 68 ? ? ? ? 68 ? ? ? ? 50 E8 ? ? ? ? 83
\xFF\x75\x08\x68\x00\x00\x00\x00\x68\x00\x00\x00\x00\x50\xE8\x00\x00\x00\x00\x83 xxxx????x????xx????x
вот код вставки сообщения:
struct clientcmd_args { const char* stri; bool ss; }; void MemoryManager::ClientCMD(const char * cmd) { clientcmd_args args; args.stri = cmd; args.ss = false; DWORD addr = EngineAddr + 0xACD2F; //DWORD asd = 0; //ReadProcessMemory(_proc, (LPCVOID)addr, &asd, sizeof(addr), NULL); LPVOID vCom = VirtualAllocEx(_proc, NULL, sizeof(args), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE); WriteProcessMemory(_proc, vCom,(LPCVOID&)args, sizeof(args)+strlen(cmd), NULL); HANDLE Hthr = CreateRemoteThread(_proc, NULL, NULL, (LPTHREAD_START_ROUTINE)addr, vCom, NULL, NULL); WaitForSingleObject(Hthr, INFINITE); VirtualFreeEx(_proc, vCom, strlen(cmd) + 1, MEM_RELEASE); }
и да, чит экстернал)
-
спасибо огромное) оказалось все на столько изи))
-
Всем привет) Не могу получить id оружия в руках, если на нем лежит скин, если взять обычное оружие то все ок)) Например. беру в руки глок получаю число 4, меняю на тот же глок, но скином "гремучая смесь" и уже выдает 262148((( тоже самое абсолютно со всеми скинами и предметами ,вопрос, как быть? как-то конвертировать id скина в id оружия? мб это шифрация(типо умножить первоначальное значения на овер дохрена) или еще что, хелп??? PS чит экстернал, читаю так
DWORD plr = _memory->read<DWORD>(_memory->ClientAddr + Offsets::dwLocalPlayer); DWORD WI = _memory->read<DWORD>(plr + Offsets::m_hActiveWeapon); DWORD WE = _memory->read<DWORD>(_memory->ClientAddr + Offsets::dwEntityList + ((WI&0xFFF) - 1) * 0x10); int mwi = _memory->read<int>(WE+Offsets::m_AttributeManager+Offsets::m_Item+Offsets::m_iItemDefinitionIndex); printf("%D",mwi);
-
9 часов назад, kiwipapayamongoose сказал:
Информацию из дампов игры, при краше кс генерирует их. Анализируй дампы и смотри из-за чего и где краш.
спасибо) про логи игры я что-то забыл))
-
20 часов назад, kiwipapayamongoose сказал:
Чего ты хочешь от созданной тобой темы, если в теме нет никакой информации об ошибке, нет отладочной информации?
хорошо, допустим попался мусор, но тогда вылетел бы чит, а не игра. Я не понимаю как игра может вылететь, если в нее ничего не пишется. Я пробовал рисовать просто текст в левом верхнем углу, все удачно, как только поставив координаты игрока- краш, через некоторое время. Предоставлю любую инфу какую скажешь, только скажи
-
Всем привет! уже неделю бьюсь над загадкой, у меня есть старый код, но рабочий на всех играх с которыми я работал)) код рисует боксы, линии и тд на оверлее, рисую с помощью SharpDx на C#. Проблема заключается в том, что когда в поле зрения попадает враг, то игра вылетает, если провернуть тоже самое, но с ботами, то вылет произойдет через некоторое время, не пойму почему вылетает игра, а не чит, ведь я не пишу ничего в игру, а только читаю координаты, номер команды и матрицу.
функция W2S
Скрытый текстprivate ScreenVector WorldToScreen(float x, float y, float z) { float w; float sx; float sy; sx = VMatrix.M11 * x + VMatrix.M12 * y + VMatrix.M13 * z + VMatrix.M14; sy = VMatrix.M21 * x + VMatrix.M22 * y + VMatrix.M23 * z + VMatrix.M24; w = VMatrix.M41 * x + VMatrix.M42 * y + VMatrix.M43 * z + VMatrix.M44; if (w < 0.01f) return new ScreenVector() { Result = false, X = 0, Y = 0 }; float invw = 1f / w; sx *= invw; sy *= invw; int width = WHwindow.Width; int height = WHwindow.Height; float xt = width / 2; float yt = height / 2; xt += 0.5f * sx * width + 0.5f; yt -= 0.5f * sy * height + 0.5f; sx = xt; sy = yt; return new ScreenVector() { Result = true, X = sx, Y = sy }; }
функция выполняющееся в таймере
Скрытый текстprivate void Loop() { while (true) { // GC.Collect(); gfx.BeginScene(); gfx.ClearScene(); for (int i = 0; i < 100; i++) { MyBaseAdr = mem.Read<int>(CheatData.bClient + Offsets.dwLocalPlayer); mteam = mem.Read<int>(MyBaseAdr + Offsets.m_iTeamNum); mycoords = mem.Read<Vector3>(MyBaseAdr + Offsets.m_vecOrigin); eBaseAdr = mem.Read<int>(CheatData.bClient + Offsets.dwEntityList + (i * Offsets.Loop_offset)); eteam = mem.Read<int>(eBaseAdr + Offsets.m_iTeamNum); dormant = mem.Read<bool>(eBaseAdr + Offsets.m_bDormant); // glowind = mem.Read<int>(eBaseAdr + Offsets.m_iGlowIndex); hp = mem.Read<int>(eBaseAdr + Offsets.m_iHealth); coords = mem.Read<Vector3>(eBaseAdr + Offsets.m_vecOrigin); head = CalcEnemyHead(eBaseAdr, 8); Gres = mem.Read<int>(CheatData.bClient + Offsets.dwPlayerResource); rank = mem.Read<int>(Gres + Offsets.m_iCompetitiveRanking + i * 4); // // angles = mem.Read<Vector2>(eBaseAdr + Offsets.m_angEyeAngles); mt = mteam; et = eteam; if (MyBaseAdr == 0x0) { continue; } VMatrix = mem.Read<Matrix4x4>(CheatData.bClient + Offsets.dwViewMatrix); ScreenVector sv = WorldToScreen(coords.X, coords.Y, coords.Z); ScreenVector svh = WorldToScreen(head.X, head.Y, head.Z); if (dormant) { continue; } if (hp == 0) { continue; } if (!sv.Result) { continue; } int ex = (int)sv.X; int ey = (int)sv.Y; int sx = WHwindow.Width / 2; int sy = WHwindow.Height; float h = (svh.Y - sv.Y); float w = 18500/(float)Vector3.Distance(mycoords, coords); float x = (int)(sv.X - w / 2); float y = (sv.Y); if ((eteam != mteam) &&mteam!=1) { if (CheatData.lines_wh) gfx.DrawLine(sx, sy, ex, ey, 2,new Direct2DColor(pen[0],pen[1],pen[2])); if (CheatData.hp_wh) gfx.DrawHorizontalBar(hp, x, y, 2, h, 1, new Direct2DColor(255,0 ,0 ), new Direct2DColor(0, 0, 0)); if (CheatData.box) { double d = Vector3.Distance(mycoords, coords); if (d == 0) continue; Drawbox(sv.X, sv.Y, (int)d); } if (CheatData.ranks) { gfx.DrawText(Ranks[rank], ex, ey, new Direct2DFont(new SharpDX.DirectWrite.Factory(), "Arial", 12), new Direct2DColor(255, 0, 0)); } } } gfx.EndScene(); Thread.Sleep(5); } }
-
14 часа назад, RNGesus сказал:
1. Смотря как рисовать будешь
2. dx9 end, dx11 swapchain
спасибо, разобрался) получилось вывести красный квадрат в игре))
-
ну я хочу чтоб прям в одном потоке с игрой, если это возможно.
-
зравствуйте форумчане, у меня к вам два вопроса) 1. нужно ли создавать directx device для экстернал чита? 2. через какую из функций лучше всего рисовать свое вх (begin,end или present), точнее не рисовать, а хукать?
пс: просмотрел туториал от кенга и в принципе понял как это устроено, но не понял как это сделать не на длл
-
как вывести ранги прям в скорборд, так как сделал это partoftheworlD? Я смог вывести ток в оверлейном окне на игроках)
-
так, с именами разобрался)
-
значит я не правильно понял тебя) я подумал, ты говоришь про структуру игрока которая в entitylist находится
-
так было в кс сурс, но не в ксго, если бы так было я бы не поднял бы этот вопрос
-
получилось получить ники через dwPlayerResource
Скрытый текстно это только моя комманда, а где остальные?
-
-
59 минут назад, partoftheworlD сказал:
А вот и ранги
Стоп,как?Причем тут m_iCompetitiveRanking?
-
2 минуты назад, what228 сказал:
В чем ошибка то была?
оффсеты я нашел верные, но я их не правильно прочитал
я читал так dll+radar+50+i*4+204
а надо так radarbase= dll+radar, потом это читаем, затем к прочитанному +50, опять читаем с +4, прибавляем 204 и выходим на юникод стринг
-
ура! С одной проблемой разобрался)
Скрытый текст -
3 часа назад, barsuuk сказал:
Но я где то ошибся(( выводится ток сильвер1
ну так что не так? я понять не могу((
-
сорян, я про эти правила только сейчас узнал
короче, больше не повторится
-
я хоть и зареган давно, но сижу здесь не так уж и часто.
-
хех, искал одно получил другое)) теперь у меня вторая проблема,имена я так и не нашел, но зато нашел ранги. Но я где то ошибся(( выводится ток сильвер1
Скрытый текст// rank = mem.Read<int>(CheatData.bClient + Offsets.dwPlayerResource + Offsets.m_iCompetitiveRanking + i * 0x4); // public string[] Ranks = new string[] { "Silver 1", "Silver 2", "Silver 3", "Silver 4", "Silver 5", "Silver 6", "Gold Nova", "Gold Nova 2", "Gold Nova 3", "Gold Nova 4", "Gold Nova 3", "Master Guardian 1", "Master Guardian 2", "Master Guardian 3", "DMG", "Legendary Eagle", "LEM", "Supreme", " } // и вывод bufferedGraphics.Graphics.DrawString(Ranks[rank], new Font("arial", 12), Brushes.Red, ex, ey);
-
спасибо))буду дальше ковыряться
-
как получить ники игроков в ксго, в струтуре игроков их нет. На других форумах пишут что через радар
https://www.unknowncheats.me/forum/counterstrike-global-offensive/150234-getting-players-name.html
попробовал как тут описано, но даже в СЕ не выводятся ники. потом доперло что изменились оффсеты, нашел radarbase а как найти другие?? или как можно выйти на ники другим способом??
dwClientCMD крашит кс
in Вопросы по взлому FPS игр
Опубликовано
чет всеравно не работает(((
я даже не знаю, где я ошибаюсь, в коде или в адресе