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

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

Пакетный уровень RFO / WPF-скрипты

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



Ответ
 
Опции темы
Старый 18.08.2009, 10:54   #1
broveymimo
Эксперт
Аватар для broveymimo
OFFLINE
Регистрация: 30.03.2009
Возраст: 40
Сообщений: 906
Благодарностей:
839 всего
Мнения: + 1478
Репутация: 2468

Разбор пакетов


Долго искал, но так и не нашел никакого мануала по пакетам РФО. По сему начну эту тему для тех, кто самостоятельно разбирается с пакетами, кто хорошо это умеет делать и кто только начинает этим заниматься.

Для затравки начну с пакета 07 09 "EquipPartRequist".

Пакет имеет примерно такой вид:

08 00 07 09 00 06 00 00

Ну, начало понятное: 08 00 -длина пакета
07 09 - тип пакета
06 00 - осмелюсь предположить - ID вещи в инвентаре.

Кто знает больше - поделитесь информацией.

Суть проблемы в чем - когда мы одеваем вещь, клиент отсылает пакет 08 00 07 09 00 06 00 00. В ответ сервер присылает пакет 05 00 07 0A 00 - если разрешает одеть вещь, или 05 00 07 0A 02 - если не разрешает одеть вещь.

Делает как обычно, ловим пакет на одевание вещи. Отправляем его серверу через WPF. Сервер присылает разрешение на одевание вещи, но вещь так и остается в инвентаре. Причем одеть ее теперь "вручную" не получится, и не продать, и не выбросить. Пока мы не пошлем серверу пакет 08 00 07 0D 01 06 00 02 "OffPartRequist". Теперь вещь можно одевать и снимать "вручную".

Аналогично происходит и с пакетом 0A 00 07 0B 00 0A 00 02 FF FF "EmbellishRequist" на одевание бижутерии.
 
Ответить с цитированием
Сказали спасибо:
fyflik777 (10.03.2015), Antoshka174 (17.01.2012), MoXxX (27.11.2011), SnupDog (12.11.2011), Ozzi (13.12.2010), Недоступно (03.03.2010), Недоступно (22.02.2010), Недоступно (06.02.2010), altry1st (25.12.2009), Недоступно (12.10.2009), GADYS (30.09.2009)


Старый 18.08.2009, 10:58   #2
dark
Владимир Владимирович
Аватар для dark
OFFLINE
Регистрация: 09.04.2007
Сообщений: 961
Благодарностей:
34,346 всего
Мнения: + 22107
Репутация: 109701
Отправить сообщение для dark с помощью ICQ Отправить сообщение для dark с помощью Skype™

Если ты от лица клиента посылаешь пакет - он об этом не знает. И по ответу от сервера он не может понять, какую вещь ты одел или попытался одеть (сам видишь, в ответе нет id этой вещи). Поэтому она и остаётся в инвентаре.

По поводу разбора пакета 07 09. Запомни одно из фундаментальных правил сетевого протокола rf (да и любых других сетевых сервисов). Числовые значение передаются задом наперёд. То есть id в твоём пакете это - 00 06.

Создание читов на заказ | Правила форума

Я не оказываю услуги гаранта!
База данных кидал: blacklist.rf-cheats.ru
Обязательно проверяйте человека через чёрный список прежде чем совершать с ним сделку.
 
Ответить с цитированием
Сказали спасибо:
Antoshka174 (17.01.2012), Недоступно (22.02.2010)
Старый 18.08.2009, 11:50   #3
broveymimo
Эксперт
Аватар для broveymimo
OFFLINE
Регистрация: 30.03.2009
Возраст: 40
Сообщений: 906
Благодарностей:
839 всего
Мнения: + 1478
Репутация: 2468

Цитата:
Сообщение от dark Посмотреть сообщение
Числовые значение передаются задом наперёд. То есть id в твоём пакете это - 00 06.
Я это знаю, по этому не 00 06, а 06 00. Т.е. Id 6 - 06 - младший байт.

Может тогда подскажешь как одеть вещь, чтобы клиент знал, что он одевает?
 
Ответить с цитированием
Сказали спасибо:
Недоступно (03.03.2010)
Старый 18.08.2009, 11:54   #4
dark
Владимир Владимирович
Аватар для dark
OFFLINE
Регистрация: 09.04.2007
Сообщений: 961
Благодарностей:
34,346 всего
Мнения: + 22107
Репутация: 109701
Отправить сообщение для dark с помощью ICQ Отправить сообщение для dark с помощью Skype™

Цитата:
Сообщение от broveymimo Посмотреть сообщение
Я это знаю, по этому не 00 06, а 06 00. Т.е. Id 6 - 06 - младший байт.

Может тогда подскажешь как одеть вещь, чтобы клиент знал, что он одевает?
а, да, это я тупанул :)

Чтобы клиент знал, что ты на него одел.. ничего в голову не приходит..

Создание читов на заказ | Правила форума

Я не оказываю услуги гаранта!
База данных кидал: blacklist.rf-cheats.ru
Обязательно проверяйте человека через чёрный список прежде чем совершать с ним сделку.
 
Ответить с цитированием
Сказали спасибо:
Недоступно (22.02.2010)
Старый 18.08.2009, 12:01   #5
broveymimo
Эксперт
Аватар для broveymimo
OFFLINE
Регистрация: 30.03.2009
Возраст: 40
Сообщений: 906
Благодарностей:
839 всего
Мнения: + 1478
Репутация: 2468

А если я пошлю пакет на одевание вещи из бота, он ее оденет? Просто сейчас я на работе и не могу проверить в боте (он на домашнем компе).
 
Ответить с цитированием
Старый 18.08.2009, 12:04   #6
dark
Владимир Владимирович
Аватар для dark
OFFLINE
Регистрация: 09.04.2007
Сообщений: 961
Благодарностей:
34,346 всего
Мнения: + 22107
Репутация: 109701
Отправить сообщение для dark с помощью ICQ Отправить сообщение для dark с помощью Skype™

Цитата:
Сообщение от broveymimo Посмотреть сообщение
А если я пошлю пакет на одевание вещи из бота, он ее оденет? Просто сейчас я на работе и не могу проверить в боте (он на домашнем компе).
нет, я же говорю, по ответу от сервера нереально определить, что было одето. Нужно посмотреть другие входящие пакеты, вероятно там есть глобальный пакет с информацией о том, что кто-то из окружающих что-то одел. Но судя по тому, что ты в первом посте написал, даже если пакет есть, клиент его игнорирует.

Создание читов на заказ | Правила форума

Я не оказываю услуги гаранта!
База данных кидал: blacklist.rf-cheats.ru
Обязательно проверяйте человека через чёрный список прежде чем совершать с ним сделку.
 
Ответить с цитированием
Старый 18.08.2009, 12:09   #7
broveymimo
Эксперт
Аватар для broveymimo
OFFLINE
Регистрация: 30.03.2009
Возраст: 40
Сообщений: 906
Благодарностей:
839 всего
Мнения: + 1478
Репутация: 2468

ок, спасибо за подсказку
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 800 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
Чтобы его прочитать, вы должны заработать сообщения. Как это сделать бесплатно, описано в правилах форума. Как купить доступ, описано в Платных услугах.


Добавлено через 57 минут
Пожалуй начнем копать из далека.

Становимся в ГШ в пустынном углу, где никого нет на радаре. Ловим пакеты. Сервер периодически шлет пакет 0c 00 04 0a 00 00 1f 02 2a 6b 0a 00.

Предположим это информация о том, кто находится в вашем поле зрения. Так как никого кроме вас самого нет рядом, значит это пакет с информацией о вас. 1f 02 - это ваш SID, 2a 6b 0a 00 - это ваш ID.

Добавлено через 3 часа 58 минут
Теперь перейдем в более оживленное место.
Здесь у нас есть стригои.
Сразу видим кучу новых пакетов. Попробуем их расшифровать.
0C 00 04 0A 00 01 F0 16 EA F4 0F 00
0C 00 04 0A 00 01 6D 0E 32 D1 0F 00
0C 00 04 0A 00 01 91 0F 88 DC 0F 00

Короче полная абракадабра. Из повторяющихся пакетов только наш первый.
Смотрим в боте стригои имеют ID = 29. Открываем калькулятор, переводим в 16-ричное = 1D. Визуально ничего похожего не видно.

Пробуем по другому. Таргетим одного стригоя и убиваем его. Ищем одинаковые цепочки.

0C 00 0D 1A 00 01 F0 16 EA F4 0F 00 - это пакет "SetTargetObjectRequest"

Листаем дамп назад и смотрим уже известные пакеты "04 0А".

0C 00 04 0A 00 01 F0 16 EA F4 0F 00

Ага, уже что-то похожее есть! И там, и там последние 6 байтов совпадают.

Добавлено через 4 часа 19 минут
Тут же поймали пакет "MonsterMove".

12 00 04 05 EA F4 0F 00 46 FD 52 FE F3 1B B4 FC 41 1C

И впраду, после таргетинга моб начал двигаться.

Тут мы видим, что от моба осталось только EA F4 0F 00

0F 00 0D 1B 00 00 01 EA F4 0F 00 10 27 00 00

Теперь сервер подтвердил таргетинг моба EA F4 0F 00

