Вернуться   CoderX :: Forums > Lineage II > L2PacketHack
Войти через OpenID

L2PacketHack Форум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела! Обсуждение багов Lineage ЗАПРЕЩЕНО!

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 03.01.2009, 07:32   #1
Новичок
 
Регистрация: 03.01.2009
Сообщений: 12
Сказал Спасибо: 4
Имеет 1 спасибку в 1 сообщении
Rifleman пока неопределено
Вопрос Вопрос по пакетам клиента.

Я только недавно решил побаловаться с пакетами. Почитал несколько статей о l2phx, попробовал поиграться с пакетами на серве, где играю. Использую l2phx 3.1.8 (более новые версии не захотели работать). Заметил, что пойманые пакеты от клиента как-то странно определяются прогой. Например, пакет на соц действие определяется как Ride. Но потом заметил, что после релогина персом, тп пакетов становится совершенно другим. И тот же самый пакет на соц действие определяется как "неизвестный" (Unknown). Приведу конкретный пример пакетов на использование Healing Potion:
FB 67 EC 77 22 4A 5B 2B 00
после релогина это же действие выглядит как:
21 5E 10 85 60 15 96 95 00

Попробовал отлавливать пакеты бота (Волкер) - всё прекрасно ловится и определяется, но бот только торговый и ничего не умеет делать. Хотелось бы разобраться с клиентом.
Как я понял из мануалов, тип пакета должен быть постоянным. Хотелось бы узнать, что это такое. Или надо использовать какую другую версию пх (3.1.9 и 3.2.0 не захотели работать), или это хитрая защита сервера от читеров, или же у меня какие-то настройки неправильно стоят. Если надо что-то ещё уточнить - пишите что.
Rifleman вне форума   Ответить с цитированием
Старый 03.01.2009, 17:56   #2
Новичок
 
Регистрация: 09.12.2008
Сообщений: 18
Сказал Спасибо: 8
Имеет 1 спасибку в 1 сообщении
Anton5 пока неопределено
По умолчанию

Мне что-то подсказывает что у тебя стоит неверная версия протокола.
Под окном с пакетами есть 4 кнопочки с выбором протокола.
Anton5 вне форума   Ответить с цитированием
Старый 03.01.2009, 23:39   #3
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от Rifleman Посмотреть сообщение
Использую l2phx 3.1.8 (более новые версии не захотели работать)
Попробуй взять последнюю версию здесь и в неё положи inject.dll от 3.1.8

Цитата:
Сообщение от Rifleman Посмотреть сообщение
Как я понял из мануалов, тип пакета должен быть постоянным
У тебя сервак не Грация случаем? В ней ID пакетов меняются.

Цитата:
Сообщение от Anton5 Посмотреть сообщение
Под окном с пакетами есть 4 кнопочки с выбором протокола.
Эти кнопочки появились в более поздней версии, уже после 3.2.0
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 14.01.2009, 12:28   #4
Новичок
 
Регистрация: 03.01.2009
Сообщений: 12
Сказал Спасибо: 4
Имеет 1 спасибку в 1 сообщении
Rifleman пока неопределено
По умолчанию

Цитата:
Сообщение от NLObP Посмотреть сообщение
Попробуй взять последнюю версию здесь и в неё положи inject.dll от 3.1.8


У тебя сервак не Грация случаем? В ней ID пакетов меняются.



Эти кнопочки появились в более поздней версии, уже после 3.2.0
Отвечу по порядку.
Попробовал загрузить версию 3.4.1.81 и в неё скинуть inject из 3.1.8. Не дало ровным счетом ничего. Пакеты всё равно меняются при перезаходе. Пробовал выбирать разные протоколы - от с4 до камаэля - так же ничего не даёт. Пробовал включать/отключать галочки Kamael-Hellbound-Gracia и Gracia (off server) - так же результат нулевой.
Далее. Сервак не Грация, а Интерлюдия.
В связи с этим, я делаю вывод, что на серве идёт свой алгоритм шифрования. И вот тут есть подозрение, что ключ меняется каждый раз при заходе персонажем и передаётся во время захода.
Но мне немного непонятен механизм работы "торгового" бота. Пакеты от бота очень даже хорошо дешифруются. Но заходит он в режиме ограниченных функций (13:13:25 PROTECTION : Now you has logged with limit functionality) - потому невозможны таргет, принятие пати и другие штучки. Значит, сервер определяет, где заходит клиент, а где бот.
Приведу пакет от бота и от клиента "Protocol Version":
Бот:
00 EA 02 00 00 09 07 54 56 03 09 0B 01 07 02 54 54 56 07 00 02 55 56 00......бла-бла-бла....
версия 746
Клиент:
00 57 04 00 00 09 07 54 56 03 09 0B 01 07 02 54 54 56 07 00 02 55 56 00........бла-бла-бла.....
версия 1111
Вопрос: Вот с помощью этих пакетов определяется где клиент, а где бот? И где в клиенте прописано, по какому протоколу он будет работать? Или же нужно рассмотреть ещё и пакеты серва?

