Лет эдак шесть назад попросил меня друг заскочить «по компьютерному делу». Итак, ситуация: завтра у знакомой зачёт в вузе по какому-то зубодробительному предмету. Зачёт сдаётся на программе-тестере. После прохождения теста вылазит окошко: «Правильных ответов: xx%». Программу девушка умудрилась спереть. Сдать «легально» шансов почти нет. Времени три часа.
Идея первая: а как хранятся вопросы? А хранятся они в зашифрованной БД. Вскрыть такое на тот момент возможности у меня не было, равно как и знаний.
Идея вторая: перебор ответов. Не проканывает: в базе вопросов явно больше тех пятнадцати, которые задаются на зачёте, и нету никаких промежуточных результатов на экране.
Идея третья: скриптик для подмены значения в окне. Не помню, почему не взлетело.
Начинаю копаться во всех внутренностях, которые вижу. Так, что у нас тут? Инишник, в который зачем-то выведены значения всех текстовых полей. Зачем, не пойму: локализовывать они, что ли, это убожество собирались? Неважно, ведь в файлике нашлась и та самая строка: «Правильных ответов:». Не помню я, на чём была писана та программа, но тот гениальный язык автоматически подгонял размер лейбла под текст. Немного везения с z-order — и на зачёт девушка пошла с диверсионной дискетой в сумочке.
Как вы уже догадались, строка «Правильных ответов: 75%» аккуратно перекрывала настоящее значение. После девушки зачёт на той машине успело «сдать» ещё два человека; потом зачёт прекратили, и консилиум сел разбираться, в чём дело. Думаю, разбирались долго, но зачёт уже стоял.