конкурс №2 - Программы

конкурс №2

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

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

209 242 234 228 231 244.

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

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

Тот кто догадался пишите в личку мне и OZON. Так будет проще найти победителя.
 
Регистрация
7 Июл 2014
Сообщения
4,720
Репутация
2,853
Спасибо
2,648
Монет
0
чот я не понял а какое тут слово набор букв
 
Регистрация
7 Июл 2014
Сообщения
4,720
Репутация
2,853
Спасибо
2,648
Монет
0
А вы и не должны были понять. Применена простенькая, но защита)

да нука его нафик ща еще голову ломай и смотри как вы там RSA-1024, DES, 3DES, а также алгоритм хэширования SHA-1
не спасибо:Smile_crab:
 
Регистрация
9 Мар 2014
Сообщения
630
Репутация
393
Спасибо
38
Монет
0
да нука его нафик ща еще голову ломай и смотри как вы там RSA-1024, DES, 3DES, а также алгоритм хэширования SHA-1
не спасибо:Smile_crab:

Посмотрите шапку темы. Все решается в 5 минут.
 
Регистрация
9 Мар 2014
Сообщения
630
Репутация
393
Спасибо
38
Монет
0
Уточню! Слово осмысленное.
 
Регистрация
5 Ноя 2013
Сообщения
1,187
Репутация
867
Спасибо
34
Монет
0
хм , в этот раз ты хорошо его зашифровал , не одна прога не берёт ))
 
Регистрация
7 Июл 2014
Сообщения
4,720
Репутация
2,853
Спасибо
2,648
Монет
0
Да все просто поиск Гуго первый юникод и тебе то зачем пусть дети ищут:)
 
Регистрация
7 Июл 2014
Сообщения
4,720
Репутация
2,853
Спасибо
2,648
Монет
0
Да ладно тебе мне вчера Фреди разгадку подсказал читай внимательно шапку!:) Но тебе это не над халява не для тебя:) Пусть дети может научатся чему-то:) И не 600 а 300! Или ты и 1 и2 и3 будешь:)
 
Последнее редактирование:
Регистрация
14 Май 2014
Сообщения
277
Репутация
196
Спасибо
8
Монет
0
Прежде чем решать эту задачку я сначала глянул предыдущую, она не столько требует умения расшифровки, сколько знания кодировок и способов представления цифровых данных. Но для начинающих в самый раз.

Что касается текущей задачи, то тут я не стал идти на поводу у авторов и играть в игру по их правилам. Вообще первое правило игры по чужим правилам - не играть по чужим правилам. Учитывая характер предыдущей задачи, а также тот факт, что цифры лежат в пределах от 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]

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

OZON

Guest
O

OZON

Guest
Взял и вывалил ответ здесь) В шапке же написано- в личку! Другие как теперь моск ломать будут?)
 
Регистрация
14 Май 2014
Сообщения
277
Репутация
196
Спасибо
8
Монет
0
Взял и вывалил ответ здесь) В шапке же написано- в личку! Другие как теперь моск ломать будут?)

Да толку. Народ в своей массе не готов такие задачки решать. Вот возьми аналогичным алгоритмом слово зашифруй и выложи сюда. Пусть читают мой пост и пытаются расшифровать. Вот тогда действительно чему-то научатся.
 
Регистрация
9 Дек 2013
Сообщения
305
Репутация
95
Спасибо
4
Монет
0
Ага обманули! А то защита защита
 
Регистрация
14 Май 2014
Сообщения
277
Репутация
196
Спасибо
8
Монет
0
Ага обманули! А то защита защита

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

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

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

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

Это вполне достаточно чтобы расшифровать текст, если он конечно достаточной длины.
 
Регистрация
9 Мар 2014
Сообщения
630
Репутация
393
Спасибо
38
Монет
0
Привет Всем! Спасибо за ответы.

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


А теперь , общество, решаем кому я должен перевести деньги.
 
Регистрация
7 Июл 2014
Сообщения
4,720
Репутация
2,853
Спасибо
2,648
Монет
0
Страннику конечно мало того что он его расшифровал так еще и объяснил всем что да как!
 

OZON

Guest
O

OZON

Guest
Привет Всем! Спасибо за ответы.

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


А теперь , общество, решаем кому я должен перевести деньги.
StranikS как за первое место.
 
Регистрация
1 Авг 2014
Сообщения
1,072
Репутация
384
Спасибо
52
Монет
0
Давайте поздравим Странника! Хорошо всё описал и рассказал?
 
Регистрация
14 Май 2014
Сообщения
277
Репутация
196
Спасибо
8
Монет
0
Свой приз я пожертвовал в фонд следующего конкурса, так что думаю ставки должны возрасти. Ждите третьего конкурса )))))))))))))
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу