Как посмотреть метаданные файлов MS Word. Как удалить и редактировать метаданные Word

Метаданные в файлах Word

В файле MS Word и вообще во всех офисных документах MS Office содержится множество метаданных.

И ещё:

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

При этом популярный инструмент mat, который используется для показа и очистки метаданных, работает с файлами MS Word не очень хорошо:

mat -d file2.docx

Пример вывода:

[+] File file2.docx :
Harmful metadata found:
	customXml/item1.xml's zipinfo: {'system': 'unknown'}
	docProps/core.xml's zipinfo: {'system': 'unknown'}
	docProps/app.xml's zipinfo: {'system': 'unknown'}
	word/document.xml's zipinfo: {'system': 'unknown'}
	[Content_Types].xml's zipinfo: {'system': 'unknown'}
	word/theme/theme1.xml's zipinfo: {'system': 'unknown'}
	customXml/itemProps1.xml's zipinfo: {'system': 'unknown'}
	_rels/.rels's zipinfo: {'system': 'unknown'}
	customXml/_rels/item1.xml.rels's zipinfo: {'system': 'unknown'}
	word/footnotes.xml's zipinfo: {'system': 'unknown'}
	word/header1.xml's zipinfo: {'system': 'unknown'}
	word/_rels/document.xml.rels's zipinfo: {'system': 'unknown'}
	word/webSettings.xml's zipinfo: {'system': 'unknown'}
	word/styles.xml's zipinfo: {'system': 'unknown'}
	docProps/core.xml: harmful content
	word/numbering.xml's zipinfo: {'system': 'unknown'}
	word/fontTable.xml's zipinfo: {'system': 'unknown'}
	word/endnotes.xml's zipinfo: {'system': 'unknown'}
	word/settings.xml's zipinfo: {'system': 'unknown'}
	docProps/app.xml: harmful content

На самом деле, мало что понятно и показанная информация кажется скорее мусором. Но полезные данные имеются, это строки:

docProps/core.xml: harmful content
docProps/app.xml: harmful content

В них говориться, что файлы docProps/core.xml и docProps/app.xml содержат потенциально пагубное содержимое. Но самих данных с помощью этой программы мы увидеть не можем.

Если попытаться проанализировать файл .docm (документ MS Word с поддержкой макросов):

mat -d file2.docm

То программа просто напишет, что не может обработать этот файл:

[-] Unable to process file2.docm

Это при том, что формат .docm имеет минимальное отличие от формата .docx — пара дополнительных файлов внутри (с описанием макросов и второй файл с самими макросами).

Имеется ещё одна версия mat2. Попробуем её:

mat2 -s file2.docx

Пример вывода:

[+] Metadata for file2.docx:
[++] Metadata for [Content_Types].xml:
      create_system: Weird
[++] Metadata for _rels/.rels:
      create_system: Weird
[++] Metadata for customXml/_rels/item1.xml.rels:
      create_system: Weird
[++] Metadata for customXml/item1.xml:
      create_system: Weird
[++] Metadata for customXml/itemProps1.xml:
      create_system: Weird
[++] Metadata for docProps/app.xml:
      AppVersion: 16.0000
      Application: Microsoft Office Word
      Characters: 275
      CharactersWithSpaces: 300
      DocSecurity: 0
      HeadingPairs: <vt:vector size="2" baseType="variant"><vt:variant><vt:lpstr>Название</vt:lpstr></vt:variant><vt:variant><vt:i4>1</vt:i4></vt:variant></vt:vector>
      HyperlinksChanged: false
      Lines: 76
      LinksUpToDate: false
      Pages: 6
      Paragraphs: 31
      ScaleCrop: false
      SharedDoc: false
      Template: Normal
      TitlesOfParts: <vt:vector size="1" baseType="lpstr"><vt:lpstr></vt:lpstr></vt:vector>
      TotalTime: 16
      Words: 50
      create_system: Weird
[++] Metadata for docProps/core.xml:
      cp:lastModifiedBy: MiAl
      cp:lastPrinted: 2019-07-18T02:58:00Z
      cp:revision: 9
      create_system: Weird
      dc:creator: Alex
[++] Metadata for word/_rels/document.xml.rels:
      create_system: Weird
[++] Metadata for word/document.xml:
      create_system: Weird
[++] Metadata for word/endnotes.xml:
      create_system: Weird
[++] Metadata for word/fontTable.xml:
      create_system: Weird
[++] Metadata for word/footnotes.xml:
      create_system: Weird
[++] Metadata for word/header1.xml:
      create_system: Weird
[++] Metadata for word/numbering.xml:
      create_system: Weird
[++] Metadata for word/settings.xml:
      create_system: Weird
[++] Metadata for word/styles.xml:
      create_system: Weird
[++] Metadata for word/theme/theme1.xml:
      create_system: Weird
[++] Metadata for word/webSettings.xml:
      create_system: Weird

Здесь всё намного лучше, выведены почти все метаданные файла.

Попробуем проанализировать формат .docm:

mat2 -s file2.docm

Опять неудача:

[-] file2.docm's format (application/vnd.ms-word.document.macroenabled.12) is not supported

Как посмотреть метаданные файла .docm

Программа mat2 не в курсе, что .docm это такой же файл, как и .docx. Зато мы это знаем и можем пойти совсем простым путём — просто изменим (или добавим) расширение файла на .docx:

cp file2.docm file2.docm.docx

Теперь метаданные отлично извлекутся:

mat2 -s file2.docm.docx

Как сделать выводимую в mat2 информацию более читаемой

Можно заметить, что вывод команды mat2 преимущественно состоит из строк, не несущих особой смысловой нагрузки:

      create_system: Weird

Выводимая информация станет намного более ясной для восприятия, если мы просто уберём показ этих строк:

mat2 -s file2.docx | grep -v 'Weird'

Что показывает mat2

Программа mat2 выводит название узлов XML файлов, которые имеют говорящие имена. А именно:

  • AppVersion — версия приложения
  • Application — приложение
  • Characters — всего символов
  • CharactersWithSpaces — всего символов с пробелами
  • DocSecurity — безопасность документа
  • HyperlinksChanged — ссылки изменены
  • Lines — всего строк в документе
  • LinksUpToDate — ссылки обновлены
  • Pages — всего страниц в документе
  • Paragraphs — всего параграфов в документе
  • ScaleCrop — масштабирование/обрезка
  • SharedDoc — совместный документ
  • Template — используемый шаблон
  • TitlesOfParts — имена частей
  • TotalTime — общее время правки
  • Words — всего слов в документе
  • cp:lastModifiedBy — кем последний раз изменён документ
  • cp:lastPrinted — дата последней печати документа
  • cp:revision — всего редакций документа (количество правок и сохранений)
  • dc:creator — кем документ создан

Как посмотреть метаданные документов MS Office без дополнительных программ

На самом деле, новый формат документов, например, файлов Word .docx представляет собой zip архив, в котором собраны преимущественно xml файлы (также там могут быть изображения, макросы, другие бинарные файлы).

Для ручного анализа я создал новый файл file3.docx и добавил туда картинку с GPS координатами и другими метаданными. Программы mat и mat2 показали присутствие изображения, но сами метаданные из него не вывели.

Итак, к файлу file3.docx можно добавить расширение .zip и после этого распаковать его содержимое как архив.

Распаковываю файл:

unzip file3.docx.zip -d file3

Медиафайлы при распаковке находятся в папке /word/media/.

Программа mat2 не смогла найти в изображении метаданных:

mat2 -s file3/word/media/image1.jpeg
  No metadata found

Программа mat также ничего не нашла:

mat -d file3/word/media/image1.jpeg
[+] File file3/word/media/image1.jpeg :
No harmful metadata found