P.S. Спасибо что ответили на мою тему, а не послали "фпоиск, нуб!" =)
Rifleman вне форума   Ответить с цитированием
Старый 14.01.2009, 22:38   #5
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Если на сервере шифрация трафика, то пакетхак без дополнительных ухищрений (писать newxor.dll) не будет работать.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 14.01.2009, 23:32   #6
Новичок
 
Регистрация: 03.01.2009
Сообщений: 12
Сказал Спасибо: 4
Имеет 1 спасибку в 1 сообщении
Rifleman пока неопределено
По умолчанию

Прямой посыл в тему "Дешифрируем траффик"?
Пробовал её читать, но там сразу же в такие дебри авторы лезут... А вот нельзя ли подсказать, где можно почитать что-нибудь по основам этого дела? Ну и хотелось бы понять сам механизм работы изначального шифрования, если я правильно понимаю, что в обычном режиме есть некоторая стандартная шифрация пакетов, которая всем известна (ну или как минимум автору данной программы) и которая стоит на сервах, где админы - лентяи.
Rifleman вне форума   Ответить с цитированием
Старый 16.01.2009, 01:47   #7
Новичок
 
Регистрация: 03.01.2009
Сообщений: 12
Сказал Спасибо: 4
Имеет 1 спасибку в 1 сообщении
Rifleman пока неопределено
Печаль

Стал анализировать пакеты. Вычислил, что ключ меняется именно при заходе на аккаунт. При смене перса с этого же акка пакеты не изменились. Далее, стал смотреть, какой тип пакета не меняется при перезаходах. Обратил внимание на пакетик "Tип: 0x00 (KeyInit: )" и стал играться с ним. Обнаружил связь этого пакета с пакетом для отправки сообщения в пати чат. Я отправлял слово Hello. Изначально, пакет должен выглядеть так:
Код:
38 48 00 65 00 6C 00 6C 00 6F 00 00 00 03 00 00 00
А при пакете с "ключом"
Код:
00 58 8B 99 7B 7C B3 F8 7F 80 8A 26 B5 64 79 03 6D 3A 69 8A 8B 8C 6D 8E 8F 90
он выглядит следующим образом:
Код:
23 AA 7B 19 08 C0 7F EC 00 6F 00 00 00 03 00 00 1B
Обратил внимание, что часть пакета дополнительной шифрации не подверглась, а часть изменилась, а именно, первые 8 байт. Далее 8 байт - без шифрации, а вот следующая восьмерка (Выяснил более длинным сообщением) - снова шифруется, причем, похоже, таким же методом.
Теперь я сопоставил 8 байт из пакета KeyInit, которые заботливо были выделены в программке и зашифрованные 8 байт в пакете с сообщением. Составил такую табличку:
Исходник___38 48 00 65 _ 00 6C 00 6C
Ключ_______8B 99 7B 7C _ B3 F8 7F 80
Результат___23 AA 7B 19 _ 08 C0 7F EC
Методом академика Тыка получил, что если применять операцию XOr к последним 2м байтам в каждой такой четвёрке (Выделено жирным), то как раз и получим тот пакет, что и отсылается клиентом: (например) h6C XOr h80 = hEC.
Но вот сопоставить оставшиеся 2 байта никак не могу. Причем, что интересно, я выловил 5 (на большее пока терпения не хватило) разных ключиков и соответственно 5 разных пакетов на отправку одного и того же сообщения. Из варирования сообщением и последующим сопоставлением пакетов, составил табличку "умножения" для одного ключа. Т.е. зная ключ, я мог бы зашифровать любой пакет. Эта неизвестная операция(обозначу её *, не путать с умножением) производится к соответствующим 4 битам в байте: 38*1B = 5D, 35*1B = 50...казалось, уже можно было бы написать шифрующую функцию.... НО! Результат действия ключа на зашифрованный пакет меняется от ключа к ключу. Для одного ключа результат действия 38*8B = 23, а при другом ключе 38*EB = 58. Вот тут я и застрял. Где-то есть ещё один параметр, влияющий на результат, и я его не могу найти.
Может быть, написал немного коряво, просто задачка так глубоко засела в голову, что пишу это уже в 3 часа ночи .
Rifleman вне форума   Ответить с цитированием
Старый 16.01.2009, 13:08   #8
Новичок
 
