gitextract_ab9olciu/ ├── .github/ │ ├── SECURITY.md │ └── workflows/ │ └── ci.yaml ├── .gitignore ├── .readthedocs.yml ├── CHANGELOG.md ├── LICENSE.txt ├── NOTICE.txt ├── README.md ├── docs/ │ ├── Makefile │ ├── cli.rst │ ├── conf.py │ ├── index.rst │ ├── make.bat │ ├── modules.rst │ ├── msoffcrypto.exceptions.rst │ ├── msoffcrypto.format.rst │ ├── msoffcrypto.method.container.rst │ ├── msoffcrypto.method.rst │ ├── msoffcrypto.rst │ └── requirements.txt ├── msoffcrypto/ │ ├── __init__.py │ ├── __main__.py │ ├── exceptions/ │ │ └── __init__.py │ ├── format/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── common.py │ │ ├── doc97.py │ │ ├── ooxml.py │ │ ├── ppt97.py │ │ └── xls97.py │ └── method/ │ ├── __init__.py │ ├── container/ │ │ ├── __init__.py │ │ └── ecma376_encrypted.py │ ├── ecma376_agile.py │ ├── ecma376_extensible.py │ ├── ecma376_standard.py │ ├── rc4.py │ ├── rc4_cryptoapi.py │ └── xor_obfuscation.py ├── pyproject.toml └── tests/ ├── __init__.py ├── inputs/ │ ├── ecma376standard_password.docx │ ├── example_password.docx │ ├── example_password.xlsx │ ├── plain.doc │ ├── plain.ppt │ ├── plain.xls │ ├── rc4cryptoapi_password.doc │ ├── rc4cryptoapi_password.ppt │ ├── rc4cryptoapi_password.xls │ └── xor_password_123456789012345.xls ├── outputs/ │ ├── ecma376standard_password_plain.docx │ ├── example.docx │ ├── example.xlsx │ ├── rc4cryptoapi_password_plain.doc │ ├── rc4cryptoapi_password_plain.ppt │ ├── rc4cryptoapi_password_plain.xls │ └── xor_password_123456789012345_plain.xls ├── test_cli.py ├── test_cli.sh ├── test_compare_known_output.py └── test_file_handle.py