Видимо, при вставке изображений в документы Word, они пересохраняются программой и при этом все метаданные теряются. Но их хотя бы можно просто открыть и посмотреть:


Метаданные документа содержаться в файлах docProps/core.xml и docProps/app.xml. Я открыл их в IDE NetBeans и для удобства чтения выбрал опцию форматирования документа, поскольку в начальном виде весь документ записан в одну строку, трудную для восприятия.

Файл docProps/core.xml:

Файл docProps/app.xml:

В файле core.xml имеются даты создания и изменения, которые не выводит даже программа mat2. Возможно, есть ещё какие-то поля, которые невозможно увидеть кроме как открыв эти файлы.

В каком файле Word содержаться макросы

Информация о макросах записана в файл /word/vbaData.xml, а сами макросы сохранены в /word/vbaProject.bin — этот файл является бинарным.

В каком файле Word записан текст документа

Текст документа сохраняется в файл /word/document.xml. В этом документе используется особая разметка на основе открывающихся и закрывающихся тегов и их свойствах.

Как очистить метаданные файла MS Word

Очистить метаданные документов MS Office, в том числе Word, можно прямо в самой программе для редактирования. Далее показано на примере Word.

В меню нажмите Файл:

Далее во вкладке Сведения найдите кнопку Поиск проблем и в выпадающем меню выберите Инспектор документов:

Если документ не сохранён, то перед анализом будет предложено сохранить его.

Нажмите кнопку Проверить:

Обратите внимание на пункт Свойства документа и персональные данные — при желании, нажмите кнопку Удалить всё:

Удаление метаданных офисных файлов в Linux

Программа mat вроде бы как успешно удаляет метаданные из файла:

mat file3.docx

Об этом говорит вывод:

[*] Cleaning file3.docx
[+] file3.docx cleaned!

Но полученный файл невозможно открыть ни в одной программе…

Программа mat2 успешно справилась с задачей и удалила все метаданные:

mat2 file3.docx

Обратите внимание, что она не очищает файл, а создаёт новый без метаданных, в данном случае имя файла без метаданных будет file3.cleaned.docx, что касается файла file3.docx, то он останется без изменений.

Итак, если вам действительно нужно удалить метаданные файла .docx не открывая его в редакторе Word, то алгоритм действий следующий:

  1. Добавьте к файлу расширение .zip.
  2. Распакуйте полученный архив.
  3. Откройте файлы docProps/core.xml и docProps/app.xml и замените данные на нужные вам. После редактирования сохраните эти файлы
  4. Выберите все распакованные каталоги и файлы и запакуйте всё это в zip архив.
  5. К полученному архиву добавьте расширение .docx
  6. Нужно проверить, что документ не повреждён и сохранил свою работоспособность. Чтобы в него не сохранились новые метаданные, на всякий случай сделайте копию нового документа и проверьте его.

Кстати, таким образом можно не только удалять, но и спуфить (подменять) метаданные офисных документов:

Обратите внимание на даты создания, изменения, печати и номер редакции:

Много лет назад аналогичный «разбор» и «сборку» файлов я делал даже на PHP (я редактировал содержимое файлов Word для целей обхода Антиплагиата) — рабочие файлы Word получались при упаковке их с помощью класса ZipArchive при использовании метода сжатия по умолчанию.

Заключение

Метаданные могут содержать важную информацию, вплоть до ФИО автора документа, поэтому им нужно уделять особое внимание.

В плане показа и очистки метаданных из документов MS Office такими инструментами как mat и mat2, то первая их не показывает и портит файл при очистке, вторая их показывает, и успешно очищает файл.

Самый простой способ очистить метаданные в документе Word и в других офисных программах — сделать это прямо в соответствущем редакторе MS Office.

В следующей статье мы будем разбираться с метаданными файла LibreOffice.

Смотрите также:

Рекомендуется Вам:

Добавить комментарий

Ваш e-mail не будет опубликован.