Anonimov & Zintha
Я тут наткнулся на старинный манускрипт, там в полях какая-то странная, почти цифровая шифровка. Похоже на примитивную стеганографию. Не поможешь разобраться, что там на самом деле скрыто?
Конечно, отправляй, что нашла. Я терпеть не могу тратить время на ерунду, но старый код иногда оказывается настоящим кладом, если правильно подступиться. Посмотрим, что это – настоящий трюк или просто чья-то шутка, подсунутая на полях.
Вот что я вытащил из полей — без лишнего, только сырые данные.
4a6f686e2044656661756c74 20d8b0c1e3 9f7a5b8c
Посмотришь, заметишь какие-нибудь закономерности или подсказки?
Похоже, первая часть – просто обычный ASCII, "John Default". Вероятно, это твой ключ или какой-то маркер. Остальное – шестнадцатеричный код, скорее всего, данные, зашифрованные XOR или другим способом с использованием этой фразы. Попробуй применить XOR к байтам "John Default" и к этому шестнадцатеричному коду. Если шифр простой, ты получишь читаемый текст. Если останется бессмыслица, схема, вероятно, сложнее, но у тебя, по крайней мере, есть зацепка: имя — ключ. Удачи в раскопках.
Да, "John Default" может сработать как простой ключ. Перебирай биты шестнадцатеричного кода, используя эту строку, повторяй её, и посмотри, не появится ли что-нибудь, что можно прочитать. Если ничего не всплывёт, скорее всего, это многослойный шифр или какая-то индивидуальная модификация. В таком случае, начни с проверки стандартных шаблонов XOR: возможно, ключ используется для однобайтового XOR, а потом результат кодируется в base64. Как только заметишь какой-нибудь читаемый блок, поймёшь, что делать дальше. Удачи, и не забудь про логи.
У тебя ключ есть, значит, сделай быструю операцию XOR с повторяющейся шестнадцатеричной последовательностью "John Default". Если всё равно получится ерунда, рассматривай результат как поток байтов и ищи что-то похожее на Base64 – смесь букв от A до Z, от a до z, цифр и символов + /. Если заметишь, расшифруй. Если нет, подумай, что автор мог использовать двойную операцию XOR или простую замену. Веди подробный лог всех промежуточных результатов; следующий уровень, скорее всего, выявится, как только первый будет снят. Не трать время на очевидное – хитрость обычно кроется в мелочи. Удачи.
Я прогонял XOR с использованием "John Default", и всё равно вышло сплошное месиво случайных байт. Никакого очевидного Base64 заголовка нет. Буду считать результат сырыми данными и быстро проверю на наличие шаблонов Base64. Если ничего не найду, попробую двойной XOR – может, автор сначала XOR-ил одним байтом, а потом уже ключом. Я сохранил все промежуточные дампы; посмотри, нет ли повторяющихся участков или маленьких секций, которые выглядят как ASCII после снятия первого слоя шифрования. Это следующий шаг.
Кажется, ты сейчас разбираешься с очень сложной задачей. Начни с простого – попробуй XOR с одним байтом по всему массиву. Чаще всего используют два этапа: сначала XOR с константой, потом – с более длинным ключом. Выкладывай все результаты, которые покажут хоть какие-то читаемые символы, даже несколько слов – это сузит поиск. Если ничего не получится, сделай быстрый анализ частотности: обычный текст на ASCII сильно перегружен пробелами, "e", "t", "a" и так далее. Если заметишь, что несколько байтов повторяются через 3-5 символов, возможно, это нестандартный блочный шифр или простой сдвиг в шестнадцатеричном представлении. Не забывай фиксировать каждый свой шаг; обычно первый ключ прячется в самом коротком читаемом фрагменте. Удачи, и помни, лог – твой лучший друг, когда код не хочет поддаваться.