Статус
В этой теме нельзя размещать новые ответы.
Регистрация
9 Мар 2014
Сообщения
630
Репутация
393
Спасибо
38
Монет
0
Когда была написана первая программа, тут же встал вопрос - а как ее защитить от просмотра. Способов масса, но идеального нет.

Уважаемые форумчане, давайте вспомним, или узнаем, как делали защиту раньше.

209 242 234 228 231 244.

Это слово на русском языке. Шесть букв.
Призовой фонд 600 рублей.

первому 300
второму 200
третьему 100

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

да нука его нафик ща еще голову ломай и смотри как вы там RSA-1024, DES, 3DES, а также алгоритм хэширования SHA-1
не спасибо:Smile_crab:
 
да нука его нафик ща еще голову ломай и смотри как вы там RSA-1024, DES, 3DES, а также алгоритм хэширования SHA-1
не спасибо:Smile_crab:

Посмотрите шапку темы. Все решается в 5 минут.
 
Уточню! Слово осмысленное.
 
хм , в этот раз ты хорошо его зашифровал , не одна прога не берёт ))
 
Да все просто поиск Гуго первый юникод и тебе то зачем пусть дети ищут:)
 
Да ладно тебе мне вчера Фреди разгадку подсказал читай внимательно шапку!:) Но тебе это не над халява не для тебя:) Пусть дети может научатся чему-то:) И не 600 а 300! Или ты и 1 и2 и3 будешь:)
 
Последнее редактирование:
Прежде чем решать эту задачку я сначала глянул предыдущую, она не столько требует умения расшифровки, сколько знания кодировок и способов представления цифровых данных. Но для начинающих в самый раз.

Что касается текущей задачи, то тут я не стал идти на поводу у авторов и играть в игру по их правилам. Вообще первое правило игры по чужим правилам - не играть по чужим правилам. Учитывая характер предыдущей задачи, а также тот факт, что цифры лежат в пределах от 0-255 становиться понятно, что в задачке опять задействованы кодировки. А значит нужно опять доставать таблицы, коды и шуршать цифрами... Однако, зачем идти на поводу у автора. Сыграем по своим правилам )))

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

2. Теперь воспользуемся лазейкой, присущей всем кодировкам - какая бы не была кодировка порядок букв будет всегда неизменным. Что это нам дает, а это позволяет взять обычный алфавитный ряд A-я и работать только с ним.

3. Чтобы автор задачи не сделал с цифрами - он ни чего не сможет сделать с их разницей. Т.е. разница между буквами в алфавитном ряду и разница между цифрами, кодирующими буквы - будет всегда одна и та же. Поэтому берем идущие подряд и не сильно отличающиеся цифры и делаем из них шаблон. Например последние 5 чисел:

Код:
 2   3   4   5   6

242 234 228 231 244

Переставим в порядке возрастания номера и пометим разницу между ними:

 4   5   3   2   6
228 231 234 242 244
   3   3   8   2

Зная разницу, сформируем шаблон для поиска букв по алфавитному ряду
("-" пропущенная буква в ряду):

4 - - 5 - - 3 - - - - - - - 2 - 6

А теперь самое интересное, надо накладывать шаблон на алфавитный ряд и смотреть получается ли осмысленное слово.
Так как алфавитный ряд не такой уж и маленький у нас, то имеет смысл сначала проверить наиболее вероятные комбинации.
Из результатов п.1. можно сказать что с большой долей вероятности предпоследняя буква в слове будет гласной.
Ну такой вот наш русский язык. Вот и давайте совмещать ячейку "5" в шаблоне с гласными буквами.
С буквой "А" я возиться не стал, она крайняя, начал с "Е" и вот результат:  

[B]В[/B] Г Д [B]Е[/B] Ж З [B]И[/B] Й К Л М Н О П [B]Р[/B] С [B]Т[/B]

Читаем по номерам получаем РИВЕТ. Думаю легко догадаться, что первая буква должна быть П. Ответ ПРИВЕТ. И ни каких кодировок ))))
 
Последнее редактирование:
Взял и вывалил ответ здесь) В шапке же написано- в личку! Другие как теперь моск ломать будут?)
 
Взял и вывалил ответ здесь) В шапке же написано- в личку! Другие как теперь моск ломать будут?)

Да толку. Народ в своей массе не готов такие задачки решать. Вот возьми аналогичным алгоритмом слово зашифруй и выложи сюда. Пусть читают мой пост и пытаются расшифровать. Вот тогда действительно чему-то научатся.
 
Ага обманули! А то защита защита
 
Ага обманули! А то защита защита

Не совсем так. Автор пытался скрыть способ кодирования и возможно в этом преуспел, только вот беда в том, что скрывать надо было не способ кодирования, а исходную информацию. Её то он плохо скрыл. Как результат, я, не зная способ кодирования и даже не пытаясь его понять, смог довольно легко её восстановить.

Это классическая ошибка многих "шифровальщиков".

В данном случае уязвимости заключались в следующем:

1. Порядок букв в слове - соответствовал порядку цифр.
2. Цифры однозначно сопоставлялись с буквами.
3. Каждая цифра содержала только информацию о своей букве.

Это вполне достаточно чтобы расшифровать текст, если он конечно достаточной длины.
 
Привет Всем! Спасибо за ответы.

Странник расписал все по буквам. Я не пытался ничего скрывать, выложил все на ладошке).
Так вот мой пост был про ооочень старые защиты. А если бы вместо текста был код?
Я не пытался особо ничего скрыть, честное слово.
Странник, с Экселем было бы проще)


А теперь , общество, решаем кому я должен перевести деньги.
 
Страннику конечно мало того что он его расшифровал так еще и объяснил всем что да как!
 
Привет Всем! Спасибо за ответы.

Странник расписал все по буквам. Я не пытался ничего скрывать, выложил все на ладошке).
Так вот мой пост был про ооочень старые защиты. А если бы вместо текста был код?
Я не пытался особо ничего скрыть, честное слово.
Странник, с Экселем было бы проще)


А теперь , общество, решаем кому я должен перевести деньги.
StranikS как за первое место.
 
Давайте поздравим Странника! Хорошо всё описал и рассказал?
 
Свой приз я пожертвовал в фонд следующего конкурса, так что думаю ставки должны возрасти. Ждите третьего конкурса )))))))))))))
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху