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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 16.01.2009, 01:47   #1
Новичок
 
Регистрация: 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:57   #2
Рыцарь
 
Аватар для 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, время: 16:06.

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

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