Гость Spereps Опубликовано 5 июля, 2018 Поделиться Опубликовано 5 июля, 2018 При написании Чита esp-hack возникла проблема с поисками нужных офсетов. В качестве инструмента использую cheat engine 6.6. При помощи различных видео-уроков, которые висят на просторах Интернета, смог найти структуру игрока. Вот, в кратце, как я это сделал: 1)Нашёл адрес здоровья 2)забил в pointer scan найденный мною адрес 3)Создал структуру(cntrl+b cntrl+d) В данной структуре отыскал структуру игрока, где находилась вся информация о нем(здоровье, броня, команда, координаты и т.д.) Теперь, собственно, перейдём к самой сути. Определить смещения здоровья, брони и координат было несложно. С номером команды чуть сложнее, но благодаря роликам на YouTube я смог узнать, что "теры" - это 2, а "контр-террористы" - это 3. Таким образом, теперь на руках у меня есть: oLocalPlayer - из него я, собственно, и создал структуру oHealth - офсет здоровья oTeam - офсет команды oArmor - офсет брони(он, впрочем, не нужен) oPlayerLocation - офсет координат игрока Однако, для создания esp-Чита этого недостаточно. Во многих видеоуроках по созданию читов для CS я видел, что там используется oEntityList и oEntityLoopDistance. Вот только, если про найденные мною офсеты в видеоуроках что-то да рассказывается, то про oEntityList и oEntityLoopDistance не говорится ничего. Ни, как найти, ни, что это такое. Существует, конечно же, "дампер" офсетов(для CS:GO такой точно есть, про cs:s не знаю), однако я хочу научиться сам искать смещения и понять назначения некоторых из них(oEntityList и oEntityLoopDistance). Вообщем, прошу подсказать мне, как найти нужные смещения и, если имеются ошибки в моих действиях, указать мне на них. P.S. Прошу прощения у модерации за предыдущую неоформленную по всем правилам тему. Просто мозг уже кипит, ибо весть день потратил на то, чтобы понять, как с помощью CE искать нужные офсеты, поэтому и не догадался заглянуть в правила форума. Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 5 июля, 2018 Поделиться Опубликовано 5 июля, 2018 18 минут назад, Spereps сказал: Ни, как найти, ни, что это такое. Это же вранье, сотни уроков на разных языках есть как находить их и что это такое. 18 минут назад, Spereps сказал: то про oEntityList и oEntityLoopDistance Список игроков и дистанция между структурами игроков. Не понятно как ты умудрился найти локальную структуру, но не структуру со списком игроков, ну да ладно.? Можешь мой экспериментальный способ нахождения структур LocalPlayer и EntityList попробовать. Либо традиционный, находишь правильный адрес здоровья, как его определить? Нужно зайти в любой дизассемблер x64dbg/IDA и найти 2 значения "m_iHealth" и "m_iTeamNum" ,взять их смещения, они обычно на инструкцию выше и выглядит как push 0xAB, где 0xAB смещение, так же смещения у тебя есть и в структуре локального игрока, в общем тебе нужно посчитать дистанцию между ними, это нужно для того чтобы проверить адрес здоровья. Итак, посчитал уже дистанцию между здоровьем и номером команды, теперь ищешь здоровье, отсеиваешь до минимума и выделяя каждый адрес нажимаешь CTRL+B, дальше смотришь в окошко с хекс значениями, тут нам и нужна дистанция между здоровьем и номером команды, если она совпадает, то адрес правильный и на него вешаешь поиск указателей 1 уровневый, если нет, то ищешь дальше. Правильный адрес здоровья только один, остальные его копии и никак не помогут в поиске нужных тебе структур. Теперь, как только нашлись указатели(их обычно 5-7), первый указатель будет указателем на LocalPlayer(твою структуру), второй указатель будет указателем на EntityList(список игроков), остальные указатели тебе не нужны, они работают с левыми структурами которые ни как не понадобятся в написании ESP, но можешь поковырять их ради интереса. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Spereps Опубликовано 5 июля, 2018 Поделиться Опубликовано 5 июля, 2018 Спасибо, что откликнулись! Цитата Нужно зайти в любой дизассемблер x64dbg/IDA и найти 2 значения "m_iHealth" и "m_iTeamNum" Подходит ли ollyDbg? Прочитал на одном англоязычном форуме, как через него находить m_iHelth, однако на этапе поиска возникли проблемы. В Client.dll я заинжектится, далее щелкнул правой кнопкой мышки на дизассемблерованном коде, выбрал вкладку "поиск" -> все строки со ссылками. Там, собственно, я и искал "m_iHelth", но, к сожалению, не преуспел в этом. 26 минут назад, partoftheworlD сказал: Это же вранье, сотни уроков на разных языках есть как находить их и что это такое. Видел кучу уроков на с++, однако в нем я не силён от слова совсем. Я пока владею только с#. На нем, кстати, недавно и нашёл видеоурок по движку для трейнера, от одного из администраторов данного сайта. Таким образом я и наткнулся на этот ресурс, чему неимоверно рад, ибо ранее находил лишь англоязычные форумы по созданию читов. Серия видеоуроков, к сожалению, уже почти год как не выкладывается, видимо из-за нехватки времени у человека. И самое обидное, что это единственная качественная серия уроков, найденная мной на просторах youtube. Другие видеоуроки с применением с# либо тоже "заморожены", либо их авторы, откровенно говоря, плохо поясняют свой код. Чаще всего они вообще не до конца понимают, что делают. А как я могу научиться что-то делать по видео, где автор такой же новичок, как и я? Именно по этим причинам я и обратился сюда - самому разобраться в том, чего не понимаешь, неимоверно сложно. Такие вот дела. --- Обязательно завтра попробую ваш способ поиска списка игроков. Если возникнут вопросы, надеюсь на ваши подсказки) Сейчас же лягу спать, ибо голова трещит от сегодняшних потуг отыскать нужные мне офсеты. Еще раз спасибо за вашу помощь! Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 5 июля, 2018 Поделиться Опубликовано 5 июля, 2018 28 минут назад, Spereps сказал: Подходит ли ollyDbg? Да, но слишком уж старый инструмент. x64dbg и обновляет каждые пару недель и хорошая, да и наверно единственная замена ollydbg, 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 6 июля, 2018 Поделиться Опубликовано 6 июля, 2018 5 часов назад, Spereps сказал: Серия видеоуроков, к сожалению, уже почти год как не выкладывается, видимо из-за нехватки времени у человека. Совершенно верно, пока, к сожалению, не хватает времени даже на короткие уроки по основам ассемблера. 5 часов назад, Spereps сказал: единственная качественная серия уроков, найденная мной на просторах youtube Спасибо за высокую оценку качества моих уроков 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Spereps Опубликовано 6 июля, 2018 Поделиться Опубликовано 6 июля, 2018 7 часов назад, Xipho сказал: Совершенно верно, пока, к сожалению, не хватает времени даже на короткие уроки по основам ассемблера Что же, Хатико ждал, и я подожду) 12 часов назад, partoftheworlD сказал: Да, но слишком уж старый инструмент. x64dbg и обновляет каждые пару недель и хорошая, да и наверно единственная замена ollydbg, Действительно, поставил x64dbg - стало намного удобнее. Решение же той проблемы (не мог найти m_iHealth в client.dll) я нашёл. Не знаю почему, но в client.dll по адресу ...\Steam\steamapps\common\Counter-Strike Source\cstrike\bin\client.dll просто-напросто не было строки m_iHealth. Но, если подключиться к самому процессу "hl2" через x64dbg, найти там модуль client.dll, то тогда, m_iHealth волшебным образом появляется. Не знаю, с чем это связано, ибо с ассемблерами и т.д. я пока на "Вы". --- Спасибо, partoftheworlD, благодаря вашим подсказкам мне удалось найти oEntityList (почему-то в прошлый раз, когда я использовал pointer scan, у меня нашёлся один-единственный указатель. В этот раз, к счастью, их действительно было 5). Только вот теперь появился вопрос по поводу oEntityLoopDistance, т.е. дистанцией между структурами игроков. Как её искать? взять адресс oLocalPlayer и отнять от него oEntityList? Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 6 июля, 2018 Поделиться Опубликовано 6 июля, 2018 7 минут назад, Spereps сказал: Как её искать? Поочередно открываешь структуры в EntityList и смотришь на смещение примеру здоровья, если оно там есть, то считаешь между ними дистанцию, к примеру в EntityList открываешь по смещению 0x10 указатель, ищешь здоровье по смещение 0xFC к примеру или номер команды, если оно там есть, то запоминаешь или записываешь смещение на указатель в entitylist, дальше открываешь следующую структуру 0x14 в ней ничего нет, пропускаешь и т.д пока не найдешь очередную структуру со здоровьем по тому же смещению 0xFC или номером команды, нашел вторую структуру к примеру по смещению 0x28, теперь смещение на структуру второго игрока отнимаешь от смещения на первого игрока и получаешь "entityloop". 0x28 - 0x10 = 0x18(enitityloop) 0xFC смещение здоровья для примера. 8 минут назад, Spereps сказал: Не знаю, с чем это связано Некоторые строки валв пакует, чтобы старые уроки по взлому вызывали трудности с поиском. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 6 июля, 2018 Поделиться Опубликовано 6 июля, 2018 Всем плюсы - показательный топик Как нужно задавать вопросы и как отвечать. Так держать!!!? Ссылка на комментарий Поделиться на другие сайты Поделиться
JustHack Опубликовано 6 июля, 2018 Поделиться Опубликовано 6 июля, 2018 (изменено) [censored] Изменено 11 апреля, 2020 пользователем JustHack 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 6 июля, 2018 Поделиться Опубликовано 6 июля, 2018 3 минуты назад, JustHack сказал: Больше похоже на 'ТС не умеет пользоваться поиском по форуму'. Грубый ты. Иди "В угол" Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Spereps Опубликовано 7 июля, 2018 Поделиться Опубликовано 7 июля, 2018 Всё, partoftheworlD, спасибо за помощь, если бы не ты, не знаю, что бы я делал) Со всем, что нужно по esp, разобрался. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения