В какой степени поддерживают технологию ole различные приложения windows приведите примеры

Обновлено: 05.07.2024

Связь и внедрение объектов, созданных в различных приложениях, осуществляются в Windows с помощью специальной технологии, которая называется OLE (Object Linking and Embedding – связь и внедрение объектов).
Технология OLE – это универсальный механизм для создания и обработки составных документов, содержащих одновременно объекты различного происхождения, разной природы, например, текст, таблицы, фотографии, звук и т.п.
В технологии OLE используются следующие термины и определения:

Объект OLE (OLE – объект) – произвольный элемент, созданный средствами какого-либо приложения Windows, который можно поместить (внедрить и/или связать) в документ другого приложения Windows. Объектом может быть целый файл или только фрагмент файла.

Сервер OLE (OLE – сервер, исходное приложение, приложение-источник) – приложение, средствами которого создается OLE-объект, т.е. программа, которая обслуживает другое приложение.

Клиент OLE (OLE-клиент, приложение-приемник или приложение-контейнер) – приложение, принимающее объект OLE, т.е. программа, которая пользуется услугами OLE-сервера.

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

При сохранении комплексного документа происходит сохранение и текста, и всех внедренных в него объектов. Размер исходного текстового документа возрастает на величину внедренных объектов.

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

Различные приложения Windows в разной степени поддерживают технологию OLE. Некоторые программы, например Блокнот, вообще ее не поддерживают. Ряд программ – WordArt, Microsoft Equation и др. могут исполнять роль только OLE-сервера. Информационные системы, наоборот, чаще всего выполняют только роль приемника, т.е. OLE-клиента.

Наиболее мощные приложения Windows, такие как Word, Excel и др. могут исполнять функции как OLE-сервера, так и OLE-клиента.
Технология OLE позволяет:

внедрять в документ объекты или фрагменты документов, созданные в других приложениях, а также редактировать эти объекты средствами создавшего их приложения;

устанавливать связь объекта с документом другого приложения. При установлении связи этот объект продолжает "жить" собственной жизнью и обслуживать другие документы.

^ Цель работы : приобретение навыков работы со стандартными приложениями Windows: графическим редактором Paint и текстовым процессором WordPad, архиватором 7-zip.

Порядок выполнения:

1 В пункте Меню->Свойства изменил высоту рисунка ( 6 см).

2Пользуясь инструментами Кисть, Ластик, Заливка и некоторыми Фигурами нарисовал заданный рисунок.

c:\users\face\desktop\лаба1.jpg

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

1. Какие стандартные программы входят в комплект поставки Windows?

2. Каково назначение программы Блокнот?

3. Что такое буфер обмена?

4. Каким образом можно поместить объект в буфер обмена?

5. Как вставить в документ объект, находящийся в буфере обмена?

6. Какие редакторы называются графическими? Каково их назначение?

7. Как строится изображение в растровой графике? в векторной?

8. В чем отличие текстового редактора от текстового процессора?

9. Что включает в себя функция форматирования документов?

10.Какие основные возможности форматирования включены в текстовый

процессор Word Pad? Как они реализовываются?

11.Для чего предназначен Калькулятор?

12.Калькуляторы каких типов включены в Windows? Как осуществляется

переключение с одного типа калькулятора на другой?

13.Каковы основные возможности простого и инженерного Калькуляторов?

14.Что такое технология OLE?

15.Что такое OLE-объект, OLE-сервер, OLE-клиент?

16.В какой степени поддерживают технологию OLE различные приложения

Windows? Приведите примеры.

17.Каковы возможности OLE-технологии?

18.Каково назначение служебных программ Windows?

19.Для чего используется программа ScanDisk?

20.Как часто следует проводить стандартную и полную проверку жесткого

21.Каково назначение программы дефрагментации диска?

22.Что такое дефрагментация диска?

23.Что такое форматирование дисков? В каких случаях прибегают к

24.Каково назначение программ-архиваторов?

25.Для чего используются сжатые файлы и папки?

26.Какие программы называются архиваторами?

27.Какие архивы называются самораспаковывающимися? Как

распаковываются такие архивы?

28.Какие архивы называются многотомными?

29.Каковы основные характеристики программ-архиваторов?

30.Каковы основные функции архиваторов?

31.Как создать новый архив?

32.Как можно разархивировать файлы?

33.Как просмотреть архивный файл?

34. Каковы основные алгоритмы сжатия?
Ответы на контрольные вопросы.

1. Какие стандартные программы входят в комплект поставки Windows?

В комплект поставки Windows входит ряд стандартных программ:

1. текстовый редактор Блокнот

2. графический редактор Paint

3. текстовый редактор WordPad

4. калькулятор и др.

^ 2. Каково назначение программы Блокнот?

Блокнот - это простейший текстовый редактор, который можно использовать как средство для просмотра и редактирования текстовых файлов типа .txt и многих других.

^ 3. Что такое буфер обмена?

Буфер обмена – это область памяти предназначенная для временного хранения данных.

4. Каким образом можно поместить объект в буфер обмена?

В буфер обмена объекты помещаются операциями копирования или вырезания.

^ 5. Как вставить в документ объект, находящийся в буфере обмена?


  1. Ctrl+V

  2. Из контекстного меню выбрать пункт вставка.

Графическими называют редакторы, предназначенные для создания и

^ 7. Как строится изображение в растровой графике? в векторной?

В растровой графике изображение строится из точек (пикселей). Другим типом графики является векторная графика, где изображения описываются математическими формулами. Методы работы с этими видами графики принципиально различны.

^ 8. В чем отличие текстового редактора от текстового процессора?

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

9. Что включает в себя функция форматирования документов?

Функция форматирования документов включает в себя редактирование документов изменение их параметров.

^ 10.Какие основные возможности форматирования включены в текстовый процессор Word Pad? Как они реализовываются?

1) настройка параметров печатной страницы (Файл/Макет страницы)

2) настройка параметров абзаца (Формат/Абзац)

3) создание маркированных списков (Формат/Маркер)

4) управление табуляцией (Формат/Табуляция)
^ 11.Для чего предназначен Калькулятор?

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

12.Калькуляторы каких типов включены в Windows? Как осуществляется переключение с одного типа калькулятора на другой?

В Windows включены 4 типа калькуляторов – это обычный, инженерный, программистский, статистический. Переключение между этими видами осуществляется через вкладку вид.

^ 13.Каковы основные возможности простого и инженерного Калькуляторов?

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

^ 14.Что такое технология OLE?

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

^ 15.Что такое OLE-объект, OLE-сервер, OLE-клиент?

Объект OLE (OLE – объект) – произвольный элемент, созданный средствами какого-либо приложения Windows, который можно поместить (внедрить и/или связать) в документ другого приложения Windows. Объектом может быть целый файл или только фрагмент файла.

Сервер OLE (OLE – сервер, исходное приложение, приложение-источник) –

приложение, средствами которого создается OLE-объект, т.е. программа, которая обслуживает другое приложение.

Клиент OLE (OLE-клиент, приложение-приемник или приложение-контейнер) – приложение, принимающее объект OLE, т.е. программа, которая пользуется услугами OLE-сервера.

^ 16.В какой степени поддерживают технологию OLE различные приложения Windows? Приведите примеры.

Различные приложения Windows в разной степени поддерживают технологию OLE. Некоторые программы, например Блокнот, вообще ее не поддерживают. Ряд программ – WordArt, Microsoft Equation и др. могут исполнять роль только OLE-сервера. Информационные системы, наоборот, чаще всего выполняют только роль приемника, т.е. OLE-клиента. Наиболее

мощные приложения Windows, такие как Word, Excel и др. могут исполнять функции как OLE-сервера, так и OLE-клиента.

^ 17.Каковы возможности OLE-технологии?

