Гайд Помощь пастеру: как пофиксить ошибки, краши | как обновить индексы/оффсеты

Легенда форума
Легенда форума
Статус
Оффлайн
Регистрация
10 Дек 2018
Сообщения
4,457
Реакции
2,321
Привет!
В этой статье я: расскажу как пофиксить много ошибок, которые возникают из-за неправильной настройки проекта, дам несколько полезных ссылок, опишу решения популярных проблем, связанных с обновлением чита.
Нет, это не дефолтная тема, где тупо инструкции и больше ничего. Необходимые вещи буду объяснять, чтобы было понимание того, зачем нужно то или иное действие.

Итак, приступаем.

В большинстве читов, как только Вы скачали сурс, неправильно настроен проект, из-за чего может возникнуть примерно бесконечное кол-во ошибок.
Фиксим:
Кликаем на "Проект" на панели сверху, далее "Свойства <имя проекта>...", Свойства конфигурации > Общие > Версия пакета SDK для Windows (выбираем последнюю);
Набор инструментов платформы (выбираем v141, если у Вас визуалка 2017-го года, v142 если 2020-го);
Далее: C/C++ > Язык > Стандарт языка C++ (выбираем Стандарт ISO C++ 17 (/std:c++17));
Так же проверьте выбранный тип конфигурации сборки, увидеть его можно тут:
2020-07-23_101133.png

Правильная конфигурация - Release; x86. x86 потому, что CS:GO является 32-битным процессом, соответственно, и внедряемая библиотека должна соответствовать. Release - потому что релиз :confused:.
Всё, ошибок больше нет, живем радуемся.

Но вот беда - оффсеты, индексы обновили, а чит всё равно крашит.
Чтобы понять из-за чего крашит софт, нам нужно продебажить его.
Первым делом - выбираем тип сборки "Debug" уже в знакомой нам строке конфигурации. Дальше просто следуйте инструкции из этой темы: https://yougame.biz/threads/25643/.
Главные правила:
- ОБЯЗАТЕЛЬНО нужно сначала присоединять дебаггер, только потом инжектить, иначе:
а) Невозможно будет узнать причину краша при инжекте;
б) Невозможно будет узнать само место в коде из-за которого произошёл краш.
- Компилить чит в дебаг-сборке, ибо:
а) В дебаг версии читов обычно есть дополнительная консолька, в которой будет выводиться информация о том, какие хуки были подгружены, иногда и другая информация. Это поможет узнать примерное место в коде, из-за которого произошёл краш, если сам дебаггер будет писать аля: "нет отладочной информации для файла <...>" и будет показан только код на дизассемблере, который, скорее всего, Вам понятен не будет. Да, дебаггер не всегда может узнать точное место краша;
б) Если дебажить релиз версию проекта, дебаггер ВСЕГДА будет писать, что нет отладочной информации и будет только код на дизассемблере.

Ещё хуже - не смогли найти новые оффсеты/индексы.
С оффсетами всё просто - они есть тут:
Пожалуйста, авторизуйтесь для просмотра ссылки.
.
А вот с индексами сложнее: их, обычно, так просто не найти.
Рассмотрим вариант ручного доставания их из CS:GO.
Как доставать: https://yougame.biz/threads/143797/

Не смогли даже обновить чит?
У каждого софта есть свой, так называемый SDK (почти у каждого). SDK (сдк) - своеобразная база данных, в которой содержаться названия классов, индексов, оффсетов и т.п. "Имена" могут быть абсолютно разными, Вы можете переименовать "GetSpread" в "aaaaaaa" и попробовать собрать проект - чит всё равно будет работать. У каждого кодера свой стиль написания кода, поэтому тот же "GetSpread" может превратиться, например, в "get_spread". То есть, названия могут быть неодинаковыми.
Если с такой простой вещью всё понятно, то с абсолютно другими названиями оффсетов или индексов будет сложнее. К примеру, в Вашей пасте есть оффсет "fix skins". В hazedumper'е он называется по другому, непохоже от слова совсем. В таком случае можно просто запомнить, что fix skins = get_weapon_data (getWPNdata), либо смотреть на то, как выглядит оффсет и на оффсеты в хейздампере. Обычно, оффсеты обновляются не полностью, а только пару букв-цифр. В зависимости от старости оффсета будет большее или меньшее кол-во изменений. Таким образом, оффсет "0x2C" за одно обновление может превратиться в "0x2A". Кол-во символов в оффсете, насколько я знаю, либо не меняется вообще, либо меняется очень редко.
Просто смотрим на схожие по кол-ву символов и букв/цифр оффсеты и выбираем. Тут уж можно включить дедукцию и понять, что "fix_skins" каким-то образом связано с оружием. Т.е., допустим, Вы нашли несколько похожих на "0x2A" (fix_skins) оффсетов. В них входят: "m_hMyWeapons", "m_iHealth", "m_szCustomName". Понятное дело, "m_iHealth" или "m_szCustomName" никак не могут быть связаны со скинами. Исходя из этого, выбираем "m_hMyWeapons" и заменяем старый оффсет на новый.

