Сообщение от Ins|der
если я правильно понял, то следуя их схеме, по битам и логике все совпадает:
1)консоль и батарея содержат одинаковый набор заранее определенных ключей шифрации
K1, K2, ... KN
2)то что следует за 80-й командой в запросе, вероятно, номер ключа (01, 02, 04, 08, D9) который будет использоваться во время сеанса
N
3)далее в запросе идет 64-битный кусок (первая часть) 128-битного кода обмена 1 (задается консолью)
R1
4)на основании этого кода (64бит), номера ключа и константы (64бит), определенной по номеру ключа, батарея формирует ответ, который затем шифруется самим ключом (в итоге 128бит)
ENC(Kn, (R1+C1n))
5)от закодированного ответа берется вторая часть (64бита) - код ответа, к ней прилагается 64-битный кусок кода обмена 2 (задается батареей) и отсылается приставке
[part of ENC(Kn, (R1+C1n))] + R2
6)приставка сверяет преобразованный ею (по той же схеме) код обмена и полученный в ответе от батареи и делает вывод о подлинности батареи (так как она знает нужный ключ).
далее если батарея определена как "своя", наступает очередь приставки представить себя:
7) на основании полученного куска R2 и заданного ранее ключа Kn приставка формирует ответ батарее
ENC(Kn, (R2+C2n))
8) отрезает от него 64 бита и передает батарее, скорее всего в 81-й команде
9) батарея делает своё заключение о легитимности консоли))))
Таким образом, если судить по описанию, и в приставке и в батарейке хранятся одинаковые ключи и константы.
|
Вот по моему умная мысля. Я так понял, ты прочитал дизасемблированный алгоритм драйвера сискона ТА-088v3.
Допустим мы сможем декриптовать и дизасмить драйвер сискона ТА-090v2, который у нас есть в зашифрованном виде, то возможно-ли вычислить формулу просчёта и вбить её в твой BatteryGrab, чтобы она при ответе на заданный запрос выдавала просчитанный алгоритм?
Стоп, чё-та я тупанул. Драйвер сискона одинаков на ТА-088v3 и ТА-090v2, так как PSP-3000 так-же откатывается с помощью того-же набора драйверов. Это ТА-093 работает на новом.
Последний раз редактировалось ErikPshat; 27.09.2010 в 15:56.
|