Технология OLE позволяет: внедрять в документ объекты или фрагменты документов, созданные в других приложениях, а также редактировать эти объекты средствами создавшего их приложения; устанавливать связь объекта с документом другого приложения. При установлении связи этот объект продолжает "жить" собственной жизнью и обслуживать другие документы.

^ 18.Каково назначение служебных программ Windows?

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

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

^ 19.Для чего используется программа ScanDisk?

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

^ 20.Как часто следует проводить стандартную и полную проверку жесткого диска?

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

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

^ 21.Каково назначение программы дефрагментации диска?

Дефрагментация диска - программа, предназначенная для повышения

эффективности работы диска путем устранения фрагментированности файловой структуры.

^ 22.Что такое дефрагментация диска?

При длительном редактировании файлов или при заполненности диска

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

^ 23.Что такое форматирование дисков? В каких случаях прибегают к

форматированию?

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

^ 24.Каково назначение программ-архиваторов?

Главное назначение программ-архиваторов - сжатие файлов с целью экономии памяти.

25.Для чего используются сжатые файлы и папки?

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

^ 26.Какие программы называются архиваторами?

Архиватором (упаковщиком) называется программа, позволяющая за счет

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

^ 27.Какие архивы называются самораспаковывающимися? Как

распаковываются такие архивы?

Почти все архиваторы позволяют создавать удобные самораспаковывающиеся архивы (SFX – Self-extracting-архивы) – файлы с расширением .ехе. Для распаковки такого архива не требуется программы-архиватора, достаточно запустить архив *.ехе как программу.

^ 28.Какие архивы называются многотомными?

Многие архиваторы позволяют создавать многотомные (распределенные)

архивы, которые могут размещаться на нескольких дискетах.

^ 29.Каковы основные характеристики программ-архиваторов?

1) скорость работы;

2) сервис (набор функций архиватора);

3) степень сжатия – отношение размера исходного файла к размеру

^ 30.Каковы основные функции архиваторов?

1) создание архивных файлов из отдельных (или всех) файлов текущего

каталога и его подкаталогов, загружая в один архив до 32 000 файлов;

2) добавление файлов в архив;

3) извлечение и удаление файлов из архива;

4) просмотр содержимого архива;

5) просмотр содержимого архивированных файлов и поиск строк в

6) ввод в архив комментарии к файлам;

7) создание многотомных архивов;

8) создание самораспаковывающихся архивов, как в одном томе, так и в виде

9) обеспечение защиты информации в архиве и доступ к файлам, помещенным

в архив, защиту каждого из помещенных в архив файлов циклическим кодом;

10) тестирование архива, проверка сохранности в нем информации;

11)восстановление файлов (частично или полностью) из поврежденных

12)поддержки типов архивов, созданных другими архиваторами и др.

^ 31.Как создать новый архив?

I способ создания архива – с использованием контекстных меню (без

предварительного запуска архиватора):

1. Выделить файл (файлы) или папку для архивирования.

2. Вызвать контекстное меню и выбрать команду Add to archive, после чего

откроется окно 7-Zip, а поверх него диалоговое окно Add (Добавить). Но при

архивировании одного файла или папки удобнее воспользоваться командой Add to *.zip, содержащую имя архива (по умолчанию). Эта команда позволяет выполнить операцию без открытия окна программы 7-Zip и диалогового окна Add to archive.

4. Создать SFX-архив – создание самораспаковывающегося архива.

5. Разбить на тома – если архивируемые данные имеют большой размер, то их можно разбить на части. Например для того, что бы поместить на Flash карты или диски.

II способ – с предварительным запуском архиватора:

1. Запустить программу 7-Zip.

2. Выбираем файл(ы) или папки, которые нужно заархивировать, нажимаем на иконку Add.

3. Далее следуем той же инструкции, которая описана в первом способе

^ 32.Как можно разархивировать файлы?

I способ – без предварительного запуска архиватора:

1. Для начала необходимо выделить нужный нам архив, правой кнопкой мыши открыть меню, выбрать пункт 7-zip.

