Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

olevba: prevent side effects on python lib "email" #603

Closed
wants to merge 724 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
724 commits
Select commit Hold shift + click to select a range
7966005
crypto: Update recommendation for wrapper
christian-intra2net Mar 25, 2019
6b144d6
msodde: Integrate crypto for working on encrypted files
christian-intra2net Mar 25, 2019
06ae49c
tests: add 4 clean example files for default-encryption
christian-intra2net Mar 25, 2019
eb2531c
tests: Add exceptions to olevba return code test
christian-intra2net Mar 25, 2019
cc42025
tests: Create test for decryption in msodde
christian-intra2net Mar 25, 2019
73316be
msodde: Make password list optional for processing function
christian-intra2net Mar 25, 2019
6c0001f
msodde: fix bad assumption, not all exc have message
christian-intra2net Mar 25, 2019
63f11a7
xls_parser: Minor bugfix and doc addition
christian-intra2net Mar 25, 2019
50a971d
msodde: remove duplicate output "dde-link" for ooxml
christian-intra2net Mar 25, 2019
93d087c
tests: Adjust dde output text
christian-intra2net Mar 25, 2019
0db4461
msodde: Fix indent and line lengths
christian-intra2net Mar 25, 2019
84fa725
msodde: remove unused / unnecessary lines
christian-intra2net Mar 25, 2019
044bcd0
msodde: no undefined variables
christian-intra2net Mar 25, 2019
7974797
msodde: no else after return
christian-intra2net Mar 25, 2019
e0d776b
msodde: silence 3 more pylint warnings
christian-intra2net Mar 25, 2019
b0294a0
travis: install msoffcrypto-tool before testing
christian-intra2net Mar 25, 2019
d949043
Merge pull request #403 from christian-intra2net/crypto-write-protect
decalage2 Mar 25, 2019
33d2669
setup: bumped version to 0.54dev12
decalage2 Mar 25, 2019
becebba
common/errors: improved the error messages for encrypted files
decalage2 Mar 25, 2019
8a9d8fc
msodde: slight fix to use the current dir to import oletools in case …
decalage2 Mar 27, 2019
14c4f5f
tablestream: slight fix, TableStyleSlim inherits from TableStyle
decalage2 Mar 27, 2019
b5ce77d
logger: introduce 'type' field for json output
christian-intra2net Mar 28, 2019
bcc9d79
msodde: clarify what part of output is the result
christian-intra2net Mar 28, 2019
9f5b288
olevba: do not colorize the output if it is redirected to a file (iss…
decalage2 Mar 28, 2019
57bdf78
tests: Test new "type" field of json logging output
christian-intra2net Mar 29, 2019
8c4e8c8
tests: replace 3 calls to deprecated function
christian-intra2net Apr 1, 2019
e43b512
crypto: fixed a bug in is_encrypted_ole
decalage2 Apr 1, 2019
3c3a06b
ooxml: do not require [Content_Types].xml in zip files
christian-intra2net Apr 2, 2019
9b79bf2
ooxml: Correct error message
christian-intra2net Apr 2, 2019
7260aea
ooxml: Fix attempt to copy args
christian-intra2net Apr 2, 2019
3d751c5
ooxml: Fix logger in test() function
christian-intra2net Apr 2, 2019
72d5eb6
ooxml: Fixes from pylint and pep8
christian-intra2net Apr 2, 2019
b861814
oleobj: Minor improvement to log messages
christian-intra2net Apr 2, 2019
c77cae8
tests: add open office samples to oleobj test
christian-intra2net Apr 2, 2019
df249cc
tests: tell ooxml test about new test samples
christian-intra2net Apr 2, 2019
edaab78
Merge pull request #412 from christian-intra2net/ooxml-accept-OpenOffice
decalage2 Apr 4, 2019
236fe0c
Merge pull request #410 from christian-intra2net/json-more-structure
decalage2 Apr 4, 2019
cfde463
Merge pull request #378 from r3comp1le/master
decalage2 Apr 4, 2019
75045cc
setup, requirements: fixed dependency to msoffcrypto-tool
decalage2 Apr 4, 2019
1e39620
olevba: added detection of ExecuteExcel4Macro (issue #374), fixed fal…
decalage2 Apr 4, 2019
998b414
mraptor: added ExecuteExcel4Macro and ShellExecuteA (fixes #374)
decalage2 Apr 4, 2019
cd559d7
mraptor: added WriteProcessMemory, XLM keywords
decalage2 Apr 4, 2019
201faa8
olevba: added WriteProcessMemory, XLM keywords (issue #389)
decalage2 Apr 4, 2019
88996f4
clsid: added Microsoft Forms 2.0 Label (fixes #368)
decalage2 Apr 4, 2019
e451e27
bumped all tools to v0.54
decalage2 Apr 4, 2019
1b5cdae
readme: added v0.54
decalage2 Apr 4, 2019
7ba51ae
oleid: fixed import for local use without install
decalage2 Apr 8, 2019
0fbd174
updated readme and doc for v0.54
decalage2 Apr 8, 2019
54c2ff7
updated install.txt
decalage2 Apr 8, 2019
f54859d
olevba: decompress_stream now accepts both bytes and bytearray (fixes…
decalage2 Apr 9, 2019
638d707
test-cases: add support for encrypted corpus
samiraguiar Nov 16, 2017
5886205
ooxml: ignore zip files when testing samples
samiraguiar Nov 20, 2018
f63ed96
requirements.txt: synced with setup.py dependencies
decalage2 Apr 10, 2019
0914975
olevba: initialize VBA_Parser.xlm_macros (fixes #433)
decalage2 Apr 20, 2019
7dc230a
olevba: fix log.info to debug
decalage2 Apr 22, 2019
2519e53
tests: Add another sample
christian-intra2net Apr 25, 2019
a7631b7
crypto: declare specialiced is_encrypted private
christian-intra2net Apr 25, 2019
9fa3deb
crypto: use msoffcrypto's is_encrypted if possible
christian-intra2net Apr 25, 2019
910474e
crypto: Do not throw from is_encrypted
christian-intra2net Apr 26, 2019
363382c
crypto: Correct whitespace, remove unnecessary code
christian-intra2net Apr 26, 2019
f5c7b89
crypto: Make debug log a little less minimalistic
christian-intra2net Apr 29, 2019
e9c95fe
tests: tell oleid test what to expect for new samples
christian-intra2net Apr 26, 2019
2ad3fbb
tests: Check behaviour of olevba for rtf, text, empty
christian-intra2net Apr 29, 2019
395b3fa
tests: minor pylint-inspired changes
christian-intra2net Apr 29, 2019
1e0c967
tests: Move constants into proper module
christian-intra2net Apr 29, 2019
8e6132e
tests: Move code to "run and capture" to utils
christian-intra2net Apr 29, 2019
2d01b5a
test: Use call_and_capture in olevba tests
christian-intra2net Apr 29, 2019
dcd8377
crypto: Add more debug output
christian-intra2net May 2, 2019
6ad6e01
tests: Clarify whether to include stderr or not
christian-intra2net May 6, 2019
319f6e3
tests: Do not assume we are running CPython
christian-intra2net May 6, 2019
73c5906
msodde: Raise proper error when decrypt fails
christian-intra2net May 6, 2019
684266d
olevba: Hint at debug log if decrypt fails
christian-intra2net May 6, 2019
a767ed4
tests: Add test for %-autoformatting of log messages
christian-intra2net May 7, 2019
7ff8848
readme: added link to YOMI
decalage2 May 8, 2019
793dd1f
Merge pull request #441 from christian-intra2net/is-encrypted-by-msof…
decalage2 May 11, 2019
33c1647
plugin_biff: almost fixed #428
decalage2 May 19, 2019
fd18d88
plugin_biff: fixed #428 for Python 3
decalage2 May 20, 2019
69d534b
bumped version to 0.54.2
decalage2 May 20, 2019
444b8d1
updated readme for v0.54.2
decalage2 May 20, 2019
9ec9a0c
msodde: Ensure OleFileIO is always closed
christian-intra2net May 7, 2019
030515f
tests: Fix args for msodde return-code test
christian-intra2net May 7, 2019
d94d473
tests: call more top-level function from msodde
christian-intra2net May 7, 2019
d78c027
tests: Specify exactly what type of error is expected from msodde
christian-intra2net May 7, 2019
c89dc6f
tests: Reduce text output from oleobj tests
christian-intra2net May 7, 2019
10848bc
tests: Reduce output from oleobj tests even further
christian-intra2net May 7, 2019
df569f7
crypto: Ensure ole file is closed
christian-intra2net May 9, 2019
cfa7efe
ppt_parser: ensure ppt_file is closed
christian-intra2net May 9, 2019
8c82de8
tests: Replace deprecated function
christian-intra2net May 9, 2019
b592297
xls_parser: close XlsFile after use
christian-intra2net May 9, 2019
9308a6d
xls_parser: no use to treat CryptoError differently
christian-intra2net May 9, 2019
339155e
oleobj: Always close PptFile
christian-intra2net May 9, 2019
24bc956
tests: Use call_and_capture to get output from msodde
christian-intra2net May 9, 2019
c4c81d4
msodde: ensure XlsFile is always closed
christian-intra2net May 9, 2019
bcce0f1
tests: Ensure unicode can be printed
christian-intra2net May 9, 2019
1e69e6d
ppt_parser: Accept one more non-standard version
christian-intra2net May 9, 2019
a3f3189
Merge pull request #446 from christian-intra2net/unittest-fixes
decalage2 May 20, 2019
186b1bb
Merge remote-tracking branch 'origin/master'
decalage2 May 22, 2019
3ae5edb
updated readme and changelog
decalage2 May 22, 2019
c89a707
change in comments
decalage2 May 22, 2019
1c891b7
msoffcrypto-tool is now a required dependency, simplified install ins…
decalage2 May 22, 2019
2061a1c
crypto: added list of default passwords. olevba and msodde now handle…
decalage2 May 23, 2019
081ef3d
updated doc
decalage2 May 23, 2019
e9a5da3
updated install.txt
decalage2 May 23, 2019
337cfca
readme: updated project list, added olefy and MacroMilter
decalage2 May 23, 2019
5eaf90c
readme: added PeekabooAV
decalage2 May 23, 2019
fc2c1ba
readme: added PyCIRCLean and TheHive/Cortex
decalage2 May 23, 2019
3fff7a3
readme: added ACE
decalage2 May 23, 2019
b53c2c1
olevba: added option --pcode to disassemble and display the VBA P-Cod…
decalage2 May 23, 2019
4e96bc5
Merge remote-tracking branch 'origin/master'
decalage2 May 23, 2019
ecc5ec1
olevba: fixed pcode display for python 3 (unicode)
decalage2 May 23, 2019
478afe3
olevba: moved import pcodedmp to avoid circular imports
decalage2 May 26, 2019
7a5f16d
Remove oletools.thirdparty.zipfile27 import, it's no longer bundled
robert-scheck Jun 2, 2019
11b8715
Merge pull request #452 from robert-scheck/python27
decalage2 Jun 3, 2019
e16eb85
olevba: added VBA Stomping detection (requires pcodedmp 1.2.5)
decalage2 Jun 5, 2019
7b9b4bc
Merge remote-tracking branch 'origin/master'
decalage2 Jun 5, 2019
303832a
readme: added link to SNDBOX
decalage2 Jun 5, 2019
60dca34
olevba: fixed some issues with VBA stomping detection
decalage2 Jun 5, 2019
7c2b886
olevba: workaround when running on Pypy, pcodedmp cannot be imported …
decalage2 Jun 5, 2019
1d01453
crypto: Correct doc string
christian-intra2net Apr 15, 2019
71beeb7
olevba: Make clean-up more error-proof
christian-intra2net Apr 15, 2019
e59f21b
tests: Test error output from msodde
christian-intra2net Apr 15, 2019
c634ad1
logger: replace newline in messages with simple space
christian-intra2net Jun 3, 2019
cf7c822
tests: Check regular output, not json
christian-intra2net Jun 3, 2019
e780531
Merge pull request #432 from christian-intra2net/msodde-failed-decryp…
decalage2 Jul 6, 2019
d2fdd34
Add Msxml2.SAXXMLReader.5.0 unknown CLSID Fix #458
Jul 6, 2019
6ce3aed
Add SCT to the list of executable file extensions Fix #276
Jul 7, 2019
85f6a32
Add URL carver for CVE-2017-0199 Fix #163
Jul 7, 2019
b4ce988
Merge pull request #461 from Maijin/sctinexecutables
decalage2 Jul 8, 2019
9d2b325
Merge pull request #460 from Maijin/urlcarver
decalage2 Jul 8, 2019
3ce436c
Merge pull request #459 from Maijin/fix458
decalage2 Jul 8, 2019
68c37c7
rtfobj: bumped version to 0.55.dev3
decalage2 Jul 8, 2019
f3b7b00
olevba: added several suspicious keywords, fixes #49
decalage2 Jul 9, 2019
643e246
olevba: slight fix to avoid a test to fail by mistake
decalage2 Jul 9, 2019
eb55483
olevba: another slight fix to avoid a test to fail by mistake
decalage2 Jul 9, 2019
a8b98d8
olevba: yet another slight fix to avoid a test to fail by mistake
decalage2 Jul 9, 2019
d185d6b
olemap: fixed display of OLE header CLSID (fixes #394)
decalage2 Jul 10, 2019
8d6f4b1
Add standard LICENSE.md Fix #123
Maijin Jul 10, 2019
095a5a9
Merge pull request #468 from Maijin/patch-1
decalage2 Jul 11, 2019
063c3f6
common: Handle unicode output in non-unicode environments
christian-intra2net Oct 30, 2018
6626b7e
tests: create unittests for unicode checker
christian-intra2net Oct 31, 2018
71670a0
msodde: Replace custom unicode checker with global one
christian-intra2net Oct 31, 2018
2cdde35
olevba[3]: ensure stdout can handle unicode
christian-intra2net Oct 31, 2018
9163854
olemeta: ensure stdout can handle unicode
christian-intra2net Oct 31, 2018
8458ce5
oleobj: ensure stdout can handle unicode
christian-intra2net Oct 31, 2018
1a448c6
ooxml: ensure stdout can handle unicode
christian-intra2net Oct 31, 2018
d0f900c
common: handle open() of text files without unicode-environment
christian-intra2net Oct 31, 2018
fba86b6
tests: test common.uopen
christian-intra2net Oct 31, 2018
dc65706
msodde: open CSV files with correct mode & newlines
christian-intra2net Oct 31, 2018
6edea0f
ooxml: Ensure unicode can be read from text files
christian-intra2net Oct 31, 2018
88294ab
msodde: minor fixes
christian-intra2net Nov 2, 2018
9ce5337
ooxml: open files in binary mode
christian-intra2net Nov 2, 2018
7dcba76
common: Risk calling setlocale for getting correct encoding
christian-intra2net Nov 2, 2018
462a49d
common: make uopen behave like open() wrt. mode
christian-intra2net Nov 2, 2018
5293cf2
common: use encoding-related func to own module
christian-intra2net Nov 5, 2018
949bb54
various: adjust import of io_encoding functions
christian-intra2net Nov 5, 2018
ce2d1d6
io_encoding: warn when modifying encoding
christian-intra2net Nov 5, 2018
f1a1cde
ooxml: Create __version__, add license and start changelog
christian-intra2net Dec 6, 2018
c41ac95
log_helper: ensure stdout handles unicode if logging there
christian-intra2net Jul 16, 2019
a4d0fc0
msodde: Remove unnecessary ensure_stdout_handles_unicode
christian-intra2net Jul 16, 2019
ce82681
olevba: Remove unnecessary ensure_stdout_handles_unicode
christian-intra2net Jul 16, 2019
1b07e6f
ooxml: Remove unnecessary ensure_stdout_handles_unicode
christian-intra2net Jul 16, 2019
01ed202
tests: handle unicode output in test bypassing main()
christian-intra2net Jul 16, 2019
e34c2d1
msodde: Fix UnicodeError
christian-intra2net Jul 17, 2019
c70ba39
Merge pull request #469 from christian-intra2net/msodde-unicode-contents
decalage2 Jul 24, 2019
81647f2
msodde: bumped version to 0.55.dev3
decalage2 Jul 24, 2019
8a0819b
Merge remote-tracking branch 'upstream/master'
kirk-sayre-work Aug 12, 2019
bdab680
Added --no-xlm option to skip extracting XLM macros.
kirk-sayre-work Aug 12, 2019
721f874
Set no_xlm flag when parsing subfiles.
kirk-sayre-work Aug 12, 2019
7613ea1
Set default value of no_xlm field in VBA_Parser constructor.
kirk-sayre-work Aug 12, 2019
c219d3c
Added no_xlm to to process_file_triage() method.
kirk-sayre-work Aug 13, 2019
3d33b57
Consume 2 null bytes between name string and tag string if the file b…
kirk-sayre-work Aug 19, 2019
70fcfb9
changed reading mode in ooxml.XMLParser.iter_files() for single xml …
Aug 21, 2019
098b820
readme: added link to mailcow
decalage2 Aug 27, 2019
2688d7e
readme: added link to Tsuguri Linux
decalage2 Aug 28, 2019
8ed8554
Merge remote-tracking branch 'upstream/master'
kirk-sayre-work Sep 4, 2019
b0a2afa
thirdparty/xxxswf: added GPL3 license from https://bitbucket.org/Alex…
decalage2 Sep 21, 2019
bf65455
olevba: moved DridexUrlDecoder from 3rd party folder into olevba, fix…
decalage2 Sep 24, 2019
719ef3c
olevba: added a workaround in detect_vba_stomping to fix #489
decalage2 Oct 7, 2019
4b9dceb
Merge pull request #365 from christian-intra2net/encoding-for-non-uni…
decalage2 Oct 10, 2019
ea186f7
Merge pull request #217 from samiraguiar/compress-test-data
decalage2 Oct 18, 2019
9af3eb3
msodde: added comments
decalage2 Oct 31, 2019
0aefc2b
tests: small fix in test_encoding_handler.py
decalage2 Oct 31, 2019
884de66
Merge remote-tracking branch 'origin/master'
decalage2 Nov 1, 2019
dd6853a
olevba: added AUTOEXEC_KEYWORDS_REGEX and improved detect_autoexec to…
decalage2 Nov 2, 2019
af8eb63
tests: fixed exception in test_encoding_handler.py
decalage2 Nov 5, 2019
7eeede0
olevba: added suspicious keywords SetTimer and .Variables
decalage2 Nov 6, 2019
5164dcd
olevba: added SUSPICIOUS_KEYWORDS_REGEX to detect keywords using rege…
decalage2 Nov 6, 2019
876cbb2
mraptor: added SetTimer
decalage2 Nov 6, 2019
9e70a2f
setup.py, requirements.txt: changed pyparsing from >=2.2.0 to >=2.1.0…
decalage2 Nov 10, 2019
e128e46
oleobj: corrected local import, fixes #508
decalage2 Nov 19, 2019
0c86794
Use given encoding in bytes2str (olevba).
enkelli Nov 28, 2019
e968630
Merge pull request #514 from enkelli/fix-bytes2str-olevba
decalage2 Nov 28, 2019
d868b2e
msodde: added comment
decalage2 Nov 28, 2019
5078393
tests: temporarily disabled some msodde tests that trigger antivirus …
decalage2 Nov 29, 2019
f1d3dd7
merge PR #483
decalage2 Nov 29, 2019
4d91e21
olevba: improved error message when attempting to analyse an RTF file.
decalage2 Dec 3, 2019
b284c6c
crypto: replaced log.warning by log.info for error messages that trig…
decalage2 Dec 3, 2019
fea1357
olevba: added support for SLK files and XLM macros in SLK
decalage2 Dec 3, 2019
054989f
bumped version to 0.55
decalage2 Dec 3, 2019
f3c6c31
updated readme and changelog for v0.55
decalage2 Dec 3, 2019
9184e85
updated doc for v0.55
decalage2 Dec 3, 2019
4b2ffd0
olevba, doc: updated the list of supported formats
decalage2 Dec 3, 2019
495527c
olevba: slight bugfix for VBA stomping detection, bumped to 0.55.1
decalage2 Dec 4, 2019
647a5f5
olevba: disabled VBA stomping detection for files in memory, because …
decalage2 Dec 4, 2019
1700f6d
olevba: quick hack to avoid pcodedmp errors to appear on the console
decalage2 Dec 4, 2019
8a3053d
Added files to get setup.py to work.
kirk-sayre-work Dec 10, 2019
ececc94
Fixed bug in detecting MHT files.
kirk-sayre-work Dec 11, 2019
152aa62
rtfobj: removed "\rtf" from the list of destination control words, fi…
decalage2 Dec 16, 2019
a69327d
rtfobj: fixed process_file to detect Equation class, fixes #525
decalage2 Dec 17, 2019
efbfc72
Now reads in Caption and GroupName from MorphDataExtraDataBlock .
kirk-sayre-work Jan 21, 2020
97d822d
Stop reading extra 2 bytes between name field and tag field.
kirk-sayre-work Jan 21, 2020
ac70561
added new Autorun method OnConnecting
mlodic Jan 27, 2020
057343a
Merge pull request #528 from mlodic/master
decalage2 Jan 27, 2020
11b289b
readme: added link to IntelOwl
decalage2 Jan 27, 2020
179db0c
mraptor: added detection of the "_OnConnecting" trigger (as in #528)
decalage2 Jan 27, 2020
21a8663
Merge remote-tracking branch 'upstream/master' into merge2master
kirk-sayre-work Jan 30, 2020
6c780df
Revert to original olevba.py.
kirk-sayre-work Jan 30, 2020
1eded6f
Added reading GroupName text to consume_MorphDataControl().
kirk-sayre-work Jan 30, 2020
fb8fba2
Fixed merge error.
kirk-sayre-work Jan 30, 2020
4c9d4cc
Merge pull request #532 from kirk-sayre-work/merge2master
decalage2 Jan 31, 2020
867694b
bumped version number to 0.56dev1, updated changelog
decalage2 Jan 31, 2020
7bab9b9
Update plugin to latest version
rsaccani Feb 18, 2020
4be9a84
olevba: slight changes to VBA stomping detection (related to issues #…
decalage2 Feb 23, 2020
01c318d
readme: added link to CinCan
decalage2 Feb 26, 2020
34747eb
oleobj: fixed #541, "Ole10Native" is case-insensitive
decalage2 Mar 3, 2020
d071661
Merge remote-tracking branch 'origin/master'
decalage2 Mar 3, 2020
f0f40af
Merge pull request #536 from rsaccani/patch-1
decalage2 Mar 22, 2020
c390a12
plugin_biff: updated from oledump v0.0.48
decalage2 Mar 22, 2020
4999e7d
olevba: uses plugin_biff to display DCONN objects and their URL
decalage2 Mar 22, 2020
52af5e1
clsid: added CLSID for PDF files, fixes #552
decalage2 Apr 3, 2020
a941158
clsid: updated comments
decalage2 Apr 3, 2020
da77997
plugin_biff: updated to v0.0.11 (improved formula parsing)
decalage2 Apr 13, 2020
9ef5b88
mraptor: added keywords RUN and CALL for XLM macros (issue #562)
decalage2 Apr 20, 2020
7070b8c
test_basic: disabled a few tests that were causing issues
decalage2 May 4, 2020
13ad06a
setup.py, requirements.txt: avoid pyparsing 3+ for the moment
decalage2 May 4, 2020
5098908
test_basic: fixed a slight issue when testing RTF with olevba
decalage2 May 4, 2020
26d1671
oleform/test_basic: fixed test data, fixed olevba import
decalage2 May 4, 2020
5d695cf
oleform/test_basic: temporarily fixed test data (see issue #568)
decalage2 May 5, 2020
2c302ba
Travis-CI: added Python 3.8, removed 3.4 and nightly
decalage2 May 5, 2020
002f2b7
Unpack the values of ptgNum float literals.
kirk-sayre-work May 13, 2020
96d4432
clsid: added Microsoft Word Picture (fixes #571)
decalage2 May 14, 2020
731fb0c
Merge pull request #570 from kirk-sayre-work/master
decalage2 May 19, 2020
b24c641
olevba: updated plugin_biff to v0.0.12 to improve Excel 4/XLM macros …
decalage2 May 19, 2020
4a50b36
olevba: fixed call to plugin_biff to get labels with cell references …
decalage2 May 19, 2020
bd5df81
plugin_biff: updated to v0.0.15 to improve Excel 4/XLM macros parsing…
decalage2 May 25, 2020
9bfbc03
ooxml: fixed comments at the beginning
decalage2 Jun 4, 2020
3701db2
olevba: fixed bug when decompressing raw chunks in VBA (fixes #575)
decalage2 Jun 11, 2020
8ceb1d6
added link to EML Analyzer
decalage2 Aug 24, 2020
473a1a1
added link to SpuriousEmu
decalage2 Aug 28, 2020
8b54757
olevba: prevent side effects on python lib "email" by patching and un…
matthieuxyz Sep 1, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: Bug report
about: Create a bug report to help us fix issues

---

**Affected tool:**
olevba, mraptor, rtfobj, oleid, etc

**Describe the bug**
A clear and concise description of what the bug is.

**File/Malware sample to reproduce the bug**
Please attach the file in a password protected zip archive, or provide a link where it can be downloaded (e.g. Hybrid Analysis, preferably not VirusTotal which requires paid access). If not possible, please provide a hash.

**How To Reproduce the bug**
Steps to reproduce the behavior, including the full command line or the options you used.

**Expected behavior**
A clear and concise description of what you expected to happen.

**Console output / Screenshots**
If applicable, add screenshots to help explain your problem.
Use the option "-l debug" to add debugging information, if possible.

**Version information:**
- OS: Windows/Linux/Mac/Other
- OS version: x.xx - 32/64 bits
- Python version: 2.7/3.6 - 32/64 bits
- oletools version:

**Additional context**
Add any other context about the problem here.
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: Feature request
about: Suggest an idea for this project

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ coverage.xml

# Translations
*.mo
*.pot
#*.pot

# Django stuff:
*.log
Expand Down
18 changes: 15 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
language: python

python:
- "2.7"
cache: pip
sudo: false

matrix:
include:
- python: 2.7
- python: 3.5
- python: 3.6
- python: 3.7
- python: 3.8
- python: pypy
- python: pypy3

install:
- pip install msoffcrypto-tool

script:
- python setup.py test
56 changes: 45 additions & 11 deletions INSTALL.txt
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
How to Download and Install python-oletools
===========================================
How to Download and Install oletools
====================================

Pre-requisites
--------------

The recommended Python version to run oletools is Python 2.7.
Python 2.6 is also supported, but as it is not tested as often as 2.7, some features
might not work as expected.

Since v0.50, oletools can also run with Python 3.x. As this is quite new, please
report any issue you may encounter.

The recommended Python version to run oletools is the latest **Python 3.x** (3.7 for now).
Python 2.7 is still supported, but as it will become end of life in 2020 (see https://pythonclock.org/), it is highly
recommended to switch to Python 3 now.

Recommended way to Download+Install/Update oletools: pip
--------------------------------------------------------
Expand All @@ -23,7 +19,11 @@ system, either upgrade Python or see https://pip.pypa.io/en/stable/installing/
To download and install/update the latest release version of oletools,
run the following command in a shell:

```text
sudo -H pip install -U oletools
```

Replace `pip` by `pip3` or `pip2` to install on a specific Python version.

**Important**: Since version 0.50, pip will automatically create convenient command-line scripts
in /usr/local/bin to run all the oletools from any directory.
Expand All @@ -33,7 +33,19 @@ in /usr/local/bin to run all the oletools from any directory.
To download and install/update the latest release version of oletools,
run the following command in a cmd window:

```text
pip install -U oletools
```

Replace `pip` by `pip3` or `pip2` to install on a specific Python version.

**Note**: with Python 3, you may need to open a cmd window with Administrator privileges in order to run pip
and install for all users. If that is not possible, you may also install only for the current user
by adding the `--user` option:

```text
pip3 install -U --user oletools
```

**Important**: Since version 0.50, pip will automatically create convenient command-line scripts
to run all the oletools from any directory: olevba, mraptor, oleid, rtfobj, etc.
Expand All @@ -47,30 +59,49 @@ you may also use pip:

### Linux, Mac OSX, Unix

```text
sudo -H pip install -U https://github.com/decalage2/oletools/archive/master.zip
```

Replace `pip` by `pip3` or `pip2` to install on a specific Python version.

### Windows

```text
pip install -U https://github.com/decalage2/oletools/archive/master.zip
```

Replace `pip` by `pip3` or `pip2` to install on a specific Python version.

**Note**: with Python 3, you may need to open a cmd window with Administrator privileges in order to run pip
and install for all users. If that is not possible, you may also install only for the current user
by adding the `--user` option:

```text
pip3 install -U --user https://github.com/decalage2/oletools/archive/master.zip
```

How to install offline - Computer without Internet access
---------------------------------------------------------

First, download the oletools archive on a computer with Internet access:
* Latest stable version: from https://github.com/decalage2/oletools/releases
* Latest stable version: from https://pypi.org/project/oletools/ or https://github.com/decalage2/oletools/releases
* Development version: https://github.com/decalage2/oletools/archive/master.zip

Copy the archive file to the target computer.

On Linux, Mac OSX, Unix, run the following command using the filename of the
archive that you downloaded:

```text
sudo -H pip install -U oletools.zip
```

On Windows:

```text
pip install -U oletools.zip
```


Old school install using setup.py
Expand All @@ -88,9 +119,12 @@ Then extract the archive, open a shell and go to the oletools directory.

### Linux, Mac OSX, Unix

```text
sudo -H python setup.py install
```

### Windows:

```text
python setup.py install

```
52 changes: 52 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
This license applies to the python-oletools package, apart from the thirdparty folder which contains third-party files
published with their own license.

The python-oletools package is copyright (c) 2012-2019 Philippe Lagadec (http://www.decalage.info)

All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


----------

olevba contains modified source code from the officeparser project, published
under the following MIT License (MIT):

officeparser is copyright (c) 2014 John William Davison

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
14 changes: 14 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
include install.bat
include INSTALL.txt
include README.md
include requirements.txt
include oletools/README.rst
include oletools/README.html
include oletools/LICENSE.txt
include oletools/DocVarDump.vba
recursive-include oletools/thirdparty *.*
recursive-include cheatsheet *.*
global-exclude *.pyc

recursive-include tests *.py
graft tests/test-data
Loading