Microsoft Compound File Binary File Format.
Project description
MS-CFB
About
MS-CFB allows users to create, modify, and disassemble Microsoft Compound File Binary Files. This software can be used from the command line, or as a library within other projects.
This software operates as recommended in the Microsoft interoperability guidelines
Requirements
MS-CFB is tested on python 3.7 and higher.
Installation
Use the package manager pip to install MS_OVBA_Compression.
pip install ms_cfb
Getting Started
MS-CFB will take a specified directory, and combine all directories and files within the directory tree into a compound binary file. Each storage directory will be given the name of the directory, and each stream directory will be given the name of the file minus its extension.
For example, the following
./project
├── PROJECT.txt
└───VBA
├── Sheet1.bin
├── ThisWorkbook.bin
├── Module1.bin
├── dir.bin
└── _VBA_PROJECT.bin
Will be transformed to:
Root Entry
├── PROJECT
└───VBA
├── Sheet1
├── ThisWorkbook
├── Module1
├── dir
└── _VBA_PROJECT
To run the program
python ole_file.py [-h] [-c] [-l] [-x] [-v {3,4}]
[-f FILE] [-X EXTRA]
[directory]
positional arguments:
directory The input or output directory.
options:
-h, --help show this help message and
exit
-c, --create Create an OLE file from a
directory.
-l, --list Display metadata on the OLE
file and list the files that
it contains.
-x, --extract Extract files from an OLE file
to a directory.
-v {3,4}, --version {3,4}
The OLE version to use.
-f FILE, --file FILE The input or output bin file
name
-X EXTRA, --extra EXTRA
Path to exta settings yml
file.
examples:
python -m ms_cfb -c -f vbaProject.bin -v 3 -X info.yml ./project
python -m ms_cfb -x -f vbaProject.bin ./project
python -m ms_cfb -l -f vbaProject.bin
Some directory settings can be specified from a YAML file. Directory paths are relative to the project root. Users can specify creation and modification date in ISO format, class id as a UUID string, and user flags as a four byte integer.
directories:
.:
clsid: 56616700-C154-11CE-8553-00AA00A1F95B
Storage 1:
created: "1995-11-16 17:43:44"
clsid: 56616100-C154-11CE-8553-00AA00A1F95B
Tests
The tests directory contains examples of how the classes can be used within other projects. There are also complete functional tests that include full working examples of creating the OLE file from CLI or using the module's objects.
Contributing
Contributions are welcome. Please ensure new features include unit tests to maintain 100% coverage. All code must adhere to the PEP8 Standards for both formatting and naming. Method signatures must be fully annotated.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ms_cfb-0.0.6.tar.gz.
File metadata
- Download URL: ms_cfb-0.0.6.tar.gz
- Upload date:
- Size: 20.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f49fcd18345a6f834ca33aa3d64c41ba973cb65ce6f7900b3ac529bbf6503992
|
|
| MD5 |
b6575f3a788f161bb6b1b644066b1c35
|
|
| BLAKE2b-256 |
41921de35547c3742e8b6d6be6cc7e2fbd9c1cf76a380e92317ed79d327b7958
|
Provenance
The following attestation bundles were made for ms_cfb-0.0.6.tar.gz:
Publisher:
python-publish.yml on Beakerboy/MS-CFB
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ms_cfb-0.0.6.tar.gz -
Subject digest:
f49fcd18345a6f834ca33aa3d64c41ba973cb65ce6f7900b3ac529bbf6503992 - Sigstore transparency entry: 1199359849
- Sigstore integration time:
-
Permalink:
Beakerboy/MS-CFB@870d4c18fde0e8164a8d5a4b26399640b761cae3 -
Branch / Tag:
refs/tags/1.0.0 - Owner: https://github.com/Beakerboy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@870d4c18fde0e8164a8d5a4b26399640b761cae3 -
Trigger Event:
release
-
Statement type:
File details
Details for the file ms_cfb-0.0.6-py3-none-any.whl.
File metadata
- Download URL: ms_cfb-0.0.6-py3-none-any.whl
- Upload date:
- Size: 30.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
785f05a306262e95496551cebe6e17290a4ac2f69cabd08b577e8726e66365d7
|
|
| MD5 |
ee3fb5c8a0b383efcbdf07abbe07a72a
|
|
| BLAKE2b-256 |
a2e34dfc661edad9e7ec031b85534441c08a5283947d1706c49b93f5c93b632d
|
Provenance
The following attestation bundles were made for ms_cfb-0.0.6-py3-none-any.whl:
Publisher:
python-publish.yml on Beakerboy/MS-CFB
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ms_cfb-0.0.6-py3-none-any.whl -
Subject digest:
785f05a306262e95496551cebe6e17290a4ac2f69cabd08b577e8726e66365d7 - Sigstore transparency entry: 1199359859
- Sigstore integration time:
-
Permalink:
Beakerboy/MS-CFB@870d4c18fde0e8164a8d5a4b26399640b761cae3 -
Branch / Tag:
refs/tags/1.0.0 - Owner: https://github.com/Beakerboy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@870d4c18fde0e8164a8d5a4b26399640b761cae3 -
Trigger Event:
release
-
Statement type: