1、关于office元数据,百度了一圈,资料比较散,最后找到了《MSOffice系列办公文档取证分析研究》这篇文章,和我找的资料相符,这里就引用一下这篇文章里涉及的内容。

2、xlsx文件的元数据比较简单,右键选择用压缩软件打开xlsx文件,在docProcs目录下可以找到core.xml文件

 使用python的xml库解析core.xml文件,就能获取到最后一次保存的日期

import zipfile
import xml.dom.minidom as xdom
import datetimep = r'D:\python\test.xlsx'
azip = zipfile.ZipFile(p)
a = azip.read('docProps/core.xml').decode('utf-8')
xp = xdom.parseString(a)
root=xp.documentElement
ele=root.getElementsByTagName('dcterms:modified')
md_time_str = ele[0].firstChild.data
md_time = datetime.datetime.strptime(md_time_str, '%Y-%m-%dT%H:%M:%SZ')
md_time_local = md_time + datetime.timedelta(hours=8)
print(f'最后一次保存的日期:{md_time_local}')
ele=root.getElementsByTagName('dcterms:created')
cr_time_str = ele[0].firstChild.data
cr_time = datetime.datetime.strptime(cr_time_str, '%Y-%m-%dT%H:%M:%SZ')
cr_time_local = cr_time + datetime.timedelta(hours=8)
print(f'创建内容的时间:{cr_time_local}')
azip.close()

3、xls文件的实现就相对麻烦一些

同样用压缩软件打开xls文件,可以看到_SummartInformation文件

导出后使用WinHex打开该文件,如图

01CH开始的20个字节记录了属性组信息,其中的后4个字节记录了属性组相对于该数据流起始位置的偏移,此处采用了16进制小端方式,所以偏移量为30,所以从30H开始为属性组数据,我们需要的元数据就记录在这里。

每个属性占据8个字节,前4个字节记录属性的种类,此处0x02记录的是文档标题,0x04记录的是作者,0x08记录的是最后一次保存者,0x0B记录的是最后打印时间,0x0C记录的是创建时间,0x0D记录的是最后保存时间,后4个字节记录的是该属性相对属性组的偏移,这里以最后保存者和最后保存时间为例说明。

最后保存者的相对属性组的偏移为010C,即013CH开始到014FH结束,前4个字节记录的估计是属性内容的类型(未找到资料),分析0x1F为字符串型,使用python进行解码,即可获得最后保存者内容。

hex_byte = b'\x06\x00\x00\x00\x46\x8c\x46\x8c\x11\x54\x4d\x52\xb2\x51\x00\x00'
result_byte = hex_byte.decode('utf-16')
print(f'16进制解码之后的数据为:{result_byte}')

同理最后保存时间属性从0168H开始到0173H结束,前4字节04分析代表时间类型,因为是小端,所以实际时间为01d85d0f3014ed00,用python进行解码,即可获得最后保存时间。

from datetime import datetime,timedelta
dt = '01d85d0f3014ed00'
us = int(dt,16) / 10.
local = datetime(1601,1,1) + timedelta(microseconds=us) + timedelta(hours=8)
print(local)