Где находится/как называется файл с оффсетами/индексами?
Он так же может называться по разному. Например, CEntity, entityes и др.
Самый верный способ найти этот самый файл - воспользоваться поиском по проекту (Ctrl + F). В поиск можно вписать, к примеру spread; penalty; accuracy, т.е. ключевые слова в названиях индексов/оффсетов (НЕ полные возможные имена, т.к. опять же, СДК у каждого чита свой).
Таким способом можно искать и названия оффсетов в hazedumper'е, например.

Как выглядит сигнатура/оффсет/индекс? Сколько они живут?
Пример сигнатуры: "C8 FF 92? 08? 05? 00? 00? 84 C0 74? 5F? 576A 01 56 E8 48? EA? 07?". Срок жизни - вечность, но иногда могут слететь.
Пример оффсета: "0xCF8". Срок жизни - обычно, пару обновлений. Некоторые - намного дольше.
Пример индекса: "216". Срок жизни - по разному. Обычно - несколько месяцев.


Всё ещё остались вопросы? Напиши в теме, постараюсь ответить.
 
Последнее редактирование:
спасибо помог
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Спасибо за полезную инфу

поставил бы лайк,но не могу(
 
Очень крутая тема,я в плюсах не шарю, от слова НИХУЯ, но буду юзать (Нет, потому что я НИХУЯ НЕ ЗНАЮ)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Брат, спасибо за информация, цьмок))
 
Спасибо за помощь <3
 
Ничего нового не узнал, но спасибо :seemsgood:
 
б) Если дебажить релиз версию проекта, дебаггер ВСЕГДА будет писать, что нет отладочной информации и будет только код на дизассемблере.
Нет, компилишь с Zi флагом - и дебаггер успешно работает и на релиз версии
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
неплохой туториал для новичков
 
Нет, компилишь с Zi флагом - и дебаггер успешно работает и на релиз версии
Так дебаг-версия это-ж не какой-то отдельный плагин, этой конфигурации доступны те же самые настройки, что и в релизе.
Я лично нигде не видел, чтобы он был включён в релизе.
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Так дебаг-версия это-ж не какой-то отдельный плагин, этой конфигурации доступны те же самые настройки, что и в релизе.
Я лично нигде не видел, чтобы он был включён в релизе.
по дефолту был включен бтв
tRzoVTP.png
 
Довольно хорошо все расписал, величайшим пастерам понадобится
 
Пастерам привет, остальным собалезную
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сколько они живут?
Что за бред? Каждый по разному. Не получится собрать статистику со всех паттернов/оффсетов/нетваров.
Максимум можно проследить тенденцию обновления оффсетов на hazedumper, да и то сплошной рандом.
 
Что за бред? Каждый по разному. Не получится собрать статистику со всех паттернов/оффсетов/нетваров.
Максимум можно проследить тенденцию обновления оффсетов на hazedumper, да и то сплошной рандом.
С оффсетами тупанул, исправил.
Обычно, они 2-5 обнов живут. Кроме анимстейта и т.п.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
С оффсетами тупанул, исправил.
Обычно, они 2-5 обнов живут. Кроме анимстейта и т.п.
Ты никак об этом не соберешь статистику. CS:GO dev team обновляет кс-го абсолютно рандомно (В плане времени), в пример - сегодняшний апдейт. Можешь конечно зайти на hazedumper и там собрать стату, но она будет рандомная и примерная бтв.
 
1)ты не написал про сигнатуру,напиши пожалуйста!
2)у меня не работает дебаггер:
Screenshot_10.png
 
Назад
Сверху Снизу