Если чистящая программа запускается на компьютере автоматически, в ходе исследований вам необходимо найти "спусковой крючок", который ее запускает и заставляет уничтожать только определенные файлы. Например, чистящая программа может быть соединена с функцией окончания сеанса, так что до того, как компьютеры выключаются на ночь, диски подвергаются сканированию и нежелательные файлы перемешаются. Чистящая программа может также задействоваться в качестве части стартовой подпрограммы, либо регулярно осуществляемого технического сопровождения. В любом случае, внимательное исследование файлов в системе позволит установить порядок, которому они следуют. Как только вы найдете программу, отключающую "чистильщика", вы сможете изменить свой собственный файл таким образом, чтобы он не уничтожался, а игнорировался. Чистящая программа часто представляет собой монстра "все - или ничего", который стирает все на своем пути , пересекая жесткий диск. Между тем, существуют и более деликатные версии, которые просто стирают старые файлы. Обойти этих "джентльменов" можно, написав несложную программу. Вот пример ВАТ-файла MS-DOS, который изменяет дату вашей спрятанной "корзинки с пряниками" из примера (в котором текстовый файл обозначается "filename") на более позднюю. Подсоедините этот ВАТ-файл в конце AUTOEXEC.BAT, либо поместите в подпрограммы системного сопровождения непосредственно перед запуском "чистильщика". И тогда ваш файл никогда не сотрут.
(c)ECHO OFF
CTTY NUL
DATE TEMP
EDLIN TEMP [COMMAND2
DATE 12-31-1999
EDLIN FILENAME [COMMAND3
EDLIN COMMAND 1[COMMAND3
EDLIN COMMAND2[COMMAND3
EDLIN COMMAND3[COMMAND3
DATE [TEMP
DEL *.BAK
DEL TEMP.*
CTTYCON
Чтобы это работало, вам следует создать три вторичных файла. Здесь они носят названия "сот-mand1", "command2" и "command3", но вы можете придумать для них и более невинные прозвища. "Commandl" содержит только возврат каретки (Control-M). "Command3" - файл, содержащий только букву "е". "Command2" несколько длиннее:
2d
1 rCurrent date is
1rSun
1rMon
IrTue
1rWed
1rThu
1rFri
IrSat
ВАТ-файл работает, используя команду "date" для изменения даты на 31 декабря 1999 года. EDLIN задействован для сохранения файла с паролями (то есть с вашими "пряниками") и трех вторичных файлов под новой датой, в целях их зашиты. В конце дата возвращается в нормальное состояние. Имейте в виду, что MS-DOS может быть установлена на представление даты в различных форматах. Если компьютер, к которому вы "прицелились", имеет необычные установки, вам придется изменять ВАТ-файл и "Command2". Учтите также, что "temp" является распространенным именем файла. Лучше подышите для своей программы что-нибудь более экзотическое.
Файлы AUTOEXEC.BAT часто подвергаются изменениям, и ВАТ-файл, подобный приведенному в примере, скорее всего, будет замечен обслуживающим компьютер персоналом. Чтобы ваши программы остались тайной, вам, возможно, придется хранить этот и ему подобные ВАТ-файлы в отдельном файле на жестком диске, подальше от AUTOEXEC.BAT. В том месте файла AUTOEXEC, где будет задействован ваш "троянский" ВАТ-файл, вы можете использовать команду "call" системы DOS ("call BATCH.BAT" задействует вашу "лошадку" и, по окончании ее работы, вернет в файл AUTOEXEC.BAT). Ваш ВАТ-файл может быть соответствующим образом закамуфлирован, так, как это описано ниже, а в файле AUTOEXEC.BAT внимание техника сможет привлечь разве что одна-единственная ложная строка.
Не забудьте, что в некоторых операционных системах, таких как MS-DOS, можно использовать команду "ATTRIB", чтобы сделать имена файлов невидимыми в списке директорий (a "attrib FILENAME +h снова делает их видимыми). Такое сокрытие имени файла не является действительно безопасным, так как существует множество способов, с помощью которых кто-либо может случайно или намеренно найти спрятанные файлы на жестком диске. Но такое удаление имени из директории, несомненно, значительно снижает риск случайного обнаружения ваших "троянских" файлов.
чего следует остерегаться
Я хочу перечислить несколько вещей, которых следует опасаться при применении подобной программы. Мои замечания будут касаться приведенной в примере программы, но они достаточно универсальны, чтобы распространяться на любую похожую программу, которую вы спрячете в системе.
Во-первых, убедитесь в присутствии EDLIN, равно как и DEBUG, TREE и других внешних команд DOS. Они не обязательно являются доступными на используемом вами компьютере, так что вы можете влипнуть, если ваши намерения откроются. При попытке скопировать эти файлы вы можете обнаружить, что директория DOS защищена от записи. В этом случае придется помешать необходимые команды в альтернативную директорию. Это может подставить их под "нож" чистящей программы. Если чистильщик действительно уничтожит эти внешние команды, вам придется придумывать, как разместить их на диске, в то же время обезопасив от "чистильщика". Этот ВАТ-файл работает только для текстовых файлов - двоичные файлы EDLIN испортит.
Во-вторых, прежде чем действовать, убедитесь, что директория DOS находится в PATH. Это означает, что, для того, чтобы конкретный файл можно было использовать, он должен быть расположен либо в текущей директории, либо в директории, которая была определена (обычно с помощью AUTOEXEC.BAT) как место, где ОС ищет файлы для запуска. Конечно, это не проблема - просто добавьте оператор PATH или CD перед первой EDLIN - но такой момент вы можете просто-напросто проглядеть, особенно если вам приходится самостоятельно добавлять специальные команды в необычную или незнакомую директорию.
Проверьте также перед тем, как инсталлировать какие бы то ни было программы: хватит ли места на диске? Хватит ли памяти? Не пытается ли программа создать временный файл в закрытой директории? (Если это так, откройте temp в директории USERS, или в любой другой не защищенной от записи директории). Не существует ли уже файл с названием "temp"? А как насчет "Command!", "Command2", и "Commands"? Существуют иные пути использования этой програма-боты программы-"чистильщика", она может запускаться каждый раз, когда вносятся изменения в файл с паролями. Правда, это отнимает несколько секунд, и этого времени может оказаться достаточно, чтобы ощутимо замедлить работу прикладной программы пользователя. Не забывайте, что предполагалось использование данной программы во взаимодействии с каким-нибудь "троянским конем", который вы инсталлируете; "конь" и так замедлит работу компьютера, а уж задержка, вызванная взаимодействием двух программ, вряд ли останется незамеченной.
Чистящая программа может использовать и другие критерии при принятии решения о том, какие файлы убрать, а какие оставить. Вам придется использовать схожие приемы программирования, чтобы соответственно приспособить свою программу.
Если специальная чистящая программа отсутствует, значит, жесткий диск очищается вручную. Возможно, этому человеку и не хватит ума в поисках файлов заглянуть за пределы вышеупомянутой директории USERS, но безопаснее считать, что этот человек не глупее вас. Да и вообще, вам ведь неизвестно, кто еще, кроме вас, пользуется общественным компьютером, а значит, вам следует принять меры и спрятать свои драгоценные файлы с паролями подальше от чужих глаз. Вот несколько предложений на эту тему:
Измените атрибут "спрятанных файлов" так, что он не будет значиться в директории.
Поместите его в тайную или недоступную директорию. Проведите такой эксперимент. Поместите следующие команды в ВАТ-файл: