Так все должно выглядеть снаружи. На самом же деле, когда пользователь набирает "Т" для выбора телекоммуникаций из меню, меню запускает программу, которую вы подсадили в систему - вместо того, чтобы действительно войти в сеть.
Программа, которую вы "подсовываете", должна выглядеть так, как будто она делает все то, что обычно происходит, когда кто-то выбирает из меню пункт "Телекоммуникации". Например, она может спросить, с каким компьютером хотел бы соединиться пользователь, а затем сделать вид, что устанавливает соединение с этим компьютером. После этого программа выдает приглашения к вводу имени и пароля, и записывает эти замечательные слова на дискету!
Затем можно заставить программу выдавать сообщение об ошибке и возвращать пользователя в главное меню, но это будет выглядеть подозрительно, и заставит ответственных за систему людей повнимательнее присмотреться к установкам своего компьютера.
Лучше, если ваша маленькая моделирующая программка будет вызываться из ВАТ-файла. При ее использовании следующим шагом в ВАТ-файле может быть реальное соединение с системой. Можно заставить ВАТ-файл вводить имя и пароль, введенные пользователем, ликвидировав, таким образом, все странности. Или же пусть он выдает стандартное сообщение "пароль неверен", а уже потом соединяется с сетью.
В других случаях опция "Телекоммуникации" может отсылать пользователя к коммерческому терминальному пакету, вроде ProComm Plus или SmartCom. И в данной ситуации вам тоже не составит труда создать вашу собственную ложную версию одной из этих программ. Но тут подстерегает ловушка. Когда пользователь войдет в вашу фальшивую терминальную программу, он должен будет выбрать телефонный номер из списка и попытаться связаться с ним. Пользователь будет весьма смущен и у него сразу же возникнут подозрения, если динамик будет включен, но не издаст ни единого звука, сопутствующего соединению! (Не забывайте, что вам каким-то образом придется заставить вашу программу выходить на связь, чтобы потом вы могли смоделировать вызванную сеть. После этого пользователь введет пароль, думая, что действительно подсоединился к сети.)
Наиболее разумный способ разрешения этой дилеммы - сделать так, чтобы программа выдавала экзотическое сообщение об ошибке, типа:
Operating Error 2130: Line Noise Interference Shut off your speaker and try again.
Конечно, это сообщение должно как можно больше походить на другие сообщения об ошибках, те, что на самом деле выдает терминальная программа.
Когда пользователь выключит динамик, программа может симулировать соединение и выдать стандартный загрузочный экран соответствующей сети. И вот имя и пароль взяты и записаны на дискету, после чего выдается сообщение об ошибке и пользователь отсоединяется.
Возможно, вам придется заставить компьютер просто выдать на экран кучу бессмысленных случайных символов после того, как имя и пароль будут введены. Постарайтесь, чтобы эта мешанина выглядела достоверно - что-то вроде помех на линии, с которыми время от времени приходится сталкиваться каждому - но не казалась чрезмерной. Пользователю придется отключиться практически немедленно. Если же он этого не сделает, или попытается сделать что-то другое, на экране компьютера должно появляться стандартное сообщение: "Logged off. Good bye!" В этот момент компьютер может загрузить настоящую терминальную программу, так что будет казаться, что ничего особенного не произошло.
Как правило, на общественных компьютерах не бывает коммерческих терминальных пакетов, в основном потому, что если они есть, люди приходят и начинают звонить чуть ли не всему свету. Но они могут оказаться в офисах и конторах, значит, решив отправиться "на местность", не забудьте прихватить с собой эти идеи.
А теперь давайте вернемся к программе меню.
Программа меню необязательно является коммерческой версией. Она может быть создана на месте, либо написана на интерпретируемом языке вроде Бэйсика. Она может представлять собой и обычный ВАТ-файл.
Если вы столкнулись с одним из вышеперечисленных случаев, вам удастся без особенных усилий изменить саму программу меню, либо создав подпрограммы, в которых будут храниться имена и пароли, либо добавив опцию телекоммуникаций, если таковая отсутствует.
Последний вариант уловки, связанной с меню - построение модели меню. Это означает, что, если вы окажетесь не в состоянии изменить уже существующее меню, вам придется написать программу, похожую на существующее меню, но с вашими дополнениями.
На воспроизведение программы меню у вас может уйти некоторое время. Если в меню используются всплывающие окна, вам придется написать подпрограммы для смены экрана, либо запрограммировать окна, которые открывались и закрывались бы частями. Вам следует внимательно разобраться с цветами экрана и специальными символами на экране, с тем, как настоящая программа обращается с ошибочными данными, и с другими тонкостями меню.
Хотя программирование может оказаться сложным, вам все же лучше использовать собственное меню, так как тогда вам будет легче прятать захваченные пароли и другие полезные веши, получение которых, вообще говоря, и является основной целью данного проекта.
Как СПРЯТАТЬ Вашу "КОРЗИНКУ С ПРЯНИКАМИ"
Все вышеописанные методы работы; с меню, равно как и многие технические приемы, описанные ранее, предполагают воспроизведение последовательности загрузки в сеть и захвата нажатий клавиш, в результате чего на диске сохраняется соответствующий файл. Здесь следует беспокоиться о двух вещах: о том, что ваш файл обнаружат, и о том, что ваш файл прочтут. Давайте посмотрим, как же нам предохранить себя от этих двух событий.
Дело в том, что, так как все происходит на общественных компьютерах, ваши драгоценные файлы может обнаружить кто угодно. В число "кого угодно" входят те, кто несет ответственность за обслуживание, те, кто налаживает конфигурацию компьютеров, другие хакеры, и просто любопытствующие личности со стороны. Файлы может обнаружить и сам компьютер.
Большинство общественных компьютеров, которые могут вам встретиться, оснащены чистящими подпрограммами. Еженедельно, ежемесячно, а порой и еженощно компьютеры стирают все свои старые файлы данных, дабы освободить место на диске для нового материала.
К большинству общественных компьютеров с текстовыми процессорами приложены записки с просьбой пользователям приносить свои собственные дискеты, чтобы сохранять на них свою работу, но обычно существует специальная пользовательская директория USERS, либо какое-то другое место, куда любой может записать свои файлы.
Чистящая программа используется для удаления из таких директорий старых файлов. Эта программа часто сканирует и остальную часть диска, уничтожая файлы, которые хранят пользователи в других директориях. На общественных компьютерах часто можно видеть десятки пустых директорий в разных местах;
как правило, эти директории имеют человеческие имена. Это частные директории, которые люди создают для себя в надежде, что другие пользователи не станут читать или уничтожать их файлы - при этом совершенно не понимая того, что их файлы все равно будут, уничтожены самим компьютером. Зачастую чистящая программа не соображает, что и саму директорию тоже следует уничтожить.
Прежде чем располагать на общественном компьютере вашу программу меню, или что-либо другое, необходимо провести некоторые эксперименты, чтобы посмотреть, какой системой очистки располагает данный компьютер - если таковая имеется вообще. Нет смысла тратить многие часы на разработку проекта только затем, чтобы его стерли вскоре после того, как он будет реализован на компьютере.
Если на компьютере действительно есть чистящая программа, вам надо скопировать ее вместе с прочими вещами в самом начале ваших исследований данного компьютера. Взгляните на программу; вероятно, найдется множество способов ее обезвредить. Возможно, чистящая программа снабжена файлом данных, который содержит информацию о том, какие директории следует просмотреть, что необходимо сделать, если обнаружатся просроченные файлы, дату, по истечении которой файл становится "старым", и другие подобные переменные. Вероятно, вам удастся приспособить этот файл для своих нужд, изменив его таким образом, чтобы "чистильщик" обходил своим вниманием вашу специальную директорию или программу.