Логотип игрового форума RF-Cheats.ru    
Новости онлайн игр Правила форума Чёрный рынок Реклама и привилегии Гаранты Арбитраж

Вернуться   RF-Cheats.ru - форум читеров и ботоводов > > >

Читерство в RF Online

: Обсуждение читов, багов, эксплойтов и сетевого протокола игры Rising Force. А также программ и модификаций клиента, делающих игру более приятной.
Читы и обход фроста для RF Online без хайдаБоты и читы для Perfect World бесплатно без хайдаМоды и читы для World of Tanks (WoT) бесплатно без хайдаМоды и читы для Armored Warfare бесплатно без хайдаБоты и читы для DOTA 2 бесплатно без хайдаБоты и читы для Black Desert Online бесплатно без хайдаЧиты на ArcheAge бесплатно без хайдаЧиты для Warface бесплатно без хайдаВзлом ВКонтакте и ОдноклассниковСписок разделов со всеми играмиЧиты для онлайн игр






Ответ
 
Опции темы
Старый 07.11.2024, 02:24   #1
Diantro
Проф. продавец
Аватар для Diantro
OFFLINE
Регистрация: 29.10.2023
Сообщений: 1,850
Благодарностей:
203 всего
Мнения: + 435
Репутация: 610

Таб-таргет для любых серверов


Интро

Данная тема является продолжением предыдущей: Поиск функций в клиенте RF Online. В ней мы нашли, как использовать умения. В данной теме речь пойдет про выделение мобов/персонажей в таргет.

Вот, что мы получим в итоге: видос. Жмем "1" - выбираются персонажи, "2" - мобы.

Манипуляции будут проводиться на клиенте 2.2.3.2. Итоговый таб-таргет потестил на церберусе - работает. В теории должно работать на любом 2.2.3.2 клиенте. Если версия другая, то можно повторить шаги из гайда, чтобы найти оффсеты, либо попробовать Pattern Scanner.

Содержание:
  • Поиск функции выбора объекта в таргет
  • Поиск массива мобов, персонажей и NPC
  • Реализация простого таб-таргета

Просто напиши оффсеты не хочу ничего искать

Скролльте до параграфа "Реализация простого таб-таргета"


Поиск функции выбора объекта в таргет
  1. Заходим в игру, выбираем моба в таргет, начинаем искать в CE название монстра
    Example
  2. Видим статически адрес (RF_Online.bin+1F38E40, он же 02338E40, зеленый на скрине). Если выберите другого моба - значение изменится. По этому адресу всегда лежит имя текущего выделенного моба.
    Example
  3. Открываем x64dbg и ставим write breakpoint на данный адрес
    Example
  4. Выделяем моба, breakpoint сработает после команды, выполнившей запись по адресу
    Example
  5. Далее тактика такая: возвращаемся из функции (execute till return + step over) и NOP-ем ее. Выполняем это до тех пор пока выделение в таргет кликом не перестанет работать. То есть NOP-нули, кликнули на моба, если все еще работает - возвращаем исходный код и повторяем тоже самое с текущей функцией поднимаясь по стеку вызовов.
  6. В итоге мы найдем адрес 00522F6A, который вызывает функцию по адресу 005234E0
    Example
    Если подняться еще на одну ступеньку выше и NOP-нуть там, то персонаж еще и перестанет двигаться при клике на местность. То есть функция передвижения тоже где-то рядом.
  7. Даем функции имя SelectTarget и смотрим на аргументы. Функция вызывается от имени объекта, который лежит по адресу 12F13D10 (thiscall). Забегая вперед, первый аргумент - адрес моба, второй - константа 0.
    Example
  8. Найти оффсет для 12F13D10 просто: во всей цепочке вызовов выше данный адрес передается в ecx. Делаем execute till return + step over пока не встретим первый статический оффсет при записи в ecx. Находим адрес 007002E3. Получаем формулу [edx + 75888] = [[ebp - 4] + 75888]. В [ebp - 4] лежит ecx для текущей функции.
    Example
  9. Еще раз делаем execute till return + step over и находим базовый адрес. В итоге формула становится [23612C8 + 75888] = [23D6B50]. От имени объекта по этому адресу и вызывается SelectTarget.
    Example
  10. Статический анализатор подсказал мне, что данный класс называется CGP_MainGame.
    Example