09 00 0D 64 EA F4 0F 00 00

Непонятный пакет, WPF его не определил.

0A 00 05 01 01 F0 16 00 FF FF

А вот тут уже интереснее. Пакет "AttackGenRequest". Здесь мы моба задаем как F0 16.

19 00 05 07 00 2A 6B 0A 00 00 FF FF 00 00 01 01 EA F4 0F 00 AB 06 00 00 00

Пакет "AttackGenResult".

0B 00 03 18 F0 16 EA F4 0F 00 00

Пакет "MonsterDestroy". Тут так сказать и Имя, и Фамилия моба присутствует F0 16 EA F4 0F 00

1D 00 03 14 12 3C 00 01 53 00 2A 6B 0A 00 01 F0 16 EA F4 0F 00 00 B8 FC 5A FE 39 1C FF

Пакет "ItemboxCreate". Дроп с моба.

Добавлено через 7 часов 13 минут
Помимо данных моба здесь есть еще кое-что, ранее нам встречавшееся

2a 6b 0a 00

Это наш id. Смотрим первый пакет.

Добавлено через 12 часов 4 минуты
Теперь проверим, а действительно ли это наш id?
Пишем что нибудь в чат и ловим пакет.

2b 00 02 0a 01 2a 6b 0a 00 74 6f 70 70 6f 70 65 72 00 00 00 00 00 00 00 00 00 01 00 00 0c ef f0 e8 e2 e5 f2 20 e2 f1 e5 ec 21 00

Вот и наш ID.

Последний раз редактировалось broveymimo; 19.08.2009 в 01:50. Причина: Добавлено сообщение
 
Ответить с цитированием
Сказали спасибо:
MoXxX (27.11.2011), DaNeK93 (18.09.2010), Недоступно (03.03.2010)
Старый 26.08.2009, 02:43   #8
broveymimo
Эксперт
Аватар для broveymimo
OFFLINE
Регистрация: 30.03.2009
Возраст: 40
Сообщений: 906
Благодарностей:
839 всего
Мнения: + 1478
Репутация: 2468

1d 00 03 14 14 13 00 01 d6 00 41 41 00 00 01 ec 09 d0 f3 6b 00 00 99 04 2e fe 4e 1e ff

1d 00 - размер пакета
03 14 - тип
14 13 00 - глобальный ID предмета. Имеется ввиду, по которому происходит идентификация предмета.
01 - Количество предметов в пакете.
d6 00 - OID предмета
41 41 00 00 - ID персонажа, которому принадлежит дроп (который убил моба)
01 - не выяснено
ec 09 - SID моба
d0 f3 6b 00 - ID моба/чара, с кого дропнуло
00
99 04 2e fe 4e 1e - X Y Z координаты дропа
ff
 
Ответить с цитированием
Сказали спасибо:
Недоступно (29.10.2012), MoXxX (27.11.2011), DaNeK93 (18.09.2010), KRERIKS (23.09.2009)
Старый 10.09.2009, 21:36   #9
reglament
Гость
Аватар для reglament
Сообщений: n/a
Благодарностей:
0 всего

Цитата:
Сообщение от broveymimo Посмотреть сообщение
2.Не меняется в течении всей сессии. При следующем входе в игру ID скорее всего поменяется.
(твой ответ из топика - Пакетный уровень RF Online для новичков)

по моему это несколько не правильно, возьми к примеру первый пост из этого топика - проделав данную процедуру узнали id вещи (к примеру С1). а теперь выкинь ее, подними и одень снова. Наборы пакетов ( набор имею ввиду и C>s и S>c ) на выкидывание вещи показывают тот же id (С1), а вот уже наборы пакетов на поднятие и одевания подобранного предмета показывают id другой (C2). Причем при условии, что рядом нет никого и никто ничего не одвает и не выкидывает, id вещи меняется на +1. ( С1 -> C2 (Hex) = 193 -> 194 (Dec) ).
 
Ответить с цитированием
Сказали спасибо:
Bankir (08.02.2010)
Старый 10.09.2009, 22:08   #10
котопес
Супер-модератор
Аватар для котопес
OFFLINE
Регистрация: 22.12.2008
Возраст: 42
Сообщений: 1,100
Благодарностей:
2,830 всего
Мнения: + 4005
Репутация: 9059
Отправить сообщение для котопес с помощью ICQ

а это давно было известно что уникальный ид вещи меняется при кидании на пол. а вот id-gid вещи остается один и тот же. а то как бы клиент знал что показывать :)

админю исключительно unix сервера
 
Ответить с цитированием
Сказали спасибо:
M1kseR (23.02.2010)
Ответ


Опции темы

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

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

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

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