Сообщение от mc707
Так-то принцип понятен, только сдается мне, что этот код условный, а не рабочий. Т.к. вообще не понятно что за тип данных Sfmt19937Ctx (может это вообще структура), непонятно что за функции sha224Hmac, sfmt19937Init, sfmt19937Uint. Они похоже как раз и условные, так как в сдк их нет, а самому написать их я сомневаюсь что возможно.
|
это как раз понятно, это стандартные процедуры, можно их реализацию найти по названиям, MT19937 - псевдослучайный генератор, SHA224 - 28-байтный хэш. hmac - делает хэш от нескольких источников, как бы один ключ второй данные, но раскриптовать нельзя, одностороннее с потерями
- из первого ключа и пришедшего с preipl сида делаем хэш
- этим хэшем инитим псевдослучайный генератор.
- в цикле:
--- берем с генератора 64 байта
--- из второго ключа и этих 64 байт делаем второй хэш
--- ксорим им 28-байтный кусок данных
алгоритм полностью воспроизводим, но сид видимо можно добыть только расковыряв pre-ipl, про ключи тоже непонятно но вроде они во флеше а не в pre ipl