2. Выбираем пункт Extract files… затем указываем путь разархивирования.

II способ – с предварительным запуском архиватора:

1. Запускаем 7-Zip.

2. Выбираем архив, который нужно разархивировать, затем нажимаем на

иконку Extract, выбираем путь разархивирования.

^ 33.Как просмотреть архивный файл?

2.Ввести команду Open Archive (Файл / Открыть архив).

3.В диалоговом окне Open Archive найти и выделить нужный архивный файл.

4.Щелкнуть по кнопке Открыть. Имена файлов, содержащихся в этом архиве, появятся в окне программы.

5.Дважды щелкнуть по имени файла, который необходимо просмотреть. Файл откроется в окне программы, с которой он ассоциирован.

^ 34. Каковы основные алгоритмы сжатия?

Алгоритм RLE (Run-Length Encoding) использует принцип выявления

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

Алгоритм KWE (Keyword Encoding) предполагает использование словаря, в

котором каждому слову соответствует двухбайтовый код. Эффективность сжатия увеличивается с ростом объема кодируемого текста.

Алгоритм Хафмана предполагает кодирование не байтами, а битовыми группами. В нем можно выделить три основные этапа.

1. Выявляется частота повторения каждого из встречающихся символов.

2. Чем чаще встречается символ, тем меньшим количеством битов он

К закодированной последовательности прикладывается таблица соответствия

PPMd - адаптивный статистический алгоритм сжатия данных без потерь,

основанный на контекстном моделировании и предсказании. Модель PPMd

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

Цель работы: ознакомится с набором стандартных приложений Windows, изучить их назначение и особенности работы. Получить практические навыки в создании архивов и в работе с архивными данными на примере программы 7-Z. Научится оформлять отчеты по лабораторным работам.

Прикрепленные файлы: 1 файл

1 лаба.docx

30.Что такое OLE – объект, OLE – сервер, OLE – клиент?

Объект – OLE – произвольный элемент, созданный средствами какого-либо приложения Windows, который можно поместить в документ другого приложения Windows. Объект может быть целый файл или только фрагмент файла.

Сервер- OLE – приложение, средствами которого создается объект – OLE, т. Е. программа, которая обслуживает другое приложение.

Клиент- OLE – приложение, принимающее объект – OLE, т. е. программа, которая пользуется услугами OLE-сервера.

31. Какими способами можно внедрять и связывать внешние объекты с документом-приемником?

Под внедрением объектов подразумевается создание комплексного документа, содержащего два или более автономных объектов. Обычным средством внедрения объектов в документ является их импорт из готового файла, в котором данный объект хранится. Для этого используется команда Вставка/Объект. В открывшемся диалоговом окне Вставка объекта для импорта вставляемого объекта следует выбрать переключатель Создать из файла, а выбор на диске обеспечивается кнопкой Обзор. В текстовый документ можно внедрять графические объекты, тексты, фрагменты звукозаписи и видеозаписи.
При сохранении комплексного документа происходит сохранение и текста, и всех внедренных в него объектов. Размер исходного текстового документа возрастает на величину внедренных объектов.
Другой способ размещения рисунка в текстовом документе – связыванием. В том же диалоговом окне Вставка объекта есть флажок, который называетсяСвязь. Если установить этот флажок перед вставкой, то происходит связывание, т.е. другой тип вставки. В этом случае сам объект не вставляется в документ, вместо него вставляется только указатель на местоположение объекта. При просмотре документа, когда пользователь дойдет до указателя, текстовый процессор обратится по адресу, имеющемуся в указателе, и отобразит рисунок в тексте документа. В случае связывания объектов размер результирующего файла практически не увеличится, т.к. указатель занимает очень мало места. Однако, при использовании метода связывания объектов необходимо контролировать целостность связей между объектами, которая может быть нарушена при перемещении объектов.

32.Перечислите и охарактеризуйте способы связи объекта OLE –сервера с документом-приемником.

33. Сравните способы внедрения и связывания объектов.

34.В какой степени поддерживают технологию OLE различные приложения Windows. Приведите примеры.

Различные приложения Windows в разной степени поддерживают технологию OLE. Некоторые программы, например Блокнот, вообще ее не поддерживают. Ряд программ – WordArt, Microsoft Equation и др. могут исполнять роль только OLE-сервера. Информационные системы, наоборот, чаще всего выполняют только роль приемника, т.е. OLE-клиента. Наиболее мощные приложения Windows, такие как Word, Excel и др. могут исполнять функции как OLE-сервера, так и OLE-клиента.

35.Каковы возможности OLE-технологии?

Технология OLE позволяет:

  • внедрять в документ объекты или фрагменты документов, созданные в других приложениях, а также редактировать эти объекты средствами создавшего их приложения;
  • устанавливать связь объекта с документом другого приложения. При установлении связи этот объект продолжает "жить" собственной жизнью и обслуживать другие документы.

36.Каково назначение служебных программ Windows?

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

37. Как осуществляется доступ к служебным программам Windows?

Доступ к служебным программам выполняется через команду Пуск /Программы/ Стандартные/Служебные.

38. Для чего используется программа Check Disk?

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

39. Как часто следует проводить стандартную и полную проверку жесткого диска?

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

40. Каково назначение программы дефрагментации диска?41. Что такое дефрагментация диска?

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

42.Что такое форматирование дисков? В каких случаях прибегают к форматированию?

43. Как можно выполнить форматирование диска?

Форматирование гибкого диска выполняется щелчком правой кнопки мыши по значку диска и выбором команды Форматировать… Несмотря на то, что дискеты продаются уже отформатированными, повторное форматирование устраняет недостатки разметки дискеты, которые не могут быть устранены программой Scandisk. Однако, при этом записанные данные теряются.

44.Каковы особенности быстрого и полного форматирования дисков?

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

45.Каково назначение программ- архиваторов?

Главное назначение программ-архиваторов-сжатие файлов с целью экономии памяти.

46. Для чего используют сжатые файлы и папки?

Сжатие файлов и папок необходимо либо для их транспортировки, либо для резервного копирования, либо для обмена информацией по сети Интернет.

47.Какие программы называются архиваторами?

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

48.По каким показателям отличаются программы- архиваторы?

Они позволяют упаковать за один прием один единственный файл – используемую программу ЕХЕ-типа, но зато так, что заархивированная программа будет сразу после ее запуска на исполнение самораспаковываться в оперативной памяти и тут же начинать работу.

49.Каковы возможности дискового архиватора?

Дисковые архиваторы позволяют программным способом увеличить доступное пространство на жестком диске.

50. Перечислите наиболее известные архиваторы.

Наиболее известные архиваторы: WinZip, WinRar, WinArj.

51.Какие архивы называются самораспаковывающимися? Как распаковываются такие архивы?

Самораспаковывающиеся архивы-это архивы с расширением .ЕХЕ. Для распаковки такого архива не требуется программы-архиватора, достаточно запустить архив *.ЕХЕ как программу.

52. Какие архивы называются многотомными?

Многотомные архивы – это архивы, которые могут размещаться на нескольких дискетах.

53. Каковы основные характеристики программ архиваторов?

  • Скорость работы
  • Сервис
  • Степень сжатия – отношение размера исходного файла к размеру упакованного файла.

54. Каковы основные функции архиваторов?

Основные функции архиваторов:

  • Создание архивных файлов из отдельных файлов текущего каталога и его подкаталога, загружая в один архив до 32000 файлов.
  • Добавление файлов в архив
  • Извлечение и удаление файлов из архива
  • Просмотр содержимого архива
  • Просмотр содержимого архивированных файлов и поиск строк в архивированных файлах
  • Ввод в архив комментарии к файлам
  • Создание многотомных архивов
  • Создание самораспаковывающихся архивов, как в одном томе, так и в виде нескольких томов
  • Обеспечение защиты информации в архиве и доступ к файлам, помещенным в архив, защиту каждого из помещенных в архив файлов циклическим кодом
  • Тестирование архива, проверка сохранности информации в нем
  • Восстановление файлов из поврежденных архивов
  • Поддержки типов архивов, созданными другими архиваторами и др.

