Цитата:
Сообщение от DARTY
Вот пакеты Повер страйк
5C 19 F9 14 FE ED A5 6E 79
5C 19 F9 14 FE ED A5 6E 4F
5C 19 F9 14 FE ED A5 6E 45
5C 19 F9 14 FE ED A5 6E 5B
5C 19 F9 14 FE ED A5 6E 51
Меняются последние 2 числа. Чё делать то дальше,объясните пожалуйста!
|
а в расшифрованном виде как етот повер страйк выглядеть должен? проще решить будет если знать результат. этоже запакованный вид. а как он расшифрованным выглядит? сть в том что тут даже кей инит ненужен. ето 2 разные задачи не пересекающиеся. найти начальный ключ и найти алгоритм шифрации.. их решать вапще по отдельности надо. если про начальный ключ то вроде подробно описано тут:
http://coderx.ru/showthread.php?t=165&page=10
а вот алгоритм изменения этого ключа от пакета к пакету- это сложнее ну для начала расшифрованный вид того лога что ты дал- напиши. я редко захожу но может ктото еще глянет что можно сделать.. тебе то по сути там 1 байт найти как меняется тока.. остальное думаю просто както на константу ксорится
Добавлено через 31 минуту
Цитата:
Сообщение от Nickers
Ясно) Большое спасибо...
1)ксорим рандомно, применяем логику, паримся - получаем Алгоритм и Начальный ключ (Для сессии)
|
не непутай 2 задачи разных в одну. во втором пакете (первый исходящий) от сервера нам приходят 4 байта важных. используя их клиент получает 8 байт ключа шифрации для 2-х алгоритмов (входящего и исходящего). QAK немного вводит в заблуждение назвав эти 4 байта данных во втором пакете ключем. это не ключ. это данные для вычисления ключа первого начального. точнее 2-х ключей для двух алгоритмов. так как сразу после этого пакета с данными для вычисления ключа идут исходящий и входящий пакеты в которых используется шифрация с использованием этого начального ключа то что мы можем? мы можем видя зашифрованный вид и зная что должно быть расшифровано (расшифрованный вид) , оговорюсь откуда мы знаем расшифрованный вид? оттуда что в этих пакетах используется ЛОГИН НЕЙМ и ЧАР НЕЙМ, значит клочки этого пакета мы знаем как должны выглядеть расшифрованно- это ваши данные в юникоде. и знаем на каких местах в пакете эти данные пишутся. т.е. частично мы знаем расшифрованный вид этих пакетов. а для вычисления ключа нам достаточно 8 байтов идущих подрят. алгоритм шифрации то он несложный- обычный стандарт. сложный тока метод изменения ключа шифрации от пакета к пакету. и так мы вычислили ключ (опираясь на то что в пакетах и то что должно получиться) теперь начинаем думать как из начальных 4-х байт получить этот ключ.. и получаются пары такие ДАНО-НАЙТИ. для такихто исходных данных во втором пакете- ключ такой получается.. для других данных ключ другой получается.. и понимаем по какому принципу из начальных данных во втором пакете получается ключ первый.
а вот я ща узнал. что начиная с Интерлюда ключ шифрации теперь не 8 а 16 байт стал. но принципы теже