Skip to main content

msoffcrypto-tool

Build Status Coverage Status Documentation Status

msoffcrypto-tool (formerly ms-offcrypto-tool) is a Python tool and library for decrypting encrypted MS Office files with password, intermediate key, or private key which generated its escrow key.

Early PoC version: https://github.com/nolze/ms-offcrypto-tool/tree/v0.1.0

Install/Uninstall

Install

pip install git+https://github.com/nolze/msoffcrypto-tool

Uninstall

pip uninstall msoffcrypto-tool

Examples

As a CLI tool (with password)

msoffcrypto-tool -p Passw0rd encrypted.docx decrypted.docx

As a library

Password and more key types are supported with library functions.

import msoffcrypto

file = msoffcrypto.OfficeFile(open("encrypted.docx", "rb"))

# Use password
file.load_key(password="Passw0rd")

# Use private key
# file.load_key(private_key=open("priv.pem", "rb"))
# Use intermediate key (secretKey)
# file.load_key(secret_key=binascii.unhexlify("AE8C36E68B4BB9EA46E5544A5FDB6693875B2FDE1507CBC65C8BCF99E25C2562"))

file.decrypt(open("decrypted.docx", "wb"))

Supported encryption methods

  • ECMA-376
    • MS-DOCX (OOXML) (Word 2007-2016)
    • MS-XLSX (OOXML) (Excel 2007-2016)
  • Office Binary Document RC4
    • MS-DOC (Word 97-2004)
    • MS-XLS (Excel 97-2004)
  • Office Binary Document RC4 CryptoAPI
  • XOR Obfuscation
  • Word 95 Encryption

PRs welcome!

Todo

  • Add tests
  • Support decryption with passwords
  • Support older encryption schemes
  • Add function-level tests
  • Add API documents
  • Publish to PyPI
  • Add decryption tests for various file formats
  • Merge to more comprehensive projects handling MS Office files (such as oletools?) if possible

References

Alternatives

Use cases and mentions

Metadata

Release files for msoffcrypto-tool 4.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for msoffcrypto-tool 4.1.2
File Size Uploaded Provenance Actions
msoffcrypto-tool-4.1.2.tar.gz 8.9 kB Without provenance Details for msoffcrypto-tool-4.1.2.tar.gz

Release files / msoffcrypto-tool-4.1.2.tar.gz

Download URL msoffcrypto-tool-4.1.2.tar.gz
Size 8.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e854087b22d378f4763aca050f56b5577f8fba1d761e7b054a7589762e521f04
BLAKE2b-256 checksum
How to use checksums
e5c2bd71f196bf6b0a6c4a8c84fac59d1b0c78d20cbe7ab607eedde4962634ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for msoffcrypto-tool 4.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

4.1.2 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page