office文档元数据分析与获取实践相关推荐

  1. office文档病毒分析整体思路

    最近在分析office相关病毒样本时,发现此类样本除VBA宏以外还有诸多其它可以利用的地方,在找了很久以后发现微步在线有一篇文章对此类进行了详细的归纳,以下是链接地址 <Office 文档投毒已 ...

  2. 【情报百科】如何使用FOCA进行OSINT文档元数据分析?

    全文共2508字,29图 预计阅读时间:7分钟 FOCA(Fingerprinting Organizations with Collected Archives)是一种主要用于在其扫描的文档中查找元 ...

  3. 实例讲解如何绕过 Office 文档的反分析技术

    本文讲的是实例讲解如何绕过 Office 文档的反分析技术,今天我们来试着分析一个使用Word文档的恶意VBA项目.该文档的作者对文件中的VBA项目进行了密码保护,以防止对恶意代码的检查,同时也使用了 ...

  4. 宏病毒的研究与实例分析02——复合文档格式分析

    文章目录 复合文档二进制解析 复合文档数据结构解析 准备工作 基础知识 Header FAT Directory 补充 宏代码数据结构解析 说明 目前主流杀软在处理宏病毒时,都是直接删除含有宏病毒的文 ...

  5. AlexNet做文档布局分析 (版面分析)数据集

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 文档布局分析 (Document Layout Analysis) 是识别和分类文本文档的扫描 ...

  6. [转载]Office文档在线编辑的实现之二

    上篇文章 http://www.cnblogs.com/jianyi0115/archive/2007/03/16/677712.html 讲述了如何通过iis的webdav支持实现客户端的offic ...

  7. office文档格式简要介绍

    本文目的:理清office文档格式,学习何为OLE. 一.OpenXML (OOXML) OpenXML(OOXML) 是微软在Office 2007中提出的一种新的文档格式,Office 2007中 ...

  8. 恶意Office文档解析——1. Office文档格式解析

    写在前面:这是我最近在做的一个小课题,按照研究进度不定期更新.主要是学习前人的研究思路,自己开发的内容会比较少. 复合文档的概念 复合文档不仅包含文本,而且包括图形.电子数据表格.声音.视频等其他信息 ...

  9. OCR技术学习,智能文档图像处理技术应用与实践

    目录 一.智能文字识别一般包含以下几个过程 1.图像输入 2.图像预处理 (1)弯曲矫正系统pipeline (2)摩尔纹去除 3.版面分析 4.字符切割 5.字符识别 6.版面恢复 7.后处理.核对 ...

最新文章

  1. JDK1.8新特性:Stream流
  2. WPF 操作 richTextBox
  3. python socket udp_python网络-Socket之udp编程(24)
  4. 二叉树的概念及其遍历方法 - python实现
  5. 纽约州立大学宾汉姆顿大学计算机科学专业,纽约州立大学宾汉姆顿大学
  6. flask项目源码_源码解读:Flask上下文与代理模式
  7. 【离散数学】图论 第七章(6) 图的结点着色和Welch Powell法、平面图着色、希伍德五色定理、四色定理
  8. pt与px的对应关系
  9. 携程酒店数据爬取(新)
  10. 医院病房监护系统和图书管理系统数据流图
  11. 总所周知,Github是一个读小说的网站!《Re0:从零开始的异世界生活》Web版
  12. 洛谷 P4147 玉蟾宫【悬线法/单调栈】
  13. icinga 被动模式 nsca 安装
  14. 考试系统自动答题,你还在为不及格烦恼么?
  15. Linux上搭建Discuz论坛
  16. 今天去了海淀基督教堂
  17. Ambari配置邮件警告--监控大数据平台
  18. 小程序的老祖宗PWA为什么没有火起来?
  19. Windows 无法验证此设备所需的驱动程序的数字签名。某软件或硬件最近有所更改,可能安装了签名错误或损毁的文件,或者安装的文件可能是来路不明的恶意软件。 (代码 52)
  20. C#编程基础(下)第二课:创建Windows应用程序的方法,窗体的基本属性和方法、基本控件的使用

热门文章

  1. 消防也有大“智慧”,智慧消防助力传统消防产业升级
  2. HTML头部(head)
  3. day07-Linux权限管理
  4. highlight.js代码高亮后把空格替换成了无间断空格U+00A0
  5. EXCEL中删除不包含字符串的行的方法
  6. 【手把手】15分钟搭一个企业级脚手架
  7. 怎么用计算机打印出东西,如何把需要的东西打印出来?谢谢,我是新手
  8. 主角技能是鞭炮java游戏_王者荣耀新春活动有惊喜,新增鞭炮技能,帅气年兽很抢眼...
  9. 写在SWOT分析之后
  10. 官匹显示日本服务器负载过高,csgo正在重新连接游戏服务器