Идея тут такая. Отключаем корректор для всех пакетов после $0B. Из расшифрованного $0B запоминаем Key. Логинимся, тыкаем в кнопки(посылаем пакет $Х) и ждём пока придёт пакет (зашифрованный клиентом но нерасшифрованный нами) $01(movebacktolocation). Теперь смотрим в алгоритм корректора - table1[$02] = $X, т.е. при генерации таблицы в первой($02) ячейке лежит пакет $Х(мы его знаем, т.к. помним какую кнопку жали)
Итого имеем соответствие:
Код:
$X = ((Int64(_seed) * $343fd + $269EC3) and $FFFFFFFF) shr $10) and $7FFF;
то что справа это 1ая генерация псевдоГСЧ, лежащая в первой ячейке таблицы.
Дальше ищем соответствие Key и seed. Если это соответствие линейно (+$XXX), то все неизвестные найдутся на раз.
Собственно, я бы эту лабуду тут и не писал бы, если б сам мог проверить. Но столкнулся с проблемой - если в _decode_ID начинаем отфильтровывать только отдельные пакеты ($0B и $12) то отваливаемся от сервера. Почему?? Разве ПХ изменяет поток пакетов клиент->сервер?
Спасибо.