Наткнулся на сервер где весь трафик от линейки шифруется драйвером, причем перехват идет на уровне функции socket::send/recv, я написал свой перехватчик, который хукает функции винсока на уровне ring0 драйвера, и мне нужно проверить действительно ли мой хук поставился "раньше" хука чужого драйвера...
есть лог пакетов до выбора персоонажа, хроники - фрея, пакеты собственно на пакеты даже не поделены, ну и не обработаны практически, кто сможет проверить на соответствие "чистым пакетам" без какой-либо защиты?
чистенькие логи:
Последний раз редактировалось Aieks777, 09.07.2011 в 00:46.
Если ты видишь одинаковые пакеты, а л2пкх разные значит либо ты раньше драйвера хук поставил либо л2пкх пытается расшифровать и портит данные.
Отключи функцию шифровки расшифровки в л2пкх если ты увидишь то же что и твой снифер выдает то ты промазал, если нет, грац ты обошел защиту ну или по крайней мере однуз из ее уровней )))
Вот такие мысли, все банально но вроде логично =) Отпиши о результатах.
все как надо, пакетхак выдает совсем другие пакеты, к тому же совершенно рандомные при разных подключениях, а у меня стабильно первые 2-8 байтов одинаковые в пакетах при разных подключениях )
Мда, форум однако изменился. Раньше к вопросу сразу ребята подключились бы, а теперь пол форума нубы которые пришли за ботом и пакетными багами и остальные мега знатоки которым нах уже не надо кому-то помогать. Кроме конечно своих покупателей которым они с радостью все разжевывают и в рот кладут. Это печально!
Добавлено через 7 минут
по сабжу: первые два байта не шифруются, это размер пакета, дальше опкод (ID пакета) если они у тебя одинаковые во всех сессиях скорее всего тоже не шифруются, созревает вопрос: почему тогда пакетхак не может корректно расшифровать? могу предположить что изменены ID пакетов, отсюда и все проблемы. К сожалению не знаю какие на фрее стандартные ID на LS, попробуй найти сервер без защиты и сравнить.
Добавлено через 1 минуту
Или найди исходники сервера и глянь там опкоды логин сервера.
Последний раз редактировалось ArchAhper, 10.07.2011 в 03:43.
Причина: Добавлено сообщение
Все плохо, с сегодняшнего утра сервер обновился и пакетики теперь разные стали... а раньше пакетхак разные выдавал потому что клиент грузил драйвер который шифрует трафик, и к тому моменту когда когда клиент вызывал функции recv/send пакеты уже были изменены этим драйвером, а ЛСП вклинивается в процесс приема/отправки когда идет вызов этих функций если коротко, то ЛСП вклинивался позже чем чем драйвер... пришлось свой писать, который ставит хуки сразу после запроса к операционке на создание нового процесса (если процесс который хочет зарегистрироваться- ла2, то хукаем загрузку dll, если dll - ws2_32.dll или wsock32.dll то загружаем мою "прокладку", моя "прокладка" содержит переходники к настоящим функциям, затем она сообщает драйверу что он свободен, ждет выгрузки моего драйвера, грузит настоящие ws2_32 и wsock32 и хукает, таким образом мои хуки самые первые, и хукают уже не оригиналы, а мои хуки :-D)
теперешние пакетики вообще разные стали, вот по 2 первых пакета от клиента к ЛС из 2х разный сессий Оффтоп
Ну блин, разве удивительно то, что пакетики эти разные при разных сессиях в зашифрованном виде? Они в любом случае будут разные, потому что их как минимум будет шифровать BlowFish key, взятый из Init'а (первого пакета сервера). Я конечно в этом далеко не профи, но думаю тебе стоит анализировать пакет Init при разных сессиях, потому что он, на обычном серве приходит совершенно не шифрованный. Единственное что, будет ли он шифроваться драйвером и на этом сервере или они решили его тоже не трогать - это я хз
да нет, блоуфиш тут непричем, я себе давно уж программку сделал которая пакеты дешифрует, они все равно разные, попробовал на сервере el-hazard, на нем все работает, пх правда не проверял но думаю тоже зажует после некоторых танцев с бубном вообщем сервачок такой нехилый мне попался, попробовал поковыряться в драйвере, но вкурить в алгоритм никак немогу, нашел ключи шифрования(их там всего 3 и все статические), но шифруется согласно длине и типу пакета, думаю через пару дней закончу разбираться, но одно обновление и можно начинать все сначала... думаю АПИ самого клиента поизучать, наверняка есть процедуры которыми можно пакетами управлять(удалить/изменить/добавить), но это уже не пакетник получится, да и с разными клиентами куча проблем наверно... вообщем абзац, аналог пх состряпать можно, но проживет он до первого обновления.