Резидентная программа что это такое

Резидентная программа для Windows

В данной курсовой работе рассмотрена программа-резидент, остающаяся в памяти после закрытия окна программы и обозначающая свое присутствие значком в трее.
Цель работы состоит в разработке программы-резидента, делающей снимок экрана с заданной периодичностью и сохраняющая файлы в выбранной папке.

Введение 5
1. Постановка задачи и ее решение 6
1.1. Формулировка задачи 6
1.2 Спецификация задачи 6
2 Техническая реализация алгоритма решения 6
2.1 Выбор языка и среды программирования 6
2.2 Описание алгоритмов и программы 6
2.3 Описание методов программирования 8
3 Тестирование программы 11
Заключение 13
Список литературы 14
Приложение А. Листинг программы 15

Работа содержит 1 файл

Пояснительная записка курсовой работы содержит _16_ страниц, _8_ рисунков,_4_ источника, _1_ приложение.

Ключевые слова: ПРОГРАММА, РЕЗИДЕНТ, ТРЕЙ, СКРИНШОТ, ПУТЬ К ПАПКЕ, ТАЙМЕР

КАРЬЕРА ХАКЕРА. Книга 1 — Основы MASM32. Глава 4 — Резидентная программа

В данной курсовой работе рассмотрена программа-резидент, остающаяся в памяти после закрытия окна программы и обозначающая свое присутствие значком в трее.

Цель работы состоит в разработке программы-резидента, делающей снимок экрана с заданной периодичностью и сохраняющая файлы в выбранной папке.

1. Постановка задачи и ее решение 6

1.1. Формулировка задачи 6

1.2 Спецификация задачи 6

2 Техническая реализация алгоритма решения 6

2.1 Выбор языка и среды программирования 6

2.2 Описание алгоритмов и программы 6

2.3 Описание методов программирования 8

3 Тестирование программы 11

Список литературы 14

Приложение А. Листинг программы 15

Введение

Системное программное обеспечение — это комплекс программ, которые обеспечивают эффективное управление компонентами компьютерной системы , такими как процессор , оперативная память , устройства ввода-вывода , сетевое оборудование , выступая как «межслойный интерфейс», с одной стороны которого аппаратура, а с другой — приложения пользователя. В отличие от прикладного программного обеспечения , системное не решает конкретные прикладные задачи, а лишь обеспечивает работу других программ, управляет аппаратными ресурсами вычислительной системы и т.д.

Резидентная программа (или TSR-программа, от англ. Terminate and Stay Resident — «завершиться и остаться резидентной») — в операционной системе MS-DOS программа , вернувшая управление оболочке операционной системы ( command.com ), либо надстройке над операционной системой ( Norton Commander и т. п.), но оставшаяся в оперативной памяти персонального компьютера . Резидентная программа активизируется каждый раз при возникновении прерывания , вектор которого эта программа изменила на адрес одной из своих процедур .

При работе с MS-DOS резидентные программы широко использовались для достижения различных целей (например, русификаторы клавиатуры , программы доступа к локальной сети , менеджеры отложенной печати , вирусы ).

Резидентная программа. Assembler

По способу инициализации и вызова операционной системой резидентные программы необходимо отличать от «настоящих» драйверов MS-DOS, встраиваемых операционной системой в своё ядро во время загрузки. В эпоху многозадачных ОС резидентными иногда называют программы, загруженные постоянно и работающие в фоновом режиме.

Разработать программу, работающую в фоновом режиме. Программа должна оставаться в памяти после закрытия главного окна и обозначать свое присутствие значком в системном трее. Также программа должна с заданной периодичностью делать снимки экрана и сохранять их в выбранную пользователем папку.

— периодичность в секундах;

— папка для сохранения скриншотов.

— иконка с системном трее

  1. Техническая реализация алгоритма решения
    1. Выбор языка и среды программирования

    Языком программирования был выбран C#, поскольку он позволяет решать широкий спектр задач, легок в использовании, обладает гибкостью и большим количеством удобных в использовании библиотек. Помимо этого он позволяет использовать как объектно-ориентированный, так и структурный подход.

    В качестве среды разработки была выбрана IDE Visual Studio 2010 Express Edition, поскольку она обладает удобным интерфейсом, богатыми средствами для отладки, широко распространена и бесплатна для некоммерческого использования.

    При запуске программы в системном трее появляется значок. Таймер автоматически не запускается, программа находится в режиме ожидания. Контекстное меню открывается нажатием правой кнопкой мыши по иконке. Меню состоит из следующих пунктов:

    • «Настройка» — открывается главное окно программы, в котором можно задать интервал таймера, выбрать папку для сохранения скриншотов, свернуть окно и закрыть программу;
      • «Свернуть» — при выборе этого пункта меню сворачивается в трей главное окно программы;
      • «Запустить» — запускается таймер, с заданной периодичностью программа делает снимки экрана и сохраняет в выбранную папку. По умолчанию интервал таймера – 5 секунд, а папка сохранения – диск C. В режиме работы таймера нельзя изменить периодичность сохранения скриншотов.
      • «Остановить» — остановка таймера, режим ожидания. В этом режиме можно изменить интервал таймера.
      • «Выход» — полное закрытие программы

      Рисунок 1- Диаграмма состояний и переходов

      Код формы, создание иконки в трее.

      notifyIcon.Icon = new Icon (ICON_FILE_NAME);

      Код создания и настройки контекстного меню, запуск и остановка таймера.

      ContextMenu menu = new ContextMenu ( new MenuItem []

      new MenuItem (ITEM_SHOW_WINDOW),

      new MenuItem (ITEM_HIDE_WINDOW),

      new MenuItem (ITEM_ACTION),

      new MenuItem (ITEM_STOP),

      new MenuItem (ITEM_EXIT_ APPLICATION)>);

      foreach ( MenuItem menuItem in menu.MenuItems)

      menuItem.Click += new EventHandler (OnMenuItemClick);

      //Делаем доступным пункт Hide, а пункт Show — запрещаем

      protected override void OnLoad( EventArgs e)

      notifyIcon.ContextMenu. MenuItems[0].Enabled = false ;

      notifyIcon.ContextMenu. MenuItems[1].Enabled = true ;

      //Делаем доступным пункт Show, а пункт Hide — запрещаем

      protected override void OnClosed( EventArgs e)

      notifyIcon.ContextMenu. MenuItems[0].Enabled = true ;

      notifyIcon.ContextMenu. MenuItems[1].Enabled = false ;

      //Анализируем какой MenuItem clik’нули и выполняем соответствующее действие

      void OnMenuItemClick( object sender, EventArgs e)

      Источник: www.stud24.ru

      Организация резидентных программ

      Многие программы, обеспечивающие функционирование вычислительной системы (драйверы устройств, программы сжатия или шифрования данных, русификаторы, интерактивные справочники и др.), должны постоянно находиться в памяти и быстро реагировать на запросы пользователя или на какие-то события, происходящие в вычислительной системе. Такие программы носят название программ, резидентных в памяти (Terminate and Stay Resident, TSR), или просто резидентных. Сделать резидентной можно любую программу, однако ввиду того, что резидентная программа должна быть максимально компактной, чаще всего в качестве резидентных используют программы типа .СОМ.

      Читайте также:
      Corel designer что это за программа

      Существует несколько приложений, для которых подходят TSR-программы. Чаще всего TSR-программы используются для русификации импортных персональных компьютеров. Написано множество программ для загрузки русских шрифтов в память видеоадаптеров, для печати русских букв на принтере в графическом режиме, для русификации клавиатуры и т.п. Для всех этих программ характерно то, что они запускаются один раз при загрузке компьютера — их имена обычно включают в AUTOEXEC.BAT. Эти программы могут переключать на себя обработку прерываний, связанных с выводом на печать или с обращением к клавиатуре и/или выполнять разовые инициализирующие действия, такие как загрузка русских шрифтов в память видеоадаптера.

      Другим примером использования TSR-программ могут служить программы резидентных калькуляторов, справочных баз данных типа Norton Guide или целых интегрированных систем наподобие Sidekick фирмы Borland. Такие программы тоже обычно запускаются через AUTOEXEC.BAT или при необходимости. Они перехватывают клавиатурные прерывания и отслеживают нажатие клавиш. Как только обнаруживается нажатие определенной заранее клавиши, поверх имеющегося на экране изображения выводится окно диалога резидентной программы.

      Иногда TSR-программы используют для обслуживания нестандартной аппаратуры, особенно когда с этой аппаратурой должны работать по очереди несколько разных программ. В этом случае TSR-программа встраивает обработчик какого-либо прерывания, не занятого системой, и через этот обработчик все прикладные программы обращаются к нестандартной аппаратуре.

      Аналогично работает резидентная часть системы управления базами данных ORACLE. Через прерывание, устанавливаемое при запуске ORACLE, прикладная программа, составленная на любом языке программирования, имеющем средство вызова прерывания, может пользоваться базой данных ORACLE.

      Структура типичной резидентной программы выглядит следующим образом:

      Программа пишется в формате .СОМ, поэтому в ней предусматривается только один сегмент, с которым связываются сегментные регистры CS и DS; в начале сегмента резервируется l00h байт для PSP.

      При запуске программы с клавиатуры управление передается (в соответствии с параметром директивы end) на начало процедуры main. Командой jmp сразу же осуществляется переход на секцию инициализации, которая может быть оформлена в виде отдельной процедуры или входить в состав процедуры main. В секции инициализации выполняются некоторые начальные действия, о которых мы поговорим позже.

      Последними строками секции инициализации вызывается функция DOS 3lh, которая выполняет завершение программы с оставлением в памяти указанной ее части. Размер резидентной части программы (в параграфах) передается DOS в регистре DX. Определить этот размер можно, например, следующим образом. К разности смещений init-main, которая равна длине резидентной части программы в байтах, прибавляется размер PSP (l00h) и еще число 15 (Fh), чтобы после целочисленного деления на 16 (для получения размера программы в параграфах) результат был округлен в большую сторону. С целью экономии памяти секция инициализации располагается в конце программы и отбрасывается при ее завершении.

      Функция 31h, закрепив за резидентной программой необходимую для ее функциони­рова­ния память, передает управление командному процессору (как и обычная функция завершения программы 4Ch), и вычислительная система переходит в исходное состояние. Наличие программы, резидентной в памяти, никак не отражается на ходе вычислительного процесса, за исключением того, что уменьшается объем свободной памяти. Одновременно в память может быть загружено любое число резидентных программ. Процесс первичного запуска резидентной программы, приводящего к ее загрузке в память, обычно называют установкой программы.

      На рис. 41.1 показаны элементы резидентной программы и их взаимодействие.

      Любая резидентная программа имеет по крайней мере две точки входа. При запуске с клавиатуры программы типа .СОМ управление всегда передается на первый байт после PSP (IP=100h). Поэтому практически всегда первой командой резидентной программы является команда jmp, передающая управление на начало секции инициализации.

      После отработки функции DOS 31h программа остается в памяти в пассивном состоянии. Для того чтобы активизировать резидентную программу, ей надо как-то передать управление. Вызвать к жизни резидентную программу можно разными способами, но наиболее употребительным является механизм аппаратных или программных прерываний.

      В этом случае в процессе инициализации необходимо заполнить соответствующий вектор адресом точки входа в программу (entry на рис. 41.1). Адрес entry образует вторую точку входа в программу, через которую осуществляется ее активизация. Очевидно, что резидентная секция программы должна заканчиваться командой выхода из прерывания iret.

      Источник: megaobuchalka.ru

      Резидентная программа что это такое

      Большинство программ, выполнив свою работу, освобождают память и заменяются другими. Но некоторые, так называемые резидентные программы, остаются в памяти до тех пор, пока вы не выключите компьютер или не произведете перезапуск системы. Эти программы называют также резидентными в памяти или TSR-программами (terminate and stay — завершить и остаться) [13, c. 78].

      Когда ДОС запускает программу, он находит для нее пространство в памяти, копирует программу с диска в память и затем на время передает управление от компьютера этой программе. Обычно по окончании работы программа возвращает управление компьютером операционной системе, и DOS использует память, которая была занята предыдущей программой, для следующей.

      С резидентными программами дело обстоит иначе. Когда резидентная программа завершает начальную часть своей работы, она передает управление компьютером операционной системе, но одновременно сообщает, чтобы последняя не отдавала другим программам ту область памяти, в которую она была загружена. Программа просит DOS оставить ее в памяти.

      В свою очередь система выставляет барьер там, где кончается резидентная программа, и загружает следующую нашу программу над резидентной программой. Что означает «над» резидентной программой? Когда мы говорим о памяти, мы связываем любую ее часть с адресом. Адреса начинаются с малых и располагаются по возрастанию.

      Читайте также:
      Npxs20001 ps4 приложение что это за программа

      DOS и резидентные программы располагаются по адресам, начиная с малых номеров, поэтому, когда говорится, что программа загружается над другой программой, то имеется в виду, что она помещается в памяти по адресам с большими номерами. В результате, резидентная программа соединяется с небольшой частью DOS, которая остается в нижней части компьютерной памяти. Все последующие программы, которыми вы пользуетесь, будут работать в области памяти с более высокими адресами, не затрагивая резидентную программу и DOS, находящиеся ниже. Таким образом, резидентная программа постоянно находится в памяти до тех пор, пока не будет выключен компьютер.

      В чем состоит суть резидентных программ? В отличие от других программ резидентная программа остается активной даже после, того, когда она, завершила свою работу. Программа остается в памяти и может продолжить свою работу, даже если после нее вы запускаете, другие программы.

      Резидентные программы имеют много применений. Сама DOS включает в себя четыре различные резидентных программы. Известно также много других интересных резидентных программ, которые не являются составной частью DOS [7, c. 84].

      Одна из резидентных программа DOS вызывается командой PRINT, и действует как своего рода накопитель печати (спулер). Работа накопителя печати состоит в том, чтобы выводить на принтер информацию, не занимая процессор на то время, когда производится печатание, резидентная программа PRINT справляется с этой задачей, беря на себя работу по своевременной подаче информации для принтера, оставляя в то же время процессор доступным для обслуживания других программ. Она загружает процессор процессом вывода на печать ровно настолько, чтобы принтер был постоянно занят своей работой оставляя основную часть ресурса процессора для работы других программ [12, c. 39].

      По характеру своей работы программа PRINT относится к так называемым фоновым программам.

      Еще один пример резидентной программы DOS — программа GRAPHICS, которая обеспечивает вывод на принтер графических изображений на экране монитора. Она загружается в память по команде GRAPHICS, но ничего не делает до тех пор, пока не будет нажата клавиша PrtSc (печать экрана). После нажатия этой клавиши выводит на печать графическое изображение, которое в этот момент присутствует на экране монитора.

      Источник: studbooks.net

      Резидентные вирусы: что это и как уничтожить. Компьютерные вирусы

      Большинство пользователей хоть раз в жизни сталкивались с понятием компьютерных вирусов. Правда, не многие знают, что классификация угроз в основе своей состоит из двух больших категорий: нерезидентные и резидентные вирусы. Остановимся на втором классе, поскольку именно его представители являются наиболее опасными, а иногда и неудаляемыми даже при форматировании диска или логического раздела.

      Что такое резидентные вирусы?

      Итак, с чем же имеет дело пользователь? Для упрощенного объяснения структуры и принципов работы таких вирусов для начала стоит остановиться на объяснении того, что такое резидентная программа вообще.

      резидентные вирусы

      Считается, что к такому типу программ относятся приложения, работающие постоянно в режиме мониторинга, явным образом не проявляя своих действий (например, те же штатные антивирусные сканеры). Что же касается угроз, проникающих в компьютерные системы, они не только висят постоянно в памяти компьютера, но и создают собственные дубли.

      Таким образом, копии вирусов и постоянно следят за системой, и перемещаются по ней, что существенно затрудняет их поиск. Некоторые угрозы способны еще и менять собственную структуру, а их детектирование на основе общепринятых методов становится практически невозможным. Чуть позже рассмотрим, как избавиться от вирусов такого типа. А пока остановимся на основных разновидностях резидентных угроз.

      DOS-угрозы

      Изначально, когда Windows- или UNIX-подобных систем еще и в помине не было, а общение пользователя с компьютером происходило на уровне команд, появилась «операционка» DOS, достаточно долго продержавшаяся на пике популярности.

      доктор веб

      И именно для таких систем начали создаваться нерезидентные и резидентные вирусы, действие которых сначала было направлено на нарушение работоспособности системы или удаление пользовательских файлов и папок.

      Принцип действия таких угроз, который, кстати, широко применяется и до сих пор, состоит в том, что они перехватывают обращения к файлам, а после этого заражают вызываемый объект. Впрочем, большинство известных сегодня угроз работает именно по этому типу. Но вот проникают вирусы в систему либо посредством создания резидентного модуля в виде драйвера, который указывается в файле системной конфигурации Config.sys, либо через использование специальной функции KEEP для отслеживания прерываний.

      Хуже дело обстоит в том случае, когда резидентные вирусы такого типа используют выделение под себя областей системной памяти. Ситуация такова, что сначала вирус «отрезает» кусок свободной памяти, затем помечает эту область как занятую, после чего сохраняет в ней собственную копию. Что самое печальное, известны случаи, когда копии находятся и в видеопамяти, и в областях, зарезервированных под буфер обмена, и в таблицах векторов прерываний, и в рабочих областях DOS.

      Все это делает копии вирусных угроз настолько живучими, что они, в отличие от нерезидентных вирусов, которые работают, пока запущена какая-то программа или функционирует операционная система, способны активироваться вновь даже после перезагрузки. Кроме того, при обращении к зараженному объекту вирус способен создавать собственную копию даже в оперативной памяти. Как следствие – моментальное зависание компьютера. Как уже понятно, лечение вирусов этого типа должно производиться при помощи специальных сканеров, причем желательно не стационарных, а портативных или тех, которые способны загружаться с оптических дисков или USB-носителей. Но об этом несколько позже.

      Загрузочные угрозы

      Загрузочные вирусы проникают в систему по схожему методу. Вот только ведут они себя, что называется, утонченно, сначала «съедая» кусок системной памяти (обычно 1 Кб, но иногда этот показатель может достигать максимум 30 Кб), затем прописывая туда собственный код в виде копии, после чего начиная требовать перезагрузку. Это чревато негативными последствиями, поскольку после рестарта вирус восстанавливает уменьшенную память до исходного размера, а его копия оказывается вне системной памяти.

      Читайте также:
      Программа cash back что это

      как избавиться от вирусов

      Кроме отслеживания прерываний такие вирусы способны прописывать собственные коды в загрузочном секторе (запись MBR). Несколько реже используются перехваты BIOS и DOS, причем сами вирусы загружаются однократно, не проверяя наличие собственной копии.

      Вирусы под Windows

      С появлением Windows-систем разработки вирусов вышли на новый уровень, к сожалению. Сегодня именно Windows любой версии считается наиболее уязвимой системой, несмотря даже на усилия, прилагаемые специалистами корпорации Microsoft в области разработки модулей безопасности.

      лечение вирусов

      Вирусы, рассчитанные на Windows, работают по принципам, схожим с DOS-угрозами, вот только способов проникновения на компьютер тут гораздо больше. Из самых распространенных выделяют три основных, по которым в системе вирус может прописать собственный код:

      • регистрация вируса как работающего в данный момент приложения;
      • выделение блока памяти и запись в него собственной копии;
      • работа в системе под видом драйвера VxD или маскировка под драйвер Windows NT.

      Зараженные файлы или области системной памяти, в принципе, можно вылечить стандартными методами, которые применяются в антивирусных сканерах (детектирование по маске вируса, сравнение с базами сигнатур и т. д.). Однако если используются простенькие бесплатные программы, они могут вирус и не определить, а иногда даже выдать ложное срабатывание. Поэтому луче применять портативные утилиты вроде «Доктор Веб» (в частности, Dr. Web CureIt!) или продукты «Лаборатории Касперского». Впрочем, сегодня можно найти достаточно много утилит такого типа.

      Макро-вирусы

      Перед нами еще одна разновидность угроз. Название происходит от слова «макрос», то есть исполняемого апплета или надстройки, применяемых в некоторых редакторах. Неудивительно, что запуск вируса происходит в момент старта программы (Word, Excel и т. д.), открытия офисного документа, его печати, вызова пунктов меню и т. п.

      резидентная программа

      Такие угрозы в виде системных макросов находятся в памяти в течение всего времени работы редактора. Но в целом если рассматривать вопрос о том, как избавиться от вирусов данного типа, решение оказывается достаточно простым. В некоторых случаях помогает даже обычное отключение надстроек или выполнения макросов в самом редакторе, а также задействование антивирусной защиты апплетов, не говоря уже об обычном быстром сканировании системы антивирусными пакетами.

      Вирусы на основе технологии «стелс»

      Теперь посмотрим на маскирующиеся вирусы, ведь не зря же они получили свое название от самолета-невидимки.

      макро вирусы

      Суть их функционирования как раз и состоит в том, что они выдают себя за системный компонент, а определить их обычными способами иногда оказывается достаточно сложным делом. Среди таких угроз можно найти и макровирусы, и загрузочные угрозы, и DOS-вирусы. Считается, что для Windows стелс-вирусы еще не разработаны, хотя многие специалисты утверждают, что это всего лишь дело времени.

      Файловые разновидности

      Вообще все вирусы можно назвать файловыми, поскольку они так или иначе затрагивают файловую систему и воздействуют на файлы, то ли заражая их собственным кодом, то ли шифруя, то ли делая недоступными по причине порчи или удаления.

      копии вирусов

      Самыми простыми примерами можно назвать современные вирусы-шифровальщики (вымогатели), а также печально известный I Love You. С ними без специальных расшифровочных ключей лечение вирусов произвести не то что сложно, а зачастую невозможно вообще. Даже ведущие разработчики антивирусного ПО бессильно разводят руками, ведь, в отличие от современных систем шифрования AES256, тут применяется технология AES1024. Сами понимаете, что на расшифровку может уйти не один десяток лет, исходя из количества возможных вариантов ключа.

      Полиморфные угрозы

      Наконец, еще одна разновидность угроз, в которых применяется явление полиморфизма. В чем оно состоит? В том, что вирусы постоянно изменяют собственный код, причем делается это на основе так называемого плавающего ключа.

      Иными словами, по маске определить угрозу невозможно, поскольку, как видим, изменяется не только ее структура на основе кода, но и ключ к расшифровке. Для борьбы с такими проблемами применяются специальные полиморфные дешифраторы (расшифровщики). Правда, как показывает практика, они способны расшифровать только самые простые вирусы. Более сложные алгоритмы, увы, в большинстве случаев их воздействию не поддаются. Отдельно стоит сказать, что изменение кода таких вирусов сопутствует созданию копий с уменьшенной их длиной, которая может отличаться от оригинала весьма существенно.

      Как бороться с резидентными угрозами

      Наконец, переходим к вопросу, касающемуся борьбы с резидентными вирусами и защиты компьютерных систем любого уровня сложности. Самым простым способом протекции можно считать инсталляцию штатного антивирусного пакета, вот только использовать лучше не бесплатные программы, а хотя бы условно-бесплатные (trial) версии от разработчиков вроде «Доктор Веб», «Антивирус Касперского», ESET NOD32 или программы типа Smart Security, если юзер постоянно работает с Интернетом.

      резидентные вирусы

      Впрочем, и в этом случае никто не застрахован от того, что угроза не проникнет на компьютер. Если уж такая ситуация произошла, для начала следует применять портативные сканеры, а лучше использовать дисковые утилиты Rescue Disk. С их помощью можно произвести загрузку интерфейса программы и сканирование еще до старта основной операционной системы (вирусы могут создавать и хранить собственные копии в системной и даже в оперативной памяти).

      И еще: не рекомендуется использовать программное обеспечение вроде SpyHunter, а то потом от самого пакета и его сопутствующих компонентов избавиться непосвященному пользователю будет проблематично. И, конечно же, не стоит сразу удалять зараженные файлы или пытаться форматировать винчестер. Лучше оставить лечение профессиональным антивирусным продуктам.

      Заключение

      Остается добавить, что выше рассмотрены только основные аспекты, касающиеся резидентных вирусов и методов борьбы с ними. Ведь если посмотреть на компьютерные угрозы, так сказать, в глобальном смысле, каждый день появляется такое огромное их количество, что разработчики средств защиты просто не успевают придумывать новые методы борьбы с такими напастями.

      Источник: fb.ru

      Рейтинг
      ( Пока оценок нет )
      Загрузка ...
      EFT-Soft.ru