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

Статус
В этой теме нельзя размещать новые ответы.
  • 77
  • 18
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Привет!
В этой статье я: расскажу как пофиксить много ошибок, которые возникают из-за неправильной настройки проекта, дам несколько полезных ссылок, опишу решения популярных проблем, связанных с обновлением чита.
Нет, это не дефолтная тема, где тупо инструкции и больше ничего. Необходимые вещи буду объяснять, чтобы было понимание того, зачем нужно то или иное действие.

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

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

Но вот беда - оффсеты, индексы обновили, а чит всё равно крашит.
Чтобы понять из-за чего крашит софт, нам нужно пробедажить его.
Первым делом - выбираем тип сборки "Debug" уже в знакомой нам строке конфигурации.

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

Ещё хуже - не смогли найти новые оффсеты/индексы.
С оффсетами всё просто - они есть тут: hazedumper/csgo.hpp at master · frk1/hazedumper.
А вот с индексами сложнее: их, обычно, так просто не найти.
Рассмотрим вариант ручного доставания их из CS:GO.

Не смогли даже обновить чит?
У каждого софта есть свой, так называемый 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". Срок жизни - по разному. Обычно - несколько месяцев.


Всё ещё остались вопросы? Напиши в теме, постараюсь ответить.
 
Последнее редактирование:
  • 14
  • 11
Спасибо большое за тему,теперь буду делать свою пасту:cool:
Привет!
В этой статье я: расскажу как пофиксить много ошибок, которые возникают из-за неправильной настройки проекта, дам несколько полезных ссылок, опишу решения популярных проблем, связанных с обновлением чита.
Нет, это не дефолтная тема, где тупо инструкции и больше ничего. Необходимые вещи буду объяснять, чтобы было понимание того, зачем нужно то или иное действие.

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

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

Но вот беда - оффсеты, индексы обновили, а чит всё равно крашит.
Чтобы понять из-за чего крашит софт, нам нужно пробедажить его.
Первым делом - выбираем тип сборки "Debug" уже в знакомой нам строке конфигурации.

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

Ещё хуже - не смогли найти новые оффсеты/индексы.
С оффсетами всё просто - они есть тут: hazedumper/csgo.hpp at master · frk1/hazedumper.
А вот с индексами сложнее: их, обычно, так просто не найти.
Рассмотрим вариант ручного доставания их из CS:GO.

Не смогли даже обновить чит?
У каждого софта есть свой, так называемый 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". Срок жизни - по разному. Обычно - несколько месяцев.


Всё ещё остались вопросы? Напиши в теме, постараюсь ответить.
 
  • 40
  • 47
Привет!
В этой статье я: расскажу как пофиксить много ошибок, которые возникают из-за неправильной настройки проекта, дам несколько полезных ссылок, опишу решения популярных проблем, связанных с обновлением чита.
Нет, это не дефолтная тема, где тупо инструкции и больше ничего. Необходимые вещи буду объяснять, чтобы было понимание того, зачем нужно то или иное действие.

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

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

Но вот беда - оффсеты, индексы обновили, а чит всё равно крашит.
Чтобы понять из-за чего крашит софт, нам нужно пробедажить его.
Первым делом - выбираем тип сборки "Debug" уже в знакомой нам строке конфигурации.

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

Ещё хуже - не смогли найти новые оффсеты/индексы.
С оффсетами всё просто - они есть тут: hazedumper/csgo.hpp at master · frk1/hazedumper.
А вот с индексами сложнее: их, обычно, так просто не найти.
Рассмотрим вариант ручного доставания их из CS:GO.

Не смогли даже обновить чит?
У каждого софта есть свой, так называемый 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". Срок жизни - по разному. Обычно - несколько месяцев.


Всё ещё остались вопросы? Напиши в теме, постараюсь ответить.
Интересно и познавательно xD
 
Статус
В этой теме нельзя размещать новые ответы.
Активность
Пока что здесь никого нет
Сверху Снизу