Перейти к публикации
Форум - ComputerCraft
Гость Kartze

Задачки для хакеров

Рекомендованные сообщения

https://www.diffchecker.com/zRcXb3mC

FD37 7A58 5A00 0001 6922 DE36 0200 2101
0000 0000 3727 97D6 0100 0C44 4145 4453
494E 494F 594B 414B 0000 0000 6FAE A3B0
0001 210D 75DC A8D2 9042 990D 0100 0000
0001 595A

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Раньше, для большего удобства делали так:

AUDVX WHNKQ CXZOF BJOLR XTWOI SPCHV OCPXV BOUCX RZPQG THUYB VCJIT EQBPU VIBTO UCXRM XVJUL PPXLG D

 

Но вообще, это одна строка и скрытого смысла в разбиении нет.
AUDVXWHNKQCXZOFBJOLRXTWOISPCHVOCPXVBOUCXRZPQGTHUYBVCJITEQBPUVIBTOUCXRMXVJULPPXLGD

Изменено пользователем Doob

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Т.е. нули были заменены единицами? Это при том, что единицы единицами и остались?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Достаточно заменить один символ.

один символ? э... ты вообще видишь логику в проведенных заменах? я не вижу.

замена "u" на "7" видна сразу, Замена "11" на "00" вот тут "fd3u ua58 5a11" тоже понятна так как следует из спецификации формата файла. Все остальные замены сделанные тобой логике не поддаются. И это уже далеко не замена одного символа.

 

дополнение.

блин, ты говорил про замену только относительно оригинала, а я учитывал оба преобразования :)

в любом случае заменен был не один символ, а два "7" на "u" и "0" на "1"

так же проведенная тобой замена не имеет (во всяком случае я его не нашел) логического способа обратного преобразования и потому годится разве что для решения экстрасенсами, а не программистами :)

Если логический способ (кроме просто угадать) решения задачи все же существует, то очень хотелось бы его увидеть.

Изменено пользователем Ingr

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Лол, зачем мне вся фурнитура? Ты ведь сам понял, что за формат. Я глянул контейнер, нашел расхождение в CRC, причина в одном символе 6F AE A3 B1, создал контейнер с таким же наполнением, получил - 6F AE A3 B0.

А дальше своим ходом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Лол, зачем мне вся фурнитура? Ты ведь сам понял, что за формат. Я глянул контейнер, нашел расхождение в CRC, причина в одном символе 6F AE A3 B1, создал контейнер с таким же наполнением, получил - 6F AE A3 B0.

А дальше своим ходом.

я походил к задаче с позиции что файл был закодирован, а не испорчен и поэтому искал способ декодирования :) Сперва я тоже хотел разобрать файл по спецификации и исправить в нем ошибки (по сути сделать то же что ты только вручную) но решил что это выходит за рамки задачи и поленился с этим возиться :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мы ничего не знаем об цели нашего поиска. Что вообще нужно найти в задаче? Текст, число или изображение? Если текст, то кем он составлен и для кого? Поэтому мои дальнейшие рассуждения будут строиться на предположениях.

1) Поскольку условие задачи включает в себя все латинские символы и ничего кроме этих символов, рискну предположить, что решением является текст,  составленный на английском или другом европейском языке, использующем латинский алфавит. Примем как предположение - английский.

2) Поскольку это первая, а стало быть самая легкая задача, метод шифрования должен быть не слишком сложным. Должно быть используется либо перестановочный либо одноалфавитный шифр.

3) Сосчитаем число вхождений букв в зашифрованный текст:

s="AUDVXWHNKQCXZOFBJOLRXTWOISPCHVOCPXVBOUCXRZPQGTHUYBVCJITEQBPUVIBTOUCXRMXVJULPPXLGD"
-- Считаем
t={}
for i=1,s:len() do
  c=s:sub(i,i)
  if t[c] then t[c]=t[c]+1
  else t[c]=1 end
end
-- Сортируем
f={}
for i=1,10 do f[i]="" end
for c,n in pairs(t) do
  f[n]=f[n]..c
end
-- Выводим результат
for i=10,1,-1 do
  print(i,f[i])
end

Имеем следующее количество вхождений

