Добро пожаловать! Игровой форум WLUX.NET - Игры, Читы, Скрипты, Статьи, Софт, Курсы.

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. После регистрации и входа в систему вы сможете создавать темы, публиковать ответы на существующие темы, повышать репутацию участников, скачивать вложения и файлы и многое, многое другое. Так чего же вы ждете?

Добро пожаловать гость!

Приветствуем вас на нашем форуме! Мы очень рады вас видеть и с большим удовольствием поделимся всей информацией нашего форума!

Мы уважаем своих пользователей и так же ждем от вас приятного общения.

Система наград, ежедневное пополнения тем!

Общайся, получай награды.

Статьи, гайды, софт

У нас вы можете скачать бесплатно читы для игр. Полезные гайды на любые темы и схемы заработка. Есть раздел халявы!

FAQ по форуму

Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

  • Добро пожаловать на сайт - wlux.net!

    FAQ по форуму

    1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа

    2. Сообщения учитываються в следующих разделах: Читать

    3.Что-бы скачать вложение нужно 2 сообщения.

    4.Личные переписки работают только с Администрацией форума

    5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта

    6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!

    5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

Гайд Получение CBaseEntity, поиск EntityList в Dota 2

wlux.net Оффлайн

wlux.net

Где волчьи уши, там волчьи зубы.
Команда форума
LV
7
 
20.06.2022
23 845
218
36
Награды
10
Пол
Муж.

Репутация:

  • Автор темы
  • Администратор
  • Модератор
  • Команда форума
  • #1
Необходимое программное обеспечение:
Понадобиться нам для написания чита. Крайне рекомендую использовать те же инструменты, которыми пользуюсь я (или их аналоги), за исключением языка программирования: вы можете писать код на чём угодно, я, как в институте, дам вам базовые знания и объясню принцип работы, всё остальное за вами.

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.



Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.


Среду разработки и язык программирования выбираете по желанию сами.

Перед началом основной работы необходимо знать некоторые вещи:
Я разрабатываю в Embarcadero Delphi 10 Seattle, если кому нужно, скачать тут (используйте vpn или прокси для обхода блокировки):

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.



Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.


Если вы хотите знать все прелести православного паскаля и выделяться среди серой массы всех остальных, то можете повторять за мной всё, что я буду делать в гайдах. Копипастерам данного форума, которые обитают в соседнем разделе связанным с контрой - будет не просто, ибо кода на си, который можно взять и воткнуть в свой проект, в моих темах практически не будет; для всех остальных, устремлённых людей - дороги открыты (будет не сложно, на самом деле).

