Logo white

Peter M. Groen / oletools

Sign in
  • Sign in
  • Project
  • Files
  • Commits
  • Network
  • Graphs
  • Milestones
  • Issues 0
  • Merge Requests 0
  • Labels
  • Wiki
  • Commits 1,521
  • Compare
  • Branches 1
  • Tags 0
  • oletools
30 Oct, 2018
14 commits
  • tests: create unittest for oleid ...
    2966aa5d
    Checks output on all data in tests/test-data dir
    Christian Herdtweck authored
    2018-10-30 12:18:59 +0100  
    Browse Code »
  • tests: add encrypted office files to sample set ...
    d7a7c7b2
    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])
    Christian Herdtweck authored
    2018-10-30 12:18:59 +0100  
    Browse Code »
  • record_base: throw encryption error when iterating encrypted files ...
    dd498c52
    Sofar, most tools (like msodde) do not complain if file is encrypted, but
    cannot inspect it either. That gives the user a false sense of security
    which is dangerous. Raise error to make the situation clear. But only
    raise when iterating records (stream names are still reliable and useful.
    Christian Herdtweck authored
    2018-10-30 12:18:59 +0100  
    Browse Code »
  • common: make filename optional for FileIsEncryptedError ...
    002fca03
    Sometimes there just is no filename
    Christian Herdtweck authored
    2018-10-30 12:18:59 +0100  
    Browse Code »
  • xls_parser: Fixed is_xls ...
    da4a1076
    Error was probably not noticeable since None was returned which usually
    also evaluates to False
    Christian Herdtweck authored
    2018-10-30 12:18:59 +0100  
    Browse Code »
  • xls_parser: Fixed selection of Workbook Stream
    58145c2c
    Christian Herdtweck authored
    2018-10-30 12:18:59 +0100  
    Browse Code »
  • oleid: found possible code duplication in record_base, ooxml ...
    9c7571e9
    Shame on me, I did not realize when creating ooxml and record_base that
    oleid already does some of the work of basic file classification.
    
    Added comments that this should one day be remedied.
    Christian Herdtweck authored
    2018-10-30 12:18:59 +0100  
    Browse Code »
  • olevba[3]: Raise error if ole file is encrypted ...
    dbe41313
    Right now, olevba[3] does not complain at all but cannot do its job.
    That could give the user a false sense of security.
    
    Return new return code so condition can easily be tested
    Christian Herdtweck authored
    2018-10-30 12:18:59 +0100  
    Browse Code »
  • errors: create new common module for commonly used errors
    1c427ebb
    Christian Herdtweck authored
    2018-10-30 12:18:59 +0100  
    Browse Code »
  • oleid: switch to argparse
    fc50a984
    Christian Herdtweck authored
    2018-10-30 12:18:59 +0100  
    Browse Code »
  • oleid: return newly created indicators
    5ba896d5
    Christian Herdtweck authored
    2018-10-30 12:18:59 +0100  
    Browse Code »
  • oleid: Accept olefile as arg to OleID constructor ...
    89680415
    This should avoid repeated opening and parsing of the same file if oleid
    is used by other tools
    Christian Herdtweck authored
    2018-10-30 12:18:59 +0100  
    Browse Code »
  • oleid: make much more pylint compatible ...
    4a38c4f7
    - add docstrings
    - break lines at 80
    - remove irregular whitespace
    - correct bare except
    - replace extra self.encrypted and self.macros
      with helper function get_indicator
    - correct a few variable names and one function name
    - make absolute import for scripts little less hacky
    Christian Herdtweck authored
    2018-10-30 12:18:59 +0100  
    Browse Code »
  • clsid: added Microsoft Equation
    d1f2a554
    decalage2 authored
    2018-10-30 10:37:20 +0100  
    Browse Code »

27 Oct, 2018
1 commit
  • setup: fixed issue #359 (bug when importing log_helper)
    34d4e60a
    decalage2 authored
    2018-10-27 19:54:22 +0200  
    Browse Code »

20 Oct, 2018
1 commit
  • Merge pull request #333 from zerospam/fp-detect_vba_macros-attribut-string ...
    3e0699db
    Fix false-positive with detect_vba_macros
    Philippe Lagadec authored
    2018-10-20 16:43:31 +0200  
    Browse Code »

16 Oct, 2018
1 commit
  • Merge pull request #308 from christian-intra2net/central-logger-json ...
    1542df50
    Unified logging with json option
    Philippe Lagadec authored
    2018-10-16 22:55:25 +0200  
    Browse Code »

15 Oct, 2018
18 commits
  • Update imports for log_helper in tests
    911b2732
    Christian Herdtweck authored
    2018-10-15 10:42:04 +0200  
    Browse Code »
  • Rename log_helper base dir in tests
    e073ff5a
    Christian Herdtweck authored
    2018-10-15 10:41:57 +0200  
    Browse Code »
  • Update imports of log_helper
    13de6447
    Christian Herdtweck authored
    2018-10-15 10:41:34 +0200  
    Browse Code »
  • Move log_helper from "utils" to "common" ...
    a7eeca0a
    Common has been added by other commits, name is just as good as "utils"
    Christian Herdtweck authored
    2018-10-15 10:31:26 +0200  
    Browse Code »
  • msodde: use the print_str() instead
    b827e4da
    Samir Aguiar authored
    2018-10-15 10:28:03 +0200  
    Browse Code »
  • log_helper: fix tests after refactoring code
    63a70056
    Samir Aguiar authored
    2018-10-15 10:28:03 +0200  
    Browse Code »
  • log_helper: fallback to root logger ...
    d3624f1d
    The log_helper was refactored to fallback to the root logger when
    logging is enabled. Now, instead of each logger having its own
    level and handler, we reuse the level of the root logger by
    setting the level of the loggers to logging.NOTSET. We also keep
    the default propagation behavior so instead of having a custom
    handler for each logger, they will keep the NullHandler and when
    logging they will use the handler of the root logger. This also
    allowed us to set the JSON formatter only for the root logger,
    since it's the only one actually logging things.
    
    The base class for loggers was also removed because the way it
    was used it would replace the base class for every logger, which
    would affect modules importing oletools files. We now use an
    adapter that is only valid for loggers created by the log_helper.
    
    The hook for exceptions now wraps any hook previosly set instead
    of replacing it altogether and this is only done when calling
    modules as script.
    
    Finally, the log_at_current_level() function was replaced by a
    print_str() function defined in the adapter that will print
    instead of logging when not using JSON so we can keep the old
    behavior.
    Samir Aguiar authored
    2018-10-15 10:28:03 +0200  
    Browse Code »
  • log_helper: remove constructor from JSON formatter ...
    660ea766
    We only use it to initialize a field, but since it depends
    on an external module, it's better to avoid use it and
    prevent things from breaking if that changes.
    Samir Aguiar authored
    2018-10-15 10:28:03 +0200  
    Browse Code »
  • log_helper: always use get_or_create_silent_logger ...
    8c9182a7
    Oletools always use the NullHandler and a high log level,
    so there's no need for an extra function.
    Samir Aguiar authored
    2018-10-15 10:28:03 +0200  
    Browse Code »
  • log_helper: remove NullHandler class ...
    ffc71fcb
    This class was only necessary for Python 2.6, but as the support
    for that version was dropped it's not needed anymore.
    Samir Aguiar authored
    2018-10-15 10:28:03 +0200  
    Browse Code »
  • unittest: Simplify running from command line ...
    a4f86aa2
    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
    Christian Herdtweck authored
    2018-10-15 10:28:03 +0200  
    Browse Code »
  • unittest: remove OutputCapture (not needed any more) ...
    e310b9bb
    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.
    Christian Herdtweck authored
    2018-10-15 10:28:03 +0200  
    Browse Code »
  • unittest: remove json tests (are included in log tests)
    e1d931de
    Christian Herdtweck authored
    2018-10-15 10:28:03 +0200  
    Browse Code »
  • ooxml: use log helper ...
    43fc21ce
    ooxml was changed to use our custom log helper
    so that it can also output JSON messages whenever
    a caller that uses the -j flag has JSON output
    set.
    Samir Aguiar authored
    2018-10-15 10:28:03 +0200  
    Browse Code »
  • msodde: simplify unit tests ...
    6c43d28d
    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.
    Samir Aguiar authored
    2018-10-15 10:28:03 +0200  
    Browse Code »
  • msodde: use log helper ...
    6bf5b9c9
    msodde was changed to use the log helper, which adds
    better support for JSON output. Since we also changed
    ooxml, now we have full JSON output for any level
    (including debug) and for ooxml messages.
    Samir Aguiar authored
    2018-10-15 10:28:03 +0200  
    Browse Code »
  • log helper: add unit tests
    e22a452f
    Samir Aguiar authored
    2018-10-15 10:28:03 +0200  
    Browse Code »
  • add log helper ...
    fffedc77
    Adds a log helper module that can be used by all modules and
    handles logging in general, avoiding code duplication. It also
    handles JSON output formatting by logging all messages in JSON
    format, thus making it easy for modules to support the `-j` flag.
    
    The module works by overwriting the default logging class to
    extend its behavior (adding a function to always log, useful for
    banners and other stuff). The JSON format uses a special formatter
    that will output JSON from a string or a dictionary.
    Samir Aguiar authored
    2018-10-15 10:28:03 +0200  
    Browse Code »

09 Oct, 2018
2 commits
  • olevba: backspace characters are displayed in red using colorclass (issue #358)
    26b43390
    decalage2 authored
    2018-10-09 21:34:49 +0200  
    Browse Code »
  • olevba: added SUSPICIOUS_KEYWORDS_NOREGEX, backspace characters are reported as … ...
    539454c9
    …suspicious (issue #358)
    decalage2 authored
    2018-10-09 21:23:53 +0200  
    Browse Code »

08 Oct, 2018
1 commit
  • olevba: detect and replace backspace characters before printing to the console (issue #358)
    552254f1
    decalage2 authored
    2018-10-08 22:45:02 +0200  
    Browse Code »

06 Oct, 2018
2 commits
  • Merge remote-tracking branch 'origin/master'
    1fb8a986
    decalage2 authored
    2018-10-06 17:27:36 +0200  
    Browse Code »
  • colorclass is now an external dependency, obsolete copy removed from thirdparty folder
    2e7c4294
    decalage2 authored
    2018-10-06 17:25:46 +0200  
    Browse Code »