8 X
6 COPUV
5 B
4 T
3 HIJLQR
2 DGZW
1 AEFKMNYS

4) Частота встречаемости явно не соответствует частоте букв английского алфавита, поэтому перестановочный шифр не может иметь места. Принимаем в качестве рабочей гипотезы одноалфавитный шифр.

5) Наиболее встречаемая буква в исходном тексте - буква X, значит она скорее всего соответствует исходной букве E. Произведем замену. Для удобства зашифрованные символы оставим прописными, а исходные будем писать строчными.

AUDVeWHNKQCeZOFBJOLReTWOISPCHVOCPeVBOUCeRZPQGTHUYBVCJITEQBPUVIBTOUCeRMeVJULPPeLGD

У меня пока мысли кончились.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если используется шифр Виженера, то одни и ти же буквы в шифротексте могут оказаться разными. Суть там проста: есть ключ какой-то длины, но повторяется на всю длину сообщения, а дальше буквы исходного текста сдвигаются на n букв вправо, где n — позиция соответствующей буквы ключа в алфавите.

1. Ключ: abc, исходник: hahahah
2. Повторяем ключ до тех пор, пока его длина не станет равна длине исходника:

   hah aha h
   abc abc a -> abcabca

3. Шифруем

   КЛЮЧ        abcabca
   ИСХОДНИК    hahahah

   ШИФРОТЕКСТ  ickbjdi

Предположив, что используется именно он, я попытался найти длину ключа методом Касиски — и она, скорее всего, кратна 7.

Разобьём шифротекст на группы по 7 символов.

AUDVXWH
NKQCXZO
FBJOLRX
TWOISPC
HVOCPXV
BOUCXRZ
PQGTHUY
BVCJITE
QBPUVIB
TOUCXRM
XVJULPP
XLGD

Если предположение о длине ключа и о типе шифра верно, то далее каждый столбик — это просто шифр Цезаря с каким-то сдвигом. Однако максимальное количество символов в каждом столбике равно двенадцати, так что частотный анализ толком поиспользовать не удастся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я сильно перемудрил с первым заданием, т. к. остальные слишком простые, текст взял короткий, поэтому сложно найти закономерности. Хотя, погуглив алгоритмы криптоанализа, можно составить утилиты, которые все делают сами.

Кстати, тексты на латыни.

KMMKXPMLZUIYDOGWYQFXYLWBAISSPWMBHZIGIXTQGEWQDAVIPTCDJQTAHAVZKMWIIZPVVPHBDBSIRTBUHZZCWWMIESVTCZXGFGDCYMQW
QNTUTVDAUQOWSVSWMMIMLSWQNWSIVTBMHETRLAZBVSVHZOAEIIGCXQVIXWMODVREVCKXOMGXDUIXRVLZBQQYQFIFGIJIXDZVXQUNMZJT
VRVWNXLXYFDAHSGUHZDMWTYXTXPIZAPDDZXQIQXQGXREPIGMQSQBVMIMJPDZXQWIZXZNXWYIFLDMVZIKMYXLZFHAOCVEXKIETBZGHBXC
UEWXOACITTXUPTWYQGMOBSIISMMDLQQXBGPQKEQMIBHGEXAMGIKEUZVALTIMMGCKLEQBPUSYIKMFRSIOQINMWGEWCYBEISLUZURVIFLG
TPCIVXVZWEGNUEXULASWOCLXZTOMCXVMIIGTHVIMMEIEUIFMOIUKYMIQEVFPHZZBQIEXZMTQLRUMPUQSHHKAWMSEUMXZLRIFAUEIIIQD
DAXQQHZMXEEIWWMMPJMXBMQMKOOMIQWEPUMERIESDVDURWGTXUAPLSOQOQXQIMZUMEVCXXDLRWTKWFTVMAHVJVHKSAWOUIIRHUXIOMHN
AUJZVNWIXWQWYEMBAEECR
Изменено пользователем Doob

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В качестве ключа используется название эвристического подхода в программировании.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Kartze

Тем временем Дуб, кажется, медленно решает свою же задачку...)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Возможно, он просто забыл кей на архив? Саинт, запили на свою ферму, прогоним хэши, ща взломаем..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ыщо одна подсказка - расшифрованная часть второго текста: HERCULIS

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×