Цитата:
Сообщение от Konrad
ключ
r n i t y e t e
По сути это шифр Виженера.
Формула как я и писал:
Ci=(Pi+Kj) mod 256;
И для расшифровки:
Pi=(Ci-Kj) mod 256;
|
И действительно, также работает.
Кстати, там слово не "r n i t y e t e ", а
"ternitye", потому как читали мы относительно начального смещения + 3, а нужно было ещё и рейтинг прочитать для первой записи, поэтому слово получилось такое именно.
Это всё хорошо, вроде бы работает, читается как надо. но вот возникла другая проблема. В этом же файле можно хранить и изображение(hpg, jpeg, bmp, emf, wmf).
Попытался я значит создать файл bmp размеров 2х1, он на самом деле получился маленький. загрузил в программу. открыл полученный файл, а там столько мусора получилось

, вовсе содержание файла не соответствует(даже с расшифровкой если)...
вот например, смотрите:
Код:
Bmp файл:
42 4D 3E 00 00 00 00 00 00 00 36 00 00 00 28 00 00 00
01 00 00 00 02 00 00 00 01 00 18 00 00 00 00 00 08 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000036 FF FF FF 00 00 00 00 00
Если открыть файл, куда было сохранено изображение(с программы), то там вообще вместо этих 62 байт получается 868 байт.

(это не считая 15 байт заголовка, о которых я писал выше.
Показывать все эти байты нет смысла. Вот начало, где идет изображение в файле:
Код:
xЁћЮ”¦ЇЄЕМРОЇДХЄ¶є¶µ¦іїЄ¶є¦ё”¤е«ёє¦БЁіХ¶·єМБ©іе¶№єЬБЄґїРє»¶ЕЄґїШј»ЬН®¶ЇШБЅ¦з°µеЬВЅНЅ¶¶їќЖЅМз±·
Но я думаю оно тоже зашифровано, поэтому я конечно же попытался перевести, в итоге получил в виде текста вот это:
Код:
/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAACAAEDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD7+/4ZO+CH/RG/h/8A+EvY/wDxqiiigD//2T==
Кто-нибудь может подсказать что это за формат изображения ?
все символы полностью прочитались, нет неопределенных, тут bmp изображение 2х1. Но думаю оно записано в другом формате, тут я полностью бессилен, понятия не имею об этом формате, но думаю, что это один из известных, кто-нибудь может подсказать или помочь как-то ?

Замечено, что именно картинка всегда начинается с символов "/9j/", а заканчивается в основном двумя знаками =, т.е. "=="
Но так и не могу понять что это за формат такой. Как будто зашифровано по Base64..Но не уверен. И как быть дальше, если у кого есть идеи, мысли, прошу помочь. Пробую пока сам различное, но ничего путного не выходит.
__
Получилось!

Всем огромное спасибо.
Действительно, чтобы получить картинку нужно было сначала расшифровать обычным методом, указанным выше, затем для куска картинки нужно было Base64 этот перевести в строку и на выход получаем JFIF (JPEG File Interchange Format) картинку.