В итоге получаем такую сигнатуру
Код на C++

UPD: Дополнение по выбору в таргет
https://www.rf-cheats.ru/forum/showp...1&postcount=91


Поиск массива мобов, персонажей и NPC
  1. Ставим breakpoint на push первого аргумента для SelectTarget в стек - это адрес моба, сохраняем его в блокнот.
    Example
  2. Ставим access breakpoint на данный адрес.
    Example
  3. Сразу же сработает breakpoint. Мы будем находиться в функции по адресу 004F5DB0. Вот так она выглядит. Я уже дал всем функциям имена. При возврате из функции мы найдем базовый адрес для массива объектов вокруг персонажа - 233b5f0
    Example
  4. В данной функции мы видим двойной цикл.
    • Первый итерируется от 0 до 0xC по массиву объектов, каждый из которых состоит из двух адресов - адрес первого элемента и адрес последнего элемента вложенного массива. То есть это своего рода матрица из объектов, с которыми персонаж может взаимодействовать. В голове можно держать эту структуру так [{firstAddress, lastAddress}, {firstAddress, lastAddress}, ... {firstAddress, lastAddress}].
    • Второй цикл берет значение по первому адресу 233b5f0 + index + 0xC + 4 и последнему адресу 233b5f0 + index + 0xc + 8 (перед подстановкой в формулу к index также применяется сдвиг влево на 4 бита - shl 4). В каждой итерации к первому значению прибавляется 4 до тех пор, пока адрес не станет равен последнему значению.
    Example

В итоге мы имеем базовый адрес для массива объектов 233b5f0. Всего в массиве 12 элементов (0xC). Каждый элемент содержит адрес первого и последнего элемента вложенного массива. Эти адреса достаются по формулам 233b5f0 + index (shl 4) + 0xc + 4 и 233b5f0 + index (shl 4) + 0xc + 8.


Реализация простого таб-таргета

Компилируем DLL и инжектим её через Cheat Engine. После инжекта нажимаем TAB для выбора мобов.

Реализация тривиальная: объекты берутся в таргет в том порядке, в каком они расположены в памяти. Сортировку по удалённости от персонажа, ХП и другим параметрам можете реализовать сами — оффсеты известны. По индексам 0, 1 и 2 находятся персонажи, мобы и НПС соответственно. Остальные массивы у меня были пустыми, но я не выходил за пределы генштаба.

DLL хукается к WndProc, чтобы перехватывать нажатия клавиш и вызывать SelectTarget в главном потоке игры.

Код на C++ (Updated 02.12.2024)


Готовое решение (Update 22.12.2024)

Допинал до рабочего состояния. Теперь умеет сортировать по HP и расстоянию.

При сортировке по ХП мобы сортируются по оставшемуся проценту ХП, если процент одинаковый — по расстоянию. Для сортировки по расстоянию — наоборот.
При сортировке по расстоянию выбирается следующий по удалённости после текущего выбранного (даже если он уже был выбран ранее).

HP
Расстояние

В архиве инжектор, DLL и README. Запускаете игру, выбираете персонажа, затем запускаете инжектор.
Тестил на церберусе и пвпваре x100.

Что нужно доработать:
  • Выбирать только вражескую расу при выборе игроков.
  • Исключать из выбора мёртвых мобов/игроков.

Архив прикреплен к комментариям:

Последний раз редактировалось Diantro; 18.11.2025 в 19:41. Причина: Добавил версию 1.2.0
 
