# msoffcrypto-tool
[![PyPI version](https://badge.fury.io/py/msoffcrypto-tool.svg)](https://badge.fury.io/py/msoffcrypto-tool)
[![Build Status](https://travis-ci.org/nolze/msoffcrypto-tool.svg?branch=master)](https://travis-ci.org/nolze/msoffcrypto-tool)
[![Coverage Status](https://codecov.io/gh/nolze/msoffcrypto-tool/branch/master/graph/badge.svg)](https://codecov.io/gh/nolze/msoffcrypto-tool)
[![Documentation Status](https://readthedocs.org/projects/msoffcrypto-tool/badge/?version=latest)](http://msoffcrypto-tool.readthedocs.io/en/latest/?badge=latest)
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
```
pip install msoffcrypto-tool
```
## Examples
### As CLI tool (with password)
```
msoffcrypto-tool -p Passw0rd encrypted.docx decrypted.docx
```
### As library
Password and more key types are supported with library functions.
```python
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
### MS-OFFCRYPTO specs
* [x] ECMA-376 (Agile Encryption)
* [x] ECMA-376 (Standard Encryption)
* [x] MS-DOCX (OOXML) (Word 2007-2016)
* [x] MS-XLSX (OOXML) (Excel 2007-2016)
* [x] MS-PPTX (OOXML) (PowerPoint 2007-2016)
* [x] Office Binary Document RC4
* [x] MS-DOC (Word 97, 98, 2000)
* [ ] MS-XLS (Excel 97, 98, 2000)
* [ ] MS-PPT (PowerPoint 97, 98, 2000)
* [ ] ECMA-376 (Extensible Encryption)
* [ ] Office Binary Document RC4 CryptoAPI
* [ ] MS-DOC (Word 2002, 2003, 2004)
* [ ] MS-XLS (Excel 2002, 2003, 2004)
* [ ] MS-PPT (PowerPoint 2002, 2003, 2004)
* [ ] XOR Obfuscation
### Other
* [ ] Word 95 Encryption (Word 95 and prior)
* [ ] Excel 95 Encryption (Excel 95 and prior)
* [ ] PowerPoint 95 Encryption (PowerPoint 95 and prior)
PRs welcome!
## Todo
* [x] Add tests
* [x] Support decryption with passwords
* [x] Support older encryption schemes
* [x] Add function-level tests
* [x] Add API documents
* [x] Publish to PyPI
* [ ] Add decryption tests for various file formats
* [ ] Merge to more comprehensive projects handling MS Office files (such as [oletools](https://github.com/decalage2/oletools/)?) if possible
* [ ] Support decrypting ecnrypted macros
* [ ] Support decrypting ecnrypted Excel worksheets
* [ ] Support decrypting editing protection
## References
* "Backdooring MS Office documents with secret master keys" <http://secuinside.com/archive/2015/2015-1-9.pdf>
* Technical Documents <https://msdn.microsoft.com/en-us/library/cc313105.aspx>
* [MS-OFFCRYPTO] Agile Encryption <https://msdn.microsoft.com/en-us/library/dd949735(v=office.12).aspx>
* LibreOffice/core <https://github.com/LibreOffice/core>
* LibreOffice/mso-dumper <https://github.com/LibreOffice/mso-dumper>
* wvDecrypt <http://www.skynet.ie/~caolan/Packages/wvDecrypt.html>
* Microsoft Office password protection - Wikipedia <https://en.wikipedia.org/wiki/Microsoft_Office_password_protection#History_of_Microsoft_Encryption_password>
## Alternatives
* herumi/msoffice <https://github.com/herumi/msoffice>
* DocRecrypt <https://blogs.technet.microsoft.com/office_resource_kit/2013/01/23/now-you-can-reset-or-remove-a-password-from-a-word-excel-or-powerpoint-filewith-office-2013/>
## Use cases and mentions
* <https://github.com/jbremer/sflock/commit/3f6a96abe1dbb4405e4fb7fd0d16863f634b09fb>
* <https://github.com/dtjohnson/xlsx-populate>
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
资源分类:Python库 所属语言:Python 资源全名:msoffcrypto-tool-4.2.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源推荐
资源详情
资源评论
收起资源包目录
msoffcrypto-tool-4.2.3.tar.gz (23个子文件)
msoffcrypto-tool-4.2.3
PKG-INFO 5KB
msoffcrypto_tool.egg-info
PKG-INFO 5KB
requires.txt 34B
SOURCES.txt 669B
entry_points.txt 64B
top_level.txt 12B
dependency_links.txt 1B
msoffcrypto
__main__.py 1KB
__init__.py 913B
method
xor_obfuscation.py 0B
rc4_cryptoapi.py 0B
rc4.py 3KB
ecma376_agile.py 4KB
__init__.py 0B
ecma376_extensible.py 62B
ecma376_standard.py 4KB
format
ooxml.py 6KB
__init__.py 0B
doc97.py 11KB
base.py 338B
setup.cfg 38B
setup.py 875B
README.md 4KB
共 23 条
- 1
资源评论
- weixin_435315382022-07-19资源简直太好了,完美解决了当下遇到的难题,这样的资源很难不支持~
- kksbbx2024-01-03这个资源对我启发很大,受益匪浅,学到了很多,谢谢分享~
- Agnesfirefly2022-06-08用户下载后在一定时间内未进行评价,系统默认好评。
挣扎的蓝藻
- 粉丝: 14w+
- 资源: 15万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功