bash.im ithappens.me zadolba.li
10853

146% успеваемости

16 апреля 2013, 07:45

Когда я поступил в универ, стояли у нас 286-е с метром памяти на борту и дисководом на 360 КБ. А ещё был препод по вычислительной алгебре, который любил вносить ноу-хау в процесс обучения. Препод был хороший, как я теперь понимаю: и предмет любил, и к новинкам в виде ПК относился с уважением. Сам какой-то язык программирования выучил и наваял для нас тест. Один EXE-файл. Запускается, выдаёт вопрос и три варианта ответа. Вопросов было что-то около ста. Вопросы очень сложные, варианты ответов с подвохом. По окончании тестирования — окно с результатом. Причём в окне не было написано, на какой вопрос отвечал с ошибкой, только статистика, и предложение подписаться, если результат (оценка) устраивает. Нет — приходишь в следующий раз.

Кто спёр программу и как — история умалчивает, но разбирали её все. И все без результата. Вопросы и ответы не находились по телу экзешника никак. Было очевидно, где они, это проследили, но дальше они были хитро зашифрованы. Расшифровать, конечно, можно всё, но тогда мы были менее подкованы.

Придумали такое. Перед запуском теста в память садился резидент, который брал текст вопроса и варианты ответа напрямую из видеопамяти. Далее он же нажимал клавишу ответа. Во всех вопросах всегда выбирался первый вариант. Пройдя тест по сто вопросов три раза, можно было получить правильный ответ на первый вопрос (на финальном экране читали результат из памяти и выбирали из трёх максимальный). Записывали всё это на диск. Далее просто: первый ответ знаем, три раза проходим тест для второго вопроса (всего лишь дать 99 ответов три раза), потом третий… Но главное — всё, в принципе, можно автоматизировать. Несколько часов работы компа одного счастливчика-однокурса, имеющего дома такую же машинку, — и готов файл с ответами.

Далее совсем просто. Написали резидент, который перехватывал ввод и нажимал нужное. Как сейчас говорят, без палева: читаешь вопрос, типа, думаешь, нажимаешь кнопку варианта, но всё равно отвечает TSR. А совсем без палева — это лампочка Scroll Lock. Пока она включена, резидент перехватывает, нет — сам отвечаешь. Надо же не совсем уж 146 процентов показывать.