Ответить с цитированием
Сказали спасибо:
cold (04.09.2025), AlexCXZ (21.04.2025), Roflex (18.04.2025), Noize (17.02.2025), Eagle (03.02.2025), zagibok44 (28.01.2025), ПингвинУборшиk (24.12.2024), [Nark][Devils] (02.12.2024), Agamon (24.11.2024), Bahtry (20.11.2024), Drakosha (14.11.2024), Werizander (13.11.2024), Jlo6aH (13.11.2024), DungeonKeeper (08.11.2024), NanoTech (07.11.2024), Sitanom (07.11.2024), dark (07.11.2024)


Старый 07.11.2024, 10:25   #2
dark
Владимир Владимирович
Аватар для dark
OFFLINE
Регистрация: 09.04.2007
Сообщений: 965
Благодарностей:
36,529 всего
Мнения: + 35975
Репутация: 116250
Отправить сообщение для dark с помощью ICQ Отправить сообщение для dark с помощью Skype™

Вот вам по сути и бот готов ) @Diantro +300 постов. Отличный материал.

Цитата:
Второй цикл берет значение по первому адресу 233b5f0 + index + 0xC + 4 и последнему адресу 233b5f0 + index + 0xc + 8
А чего ты просто в IDA это дело не загрузил и через псевдокод не прогнал? Там всё гораздо понятнее было бы.

Cheats Development | Создание читов на заказ

Я не оказываю услуги гаранта!
База данных кидал: blacklist.rf-cheats.ru
Обязательно проверяйте человека через чёрный список прежде чем совершать с ним сделку.
 
Ответить с цитированием
Сказали спасибо:
Diantro (07.11.2024)
Старый 07.11.2024, 12:19   #3
Sitanom
Читер
Аватар для Sitanom
OFFLINE
Регистрация: 08.02.2012
Сообщений: 160
Благодарностей:
2,826 всего
Мнения: + 12855
Репутация: 7269

Ну сделайте нам кто-то бота для рф
 
Ответить с цитированием
Старый 07.11.2024, 13:33   #4
Diantro
Проф. продавец
Аватар для Diantro
OFFLINE
Регистрация: 29.10.2023
Сообщений: 1,850
Благодарностей:
203 всего
Мнения: + 435
Репутация: 610

Цитата:
Сообщение от dark Посмотреть сообщение
Вот вам по сути и бот готов ) @Diantro +300 постов. Отличный материал.


А чего ты просто в IDA это дело не загрузил и через псевдокод не прогнал? Там всё гораздо понятнее было бы.
Если ты про декомпилятор, то прогнал. На последних скришотах есть.

Цитата
 
Ответить с цитированием
Старый 09.11.2024, 12:11   #5
Педро
Пользователь
Аватар для Педро
OFFLINE
Регистрация: 12.03.2015
Сообщений: 17
Благодарностей:
478 всего
Мнения: + 702
Репутация: 1435

Внимательно посмотрите автора поста, примите верное решение раскрывать оффтоп или сохранить психику
______A.F.I


Оффтоп

Последний раз редактировалось A.F.I; 12.11.2024 в 21:45. Причина: Свернул в спойлер

- Какая у тебя супер сила?
- Деньги
 
Ответить с цитированием
Старый 09.11.2024, 16:15   #6
DungeonKeeper
Старичок форума
Аватар для DungeonKeeper
OFFLINE
Регистрация: 01.08.2008
Возраст: 46
Сообщений: 640
Благодарностей:
1,921 всего
Мнения: + 1734
Репутация: 5764

В стародавние времена был план несколько проще. В игре есть опция бинда целей на кнопки 1-9, выбираем в игре что-то, биндим и потом одной кнопкой вызываем в таргет. Пока таргет не убит будет вызываться в цель.

Вот, можно было там в памяти записать ИДишник вообще всего что хочешь взять в бинд найдя его в в памяти клиента, в списке того, что вообще есть вокруг перса. Например мину инвизера или какого-то определенного монстра. Можно было особо гадких игроков при запуске игры себе туда вписать, чтобы их предварительно не таргетить в зарубе.

