msoffice
1.0.0
sudo apt install libssl-dev
bin/msoffice-crypt.exe
Linux
mkdir work
git clone https://github.com/herumi/cybozulib
git clone https://github.com/herumi/msoffice
cd msoffice
make -j RELEASE=1
If you use an old OpenSSL library, then make OLD_OPENSSL=1
.
Windows
mkdir work
git clone https://github.com/herumi/cybozulib
git clone https://github.com/herumi/msoffice
git clone https://github.com/herumi/cybozulib_ext # for openssl
cd msoffice
mk.bat ; or open msoffice12.sln and build
test
.bin/msoffice-crypt.exe -e -p test test.xlsx enc.xlsx
test
.bin/msoffice-crypt.exe -d -p test enc.xlsx dec.xlsx
usage:msoffice-crypt.exe [opt] input output
-h : show this message
-p password in only ascii
-encMode 0:use AES128(default), 1: use AES256 for encoding
-ph8 password in utf8 hex. ex. 68656C6C6F for 'hello'
-ph16 password in utf16 hex. ex. u3042u3044u3046 for 'aiu' in hiragana
-k (experimental) secret key in hex. ex. 0123456789ABCDEF0123456789ABCDEF
-by (experimental) extract secret key from this file
-e encode
-d decode
-c spin count
-psk print secret key
-v print debug info
-vv print debug info and save binary data
Office 2010 or later Office Document format which suffix is pptx, docx, xlsx.
msoc.dll (Microsoft Office Crypto)
msoc.dll
msoc.h
Encrypt inFile
with pass
and make outFile
.
MSOC_encrypt(outFile, inFile, pass, NULL);
inFile
with pass
and make outFile
.MSOC_decrypt(outFile, inFile, pass, NULL);
The type of inFile
, outFile
and pass
are const wchar_t*
(UTF-16 string).
See Csample code
and Python sample code.
libmsoc.lib
Encrypt inFile
with pass
and make outFile
.
MSOC_encryptA(outFile, inFile, pass, NULL);
inFile
with pass
and make outFile
.MSOC_decryptA(outFile, inFile, pass, NULL);
The type of inFile
, outFile
and pass
are const char*
(ascii string).
See mini C sample code.
BSD 3-Clause License
Copyright (c) 2015 Cybozu Labs, Inc. All rights reserved.