[Tutorial #1]: Получение структуры Entity

Вот и настала первая часть урока по созданию читов на Dota 2. Что нам нужно в первую очередь, дабы чит и вправду считался читом? - Получать полезную информацию. Что самое полезное может быть в доте? Информация об сущностях \ игроках. Где она хранится? Правильно в структуре сущности (CBaseEntity), указатель на которую мы и научимся получать в нашем первом уроке.

Необходимое программное обеспечение на сегодня:
Нам понадобится Cheat Engine (или любой аналог, даже любой x64 дебагер), кто во что горазд.
На примере CE я покажу как искать то, что нам нужно.

Объяснять я буду популярно, простыми словами, грубо, но понятно объясняя суть работы всего происходящего.

Что такое "структура сущности"?
В структуре энтити лежат "ништяки". Так что это и как оно устроенно?

Очень простыми словами это структура, в которой описаны и хранятся параметры "объекта", например его имя, тип, положение, адреса на что-либо что с ней связано и т.п.
ejCY03O5pAc.jpg

Брошенная ветка, летящий кулак свена, крип, кура, фонтан, башня и всё в таком роде - это Entity.

В движках idTech, GoldSrc, Source (а так-же многих других) для удобства есть список указателей на Entity - EntityList. Многие из вас пастят свои хацки для CS:GO, откройте какой-нибудь исходник External чита, сразу станет ясно о чём я говорю: чит ищет указатель на EntityList, потом бегает в цикле по адресам, хранимым в нём и получают информацию об игроке. Тут принцип точно такой-же.
NOK4sbO7_M8.jpg

Давайте попробуем найти EntityList в доте?

Стартуем дотку, подключаемся к ней Cheat Engine'ом:
1YYpNGWTTf8.jpg

Стартуем либо в лобби, либо в просто проверке героя, в нашем случае это роли никакой не играет. Начнём. Так-как структура Entity содержит информацию, попробуем найти энтити своего героя, самый простой способ - по его мане. Вбиваем кол-во маны, тип вещественный 4 байта, жмякаем на поиск.
raHyI-ElmAk.jpg

Качаем скил, кастуем, мана меняется - ставим на паузу и отсеиваем в ce весь ненужный мусор.
sYpktfxmAUc.jpg

Было найдено 4 адреса, первые два из которых - это не от самого игрока, а от игрового манабара (переключитесь на крипа с маной, значение изменится); далее попробуем узнать кто читает адрес вторых двух.
0iorFmnROMg.jpg

gdOM59CZb2o.jpg

В регистре RCX у нас будет находится адрес нашей Entity (выделено стрелочкой), а A0C это смещение от этого адреса, которое указывает на нашу ману.
Переключаем поиск на 8 байт, целочисленное, ставим галку на HEX и ищем все адреса, указывающие на нашу Entity (то, что было у нас в регистре RCX)

У меня нашло 125 адресов, не страшно, самый ленивый метод это посмотреть кто читает его, а так-как мы знаем, что наш адрес будет находится в EntityLst, то нам покажут примерно: mov Z,[X+Y*I], где I это смещение в EntityList, которое указывает на новую энтити. Клацаем на каждую в надежде увидеть это:
vlx2xW1gnhs.jpg

То, что в Value имеет зелёный цвет - пропускайте, зря время потратите, а всё остальное сохраняем. Их будет несколько, сразу скажу что если RCX = 0, то это указатель на локального игрока (только вас, других энтитей там не найдёте), по этому если ваша цель только EntityList, пропускайте.
iRGKliRFj1c.jpg

Так вот, мы нашли то, что скорее всего и является нашим EntityList (регистр RAX):
vlx2xW1gnhs (1).jpg

Вобьём его адрес в поиск и увидим зелёный адрес - статичный указатель (до следующей обновы client.dll - он не поменяется).
fKDoT6ftNfE.jpg

Пробуем теперь подставить всю цепочку из указателей: [[[client.dll + offset] + Ident * 0x8] + 0xA0C] = Наша мана.
EUYGEWJLoT8.jpg

[Ident * 0x8] в моей ветке выше это и есть то смещение в EntityList, которое указывает на новую Entity, однако, в CE отображается смещение как каждые 8 байт, что не верно, меняйте на 0x30 (я поставил 0x10).
В итоге побрутив я нашёл что по [0x1E*0x10] находится указатель на CBaseEntity нашего героя.
NOYU0-hZbwc.jpg

Для подтверждения создадим ещё героя и подбирая Ident попробуем найти и его.
hfIulJosz0I.jpg
Ari6XapO9as.jpg

Если показалась мана другого Entity - значит всё сделали правильно, у нас действительно получилось найти EntityList.

Смотрим есть ли какие-нибудь строки или набор уникальных байт рядом с нашим указателем, дабы сделать сигнатурку, и у нас уже есть поиск указателя EntityList который не сломается после обновы Dota 2.
 
Последнее редактирование:
X1Dev Оффлайн

X1Dev

Участник
LV
0
 
02.05.2024
1
0
7
24

Репутация:

тема давно устаревшая. сейчас бесполезная штука
 

Поиск по форуму

shape1
shape2
shape3
shape4
shape7
shape8
Верх