Для автофарма, например Лазувардинов в шахте в АФК, программным, каким-нибудь костылём, что в память писать умеет, в бинд записывался ID ближайшего Лазувардина и всё, только вместо "Таб" жмёшь в скрипте "1".

lolz i dont remember i ever said pidaras in normal chat
 
Ответить с цитированием
Сказали спасибо:
Diantro (09.11.2024)
Старый 09.11.2024, 17:04   #7
Педро
Пользователь
Аватар для Педро
OFFLINE
Регистрация: 12.03.2015
Сообщений: 17
Благодарностей:
478 всего
Мнения: + 702
Репутация: 1435

Внимательно посмотрите автора поста, примите верное решение раскрывать оффтоп или сохранить психику
______A.F.I

Оффтоп

Последний раз редактировалось A.F.I; 12.11.2024 в 21:56.

- Какая у тебя супер сила?
- Деньги
 
Ответить с цитированием
Старый 09.11.2024, 17:52   #8
DungeonKeeper
Старичок форума
Аватар для DungeonKeeper
OFFLINE
Регистрация: 01.08.2008
Возраст: 46
Сообщений: 640
Благодарностей:
1,921 всего
Мнения: + 1734
Репутация: 5764

"Кукла Флема" была нужна чтобы долбить по ней АОЕ скилами которые не привязаны к цели, чтобы на шару качаться стаскивая мобов к какому-то препятствию, сидя за ним на волхаке.

lolz i dont remember i ever said pidaras in normal chat
 
Ответить с цитированием
Старый 10.11.2024, 11:05   #9
Педро
Пользователь
Аватар для Педро
OFFLINE
Регистрация: 12.03.2015
Сообщений: 17
Благодарностей:
478 всего
Мнения: + 702
Репутация: 1435

Внимательно посмотрите автора поста, примите верное решение раскрывать оффтоп или сохранить психику
______A.F.I

Оффтоп

Последний раз редактировалось A.F.I; 12.11.2024 в 21:56.

- Какая у тебя супер сила?
- Деньги
 
Ответить с цитированием
Сказали спасибо:
gogenas (12.11.2024)
Старый 10.11.2024, 22:03   #10
DungeonKeeper
Старичок форума
Аватар для DungeonKeeper
OFFLINE
Регистрация: 01.08.2008
Возраст: 46
Сообщений: 640
Благодарностей:
1,921 всего
Мнения: + 1734
Репутация: 5764


Я ничерта не понял, но ладно.

Автотаргет штука полезная, когда на Сруофе его не было, я его себе из костылей делал, 100500 руды нафармил.
Псевдо Флема не делал, сложно было, сделал оконного танка, он как Флем но танк и не зобанют.

lolz i dont remember i ever said pidaras in normal chat
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заказ Любых ЛБЗ|БОИ НА 123|ЗАКАЗ ЛЮБЫХ УСЛУГ|WOT|ФАРМ|МАСТЕР|ПРОКАЧКА|Об260|Об279(Р) LBZ Прокачка аккаунтов World Of Tanks | Мир Танков, подставные бои и другие услуги 16 02.04.2020 21:14
Анти-таргет в пещере Антараса Артём612 Баги, читы, боты для Lineage 2 1 27.03.2013 09:22
[Hint] Гвг фишка а ля таргет из импосибл Viper_ Архив (Баги, Читы, Эксплойты БЕЗ ХАЙДА) 3 27.02.2009 13:43

Мир танков | Проект "Армата" | ArcheAge | Black Desert | РФ Онлайн | Айон | Майнкрафт | Браузерные игры
Элдер скролс | Р2 Онлайн | Реквием Онлайн | ПУБГ | Роял Квест | ГТА Санадреас | Контра | Дота 2
Мир кораблей | Лост Арк | Arma2 DayZ mod | The War Z | Карос: Начало | Tera Online
Читы для всех Онлайн-игр