55. На какие типы можно разделить алгоритмы сжатия?

Для сжатия используются различные алгоритмы, которые можно разделить на обратимые и методы сжатия с частичной потерей информации.

56. Чем отличается алгоритм сжатия без потери информации от алгоритмов сжатия с частичной потерей информации?

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

57.Каковы характерные форматы сжатия с потерей информации и без потери информации?

Характерными форматами сжатия с потерей информации являются:

  • .jpg – для графических данных
  • .mpg – для видеоданных
  • .mp3 – для звуковых данных

Характерные форматы сжатия без потери информации:

  • .tif .pcx и другие для графически файлов
  • .avi для видеоклипов
  • .zip .arj, .rar, .lzh, .cab и др. – для любых типов файлов

58.Каковы основные алгоритмы сжатия?

Говоря об алгоритмах сжатия, будем иметь в виду обратимые алгоритмы.

Алгоритм RLE (Run-Length Encoding) использует принцип выявления повторяющихся последовательностей. При сжатии записывается последовательность из двух повторяющихся величин: повторяемого значения и количества его повторений.

Исходная последовательность: 3, 3, 12, 12, 12, 0, 0, 0, 0.
Сжатая информация: 3, 2, 12, 3, 0, 4.
Коэффициент сжатия: 6/9*100% = 67%.

Алгоритм KWE (Keyword Encoding) предполагает использование словаря, в котором каждому слову соответствует двухбайтовый код. Эффективность сжатия увеличивается с ростом объема кодируемого текста.

Алгоритм Хафмана предполагает кодирование не байтами, а битовыми группами. В нем можно выделить три основные этапа.

Выявляется частота повторения каждого из встречающихся символов.

Чем чаще встречается символ, тем меньшим количеством битов он кодируется.

OLE — это механизм, позволяющий пользователям создавать и редактировать документы, содержащие элементы или объекты, созданные несколькими приложениями.

OLE изначально является акронимом для связывания и внедрения объектов. Однако теперь он называется OLE. Части OLE, не связанные с связыванием и внедрением, теперь являются частью активной технологии.

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

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

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

Связь и внедрение

Связывание и внедрение — это два метода хранения элементов, созданных в документе OLE, которые были созданы в другом приложении. Общие сведения о различиях между ними см. в статье OLE Background: компоновка и внедрение. Более подробные сведения см. в статье контейнеры и серверыстатей.

Активация In-Place (визуальное редактирование)

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

Связывание и внедрение и встроенная активация предоставляют основные возможности редактирования визуальных элементов OLE.

Автоматизация автоматизации позволяет одному приложению управлять другим приложением. Управляющее приложение называется клиентом автоматизации, а управляемое приложение называется сервером автоматизации или компонентом автоматизации. Дополнительные сведения об автоматизации см. в статье Клиенты автоматизации и серверы автоматизации.

Автоматизация работает как в контекстах OLE, так и в активных технологиях. Можно автоматизировать любой объект, основанный на COM.

Составные файлы предоставляют стандартный формат файлов, который упрощает структурированное хранение составных документов для приложений OLE. В составном файле хранилища имеют множество функций каталогов и потоков, имеющих множество функций файлов. Эта технология также называется структурированным хранилищем. Дополнительные сведения о составных файлах см. в разделе контейнеры статей: составные файлы.

Однородное Передача данных

Универсальный Передача данных (UDT) — это набор интерфейсов, позволяющих отправлять и получать данные стандартным образом независимо от фактического метода передачи данных. Определяемый пользователем тип формирует базу для передачи данных путем перетаскивания. UDT теперь выступает в качестве базиса для существующих Windowsных данных, таких как буфер обмена и динамический обмен данными (DDE). Дополнительные сведения о определяемых пользователем параметрах см. в статьях объекты данных и источники данных (OLE).

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

