-
This is an interesting one since "our" old implementation of is_encrypted claims that the embedded file is still encrypted (which it is not), but the msoffcrypto-is_encrypted gets it right.
-
Type-Field in logging
-
oleobj cannot detect yet that these are open office, but it can now treat them like regular zip files and find embedded objects in them. Samples are harmless, were created by me.
-
Every logging call can have an optional arg type='...' which is ignored when logging to text but shows in json output. The "type" of regular logging output in json is type='msg'. Added 2 messages with different type, adjusted existing test, created 2 new ones.
-
These 4 files contain dde-links to calc.exe and are encrypted with excel's standard password.
-
These are encrypted with the standard password hard-coded into excel to implement a form of write protection
-
oleobj: detect external links
-
Checks output on all data in tests/test-data dir
-
Samples were created by me using Office 2010 on a Windows 7 machine, password is "encrypted", contents is trivial (no links, macros, ...) Encryption should be the CryptoAPI RC4 Encryption (see [MS-OFFCRYPTO])
-
Unittests worked on Travis and from IDEs like PyCharm, but from command line I had to change log helper test root dir to one level up and unset PYTHONPATH
-
The OutputCapture was a slightly hacky way to get output from scripts without using subprocess. However, keeping it working started requiring reloads since module's logs are global variables which were re-initialized which caused trouble). That required reload of all submodules, so more hacks are needed to keep the initial hack "alive". Therefore I am glad it is not needed any more and can be removed.
-
Some msodde tests call the main() function from the module which tries to enable logging, causing lots of problems when running multiple tests due to the singleton dependency of the logging modules. Since what they want to test is whether msodde is finding links, we can use the process_file() function directly instead and check its output.
-
delimiter in current python versions
-
oleid: detect OpenXML encryption