Я снова про пакеты:
Значит, было я начал делать упаковщик пакетов для псп, стал капаться в исходниках распаковщика и обнаружил странную вещь - для распаковки везде применяется функция aes_encrypt, хотя, казалось бы, для распаковки нужна decrypt. Почитав википедию, подумал, что особой разницы нет зашифровывать-расшифровывать или расшифровывать-зашифровывать, но в результате оказалось, что пакеты вообще не шифруются, а просто ксорятся хешем, который получается зашифровкой aes функцией некоторого file_key (указанного в начале пакета), изменяющегося с каждым блоком на единицу.
Как мне представляется, (xor aesом)!=(aes). Простейшими способами можно получить хеши для расшифровки пакета, например, если знать смещение какого-нибудь большого файла, то можно забить его нулями и, засунув такой пакет на виту, мы получим хеш для его расшифровки.
Так же, имея два пакета, мы можем воспользоваться свойством a^x=b; c^x=d; b^d=x;, где x - искомых хеш, b,d - зашифрованные данные, a,c - расшифрованные
не, про свойство это я придумал
Последний раз редактировалось Cepera; 26.02.2015 в 07:54.
|