Модель COM предоставляет инфраструктуру, используемую при взаимодействии объектов OLE друг с другом. Классы OLE MFC упрощают работу с COM для программиста. COM является частью активной технологии, так как объекты COM лежат в базе технологии OLE и Active. Дополнительные сведения о COM см. в разделах библиотеки активных шаблонов (ATL) .

Некоторые из наиболее важных разделов OLE рассматриваются в следующих статьях:

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


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

С чего всё началось

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

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

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

Каждый WinAPI интерфейс позволяет сделать минимальное действие, которое может произвести ОС, то есть если программист решит написать приложение, то для его реализации придётся задействовать несколько сотен, а то и тысяч интерфейсов. Отдельно стоит упомянуть, что это далеко не единственный способ, который доступен в ОС для реализации алгоритмов. ОС Windows также предлагает компонентный подход для построения приложений. Это означает, что программист может объединять целые программы вместе, чтобы реализовать выполнение алгоритма. Возможно это за счет использования механизма Component Object Module.

Появление COM не случайно, реализация этого механизма — логичный этап развития. На схеме ниже можно увидеть ретроспективу создания механизмов в ОС Windows:


Картинка наглядно показывает, как связано появление того или иного механизма. Реализация каждого нового механизма это решение проблем, которые возникли при реализации предыдущего механизма. Картинка включает в себя такие механизмы как OLE, COM+, DCOM, которые тоже, надо сказать очень сложные с точки зрения реализации и изучения.

Некоторые полезные определения

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

COM дает возможность переиспользовать куски приложения. Работает за счет того, что можно собрать исполняемый кусок кода и расположить его в реестре ОС. Кусок кода получит уникальный идентификатор и будет вызывать ОС каждый раз, как приложения будут запрашивать обработку данных по идентификатору. Для создания кода можно использовать любой компилируемый язык программирования.

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

DCOM - механизм, который предоставляет возможность работать с объектами COM в рамках локальной сети или Интернета.

COM+ - механизм, который может быть использован для создания распределенного на целые кластера программного обеспечения. Включается в себя COM, предоставляет для объектов механизмы, которые позволяют с ними общаться по сети. Предоставляет механизмы по синхронизации, отказоустойчивости и разграничению доступа.

Примеры и практика

Давайте попробуем посмотреть, как обозначенные выше механизмы выглядят в ПО при обратной разработке. Начнем с OLE. Как было сказано выше, этот механизм проще всего обнаружить в офисных документах. Попробуем найти такой документ.

Для исследования был выбран вот этот документ. Он представляет собой docx файл, по сути это архив, который содержит некоторое количество файлов с инструкциями, как его рендерить. Заглянем внутрь: в этом формате все данные, которые могут быть добавлены через OLE это файлы, которые расположены в директории "word/embeddings". Заголовок содержимого объекта можно видеть ниже:


Ничего особенно примечательного, такие объекты можно анализировать с использованием набор инструментов oletools.

OLE объект представляет собой файловую систему, в которую можно положить информацию необходимую для встраивания данных. Если воспользоваться инструментом oleobj, то можно увидеть, что внутри объекта находится txt файл. Кстати, это можно увидеть и из шестнадцатеричного редактора:


Объект COM - представление зависит от типа предоставляемого функционала, чаще всего в программном обеспечении используется в совокупности с WinAPI CoCreateInstance. Визуально исследовать объекты можно через относительно простой инструмент - COMView. Пример работы инструмента:


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

Как найти объекты COM+? Если в COMView вы обнаружили объект, который имеет интерфейс IUnknown, перед вами COM+ объект. Например:


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

Статья подготовлена Александром Колесниковым в рамках курса "Reverse-Engineering. Professional". Если интересно узнать больше о программе и формате обучения на этом курсе, приходите на день открытых дверей онлайн, на котором вы также сможете познакомиться с преподавателем.

Читайте также: