Commit 59215a0706517dc63811870d561e92d4c2fe4328

Authored by Sébastien Larinier
1 parent ae46dbd0

fixed olevba if vba_code is TEXT

oletools/olevba.py
@@ -2433,6 +2433,8 @@ class VBA_Parser(object): @@ -2433,6 +2433,8 @@ class VBA_Parser(object):
2433 """ 2433 """
2434 log.info('Opening text file %s' % self.filename) 2434 log.info('Opening text file %s' % self.filename)
2435 # directly store the source code: 2435 # directly store the source code:
  2436 + if isinstance(data,bytes):
  2437 + data=data.decode('utf8','replace')
2436 self.vba_code_all_modules = data 2438 self.vba_code_all_modules = data
2437 self.contains_macros = True 2439 self.contains_macros = True
2438 # set type only if parsing succeeds 2440 # set type only if parsing succeeds
@@ -2943,7 +2945,9 @@ class VBA_Parser_CLI(VBA_Parser): @@ -2943,7 +2945,9 @@ class VBA_Parser_CLI(VBA_Parser):
2943 for (subfilename, stream_path, vba_filename, vba_code) in self.extract_all_macros(): 2945 for (subfilename, stream_path, vba_filename, vba_code) in self.extract_all_macros():
2944 if hide_attributes: 2946 if hide_attributes:
2945 # hide attribute lines: 2947 # hide attribute lines:
2946 - vba_code_filtered = filter_vba(vba_code.decode('utf-8','replace')) 2948 + if isinstance(vba_code,bytes):
  2949 + vba_code =vba_code.decode('utf-8','replace')
  2950 + vba_code_filtered = filter_vba(vba_code)
2947 else: 2951 else:
2948 vba_code_filtered = vba_code 2952 vba_code_filtered = vba_code
2949 print('-' * 79) 2953 print('-' * 79)
oletools/thirdparty/olefile/olefile2.py
@@ -1004,7 +1004,7 @@ class OleFileIO: @@ -1004,7 +1004,7 @@ class OleFileIO:
1004 TIFF files). 1004 TIFF files).
1005 """ 1005 """
1006 1006
1007 - def __init__(self, filename = None, raise_defects=DEFECT_FATAL): 1007 + def __init__(self, filename = None, raise_defects=DEFECT_FATAL):
1008 """ 1008 """
1009 Constructor for OleFileIO class. 1009 Constructor for OleFileIO class.
1010 1010