Commit eecabc2a586f2540efcc3aec6a6175452b6291e5

Authored by decalage2
1 parent 6a7e74cc

olevba: raise exception instead of sys.exit (issue #180)

Showing 1 changed file with 5 additions and 2 deletions
oletools/olevba.py
... ... @@ -196,8 +196,9 @@ from __future__ import print_function
196 196 # 2017-05-31 c1fe: - PR #135 fixing issue #132 for some Mac files
197 197 # 2017-06-08 PL: - fixed issue #122 Chr() with negative numbers
198 198 # 2017-06-15 PL: - deobfuscation line by line to handle large files
  199 +# 2017-07-11 v0.51.1 PL: - raise exception instead of sys.exit (issue #180)
199 200  
200   -__version__ = '0.51'
  201 +__version__ = '0.51.1dev1'
201 202  
202 203 #------------------------------------------------------------------------------
203 204 # TODO:
... ... @@ -1574,7 +1575,9 @@ def _extract_vba(ole, vba_root, project_path, dir_path, relaxed=False):
1574 1575 continue
1575 1576  
1576 1577 log.error('invalid or unknown check Id {0:04X}'.format(check))
1577   - sys.exit(0)
  1578 + # raise an exception instead of stopping abruptly (issue #180)
  1579 + raise UnexpectedDataError(dir_path, 'reference type', (0x0F, 0x16, 0x33, 0x2F, 0x0D, 0x0E), check)
  1580 + #sys.exit(0)
1578 1581  
1579 1582 projectmodules_id = check #struct.unpack("<H", dir_stream.read(2))[0]
1580 1583 check_value('PROJECTMODULES_Id', 0x000F, projectmodules_id)
... ...