跳转到主要内容

Python包,用于解析、读取和写入Microsoft OLE2文件(结构化存储或复合文档,Microsoft Office)

项目描述

olefile

Test Build Status AppVeyor codecov Documentation Status PyPI Say Thanks!

olefile是一个Python包,用于解析、读取和写入Microsoft OLE2文件(也称为结构化存储、复合文件二进制格式或复合文档文件格式),例如Microsoft Office 97-2003文档、MS Office 2007+文件中的vbaProject.bin、Image Composer和FlashPix文件、Outlook消息、 StickyNotes、几种显微镜文件格式、McAfee防病毒隔离文件等。

快速链接: 主页 - 下载/安装 - 文档 - 报告问题/建议/问题 - 联系作者 - 仓库 - Twitter上的更新

新闻

关注Twitter上的所有更新和新闻:https://twitter.com/decalage2

  • 2023-12-01 v0.47:现在以wheel包形式分发,增加了对属性的支持VT_VECTOR,增加了get_userdefined_properties,修复了isOleFile和write_sect中的错误,改进了文件关闭功能
  • 2018-09-09 v0.46:OleFileIO现在可以用作上下文管理器(使用...as),自动关闭文件(参见文档)。改进了对损坏文件的处理,修复了几个错误。
  • 2018-01-24 v0.45:olefile现在可以覆盖任何大小的流,改进了对损坏文件的处理,修复了几个错误,停止支持Python 2.6和3.3。
  • 2017-01-06 v0.44:修复了多个错误,移除了对Python 2.5(olefile2)的支持,增加了对不完整流和错误目录条目的支持(以读取损坏的文档),增加了getclsid,改进了包含API引用的文档
  • 2017-01-04:将文档迁移到ReadTheDocs
  • 2016-05-20:将olefile仓库迁移到GitHub
  • 2016-02-02 v0.43:修复了问题#26#27,改进了对损坏文件的处理,使用python logging。
  • 有关更详细的信息和最新更改,请参阅变更日志

下载/安装

如果您已安装pip或setuptools(pip包含在Python 2.7.9+中),您只需运行pip install olefileeasy_install olefile即可进行首次安装。

要更新olefile,运行pip install -U olefile

否则,请参阅http://olefile.readthedocs.io/en/latest/Install.html

特性

  • 解析、读取和写入任何OLE文件,例如Microsoft Office 97-2003旧文档格式(Word .doc、Excel .xls、PowerPoint .ppt、Visio .vsd、Project .mpp)、MSI文件、Image Composer和FlashPix文件、Outlook消息、StickyNotes、Zeiss AxioVision ZVI文件、Olympus FluoView OIB文件等
  • 列出包含在OLE文件中的所有流和存储
  • 将流作为文件打开
  • 解析和读取包含文件元数据的属性流
  • 便携式、纯Python模块,无依赖

olefile可以用作独立包或与PIL/Pillow一起使用。

olefile主要面向开发者。如果您正在寻找分析OLE文件或提取数据(特别是用于安全目的,如恶意软件分析和取证)的工具,请也检查我的python-oletools,它是基于olefile构建的,并提供了一个更高级的接口。

文档

请参阅在线文档以获取更多信息。

实际示例

实际示例:使用OleFileIO_PL进行恶意软件分析和取证

请参阅有关Python取证工具的这篇论文,其中介绍了olefile。

许可

olefile(以前为OleFileIO_PL)版权所有(c)2005-2023 Philippe Lagadec(《https://www.decalage.info》)

版权所有。

在不违反以下条件的情况下,允许重新分发和使用源代码和二进制形式,无论是否修改:

  • 源代码重新分发必须保留上述版权声明、本条件列表和以下免责声明。
  • 二进制形式的重新分发必须复制上述版权声明、本条件列表和以下免责声明在文档和/或其他与分发提供的材料中。

本软件由版权所有者和贡献者提供,按“原样”提供,并不承担任何明示或暗示的保证,包括但不限于适销性和针对特定目的的适用性保证。在任何情况下,版权所有者或贡献者均不对任何直接、间接、偶然、特殊、示范性或后果性的损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论损害是由于何种原因造成的,无论基于何种责任理论,包括合同、严格责任或侵权(包括疏忽或其他),即使已告知此类损害的可能性。


olefile基于Python Imaging Library (PIL) 的OleFileIO模块的源代码,由Fredrik Lundh发布,遵循以下许可协议

Python Imaging Library (PIL) 是

  • 版权所有(c)1997-2009 秘密实验室AB
  • 版权所有(c)1995-2009 Fredrik Lundh

通过获取、使用和/或复制本软件及其相关文档,您同意您已阅读、理解并同意遵守以下条款和条件

特此授予未经费用使用、复制、修改和分发本软件及其相关文档的许可,前提是上述版权声明必须出现在所有副本中,并且该版权声明和本许可声明必须出现在支持性文档中,并且未经具体、书面事先许可,不得使用Secret Labs AB或作者的名称进行与软件分发相关的广告或宣传。

SECRET LABS AB和作者对本软件不承担任何保证,包括所有关于适销性和针对特定目的的适用性的暗示保证。在任何情况下,SECRET LABS AB或作者均不对任何特殊、间接或后果性损害或任何损害(无论基于何种诉讼,包括合同、疏忽或其他侵权行为)承担责任,无论损害是由于使用或性能本软件引起的,或者与使用或性能本软件有关。

由以下支持