Регистрация: 15.01.2009
Сообщений: 1
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
girinovskiy пока неопределено
По умолчанию

народ плиз помогите!хочу скопировать вещь на shock-world ,но при покупки одной и той же вещи приходят разные адреса,что я делаю не так???
girinovskiy вне форума   Ответить с цитированием
Старый 16.01.2009, 13:15   #9
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

girinovskiy, бан.
QaK вне форума   Ответить с цитированием
Старый 16.01.2009, 13:57   #10
Рыцарь
 
Аватар для dmitry501
 
Регистрация: 01.10.2007
Сообщений: 293
Сказал Спасибо: 42
Имеет 50 спасибок в 37 сообщенях
dmitry501 пока неопределено
По умолчанию

Цитата:
Сообщение от Rifleman Посмотреть сообщение
Стал анализировать пакеты. Вычислил, что ключ меняется именно при заходе на аккаунт. При смене перса с этого же акка пакеты не изменились. Далее, стал смотреть, какой тип пакета не меняется при перезаходах. Обратил внимание на пакетик "Tип: 0x00 (KeyInit: )" и стал играться с ним. Обнаружил связь этого пакета с пакетом для отправки сообщения в пати чат. Я отправлял слово Hello. Изначально, пакет должен выглядеть так:
Код:
38 48 00 65 00 6C 00 6C 00 6F 00 00 00 03 00 00 00
А при пакете с "ключом"
Код:
00 58 8B 99 7B 7C B3 F8 7F 80 8A 26 B5 64 79 03 6D 3A 69 8A 8B 8C 6D 8E 8F 90
он выглядит следующим образом:
Код:
23 AA 7B 19 08 C0 7F EC 00 6F 00 00 00 03 00 00 1B
Обратил внимание, что часть пакета дополнительной шифрации не подверглась, а часть изменилась, а именно, первые 8 байт. Далее 8 байт - без шифрации, а вот следующая восьмерка (Выяснил более длинным сообщением) - снова шифруется, причем, похоже, таким же методом.
Теперь я сопоставил 8 байт из пакета KeyInit, которые заботливо были выделены в программке и зашифрованные 8 байт в пакете с сообщением. Составил такую табличку:
Исходник___38 48 00 65 _ 00 6C 00 6C
Ключ_______8B 99 7B 7C _ B3 F8 7F 80
Результат___23 AA 7B 19 _ 08 C0 7F EC
Методом академика Тыка получил, что если применять операцию XOr к последним 2м байтам в каждой такой четвёрке (Выделено жирным), то как раз и получим тот пакет, что и отсылается клиентом: (например) h6C XOr h80 = hEC.
Но вот сопоставить оставшиеся 2 байта никак не могу. Причем, что интересно, я выловил 5 (на большее пока терпения не хватило) разных ключиков и соответственно 5 разных пакетов на отправку одного и того же сообщения. Из варирования сообщением и последующим сопоставлением пакетов, составил табличку "умножения" для одного ключа. Т.е. зная ключ, я мог бы зашифровать любой пакет. Эта неизвестная операция(обозначу её *, не путать с умножением) производится к соответствующим 4 битам в байте: 38*1B = 5D, 35*1B = 50...казалось, уже можно было бы написать шифрующую функцию.... НО! Результат действия ключа на зашифрованный пакет меняется от ключа к ключу. Для одного ключа результат действия 38*8B = 23, а при другом ключе 38*EB = 58. Вот тут я и застрял. Где-то есть ещё один параметр, влияющий на результат, и я его не могу найти.
Может быть, написал немного коряво, просто задачка так глубоко засела в голову, что пишу это уже в 3 часа ночи .
оО тебя название пакета KeyInit ничего не напоминает? И вообще ты теорию щифрации ГС читал? Ты для чего велосипед изобретаешь?
dmitry501 вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack



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

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


Часовой пояс GMT +4, время: 01:53.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!