Commit 7665feb42a93ab170635329b7d7de01505190a8f
1 parent
b1711cc0
export json compliant python3.5
Showing
1 changed file
with
5 additions
and
5 deletions
oletools/olevba.py
| @@ -1854,19 +1854,19 @@ def json2ascii(json_obj, encoding='utf8', errors='replace'): | @@ -1854,19 +1854,19 @@ def json2ascii(json_obj, encoding='utf8', errors='replace'): | ||
| 1854 | pass | 1854 | pass |
| 1855 | elif isinstance(json_obj, str): | 1855 | elif isinstance(json_obj, str): |
| 1856 | # de-code and re-encode | 1856 | # de-code and re-encode |
| 1857 | - dencoded = json_obj.decode(encoding, errors).encode(encoding, errors) | 1857 | + dencoded = json_obj |
| 1858 | if dencoded != json_obj: | 1858 | if dencoded != json_obj: |
| 1859 | log.debug('json2ascii: replaced: {0} (len {1})' | 1859 | log.debug('json2ascii: replaced: {0} (len {1})' |
| 1860 | .format(json_obj, len(json_obj))) | 1860 | .format(json_obj, len(json_obj))) |
| 1861 | log.debug('json2ascii: with: {0} (len {1})' | 1861 | log.debug('json2ascii: with: {0} (len {1})' |
| 1862 | .format(dencoded, len(dencoded))) | 1862 | .format(dencoded, len(dencoded))) |
| 1863 | return dencoded | 1863 | return dencoded |
| 1864 | - elif isinstance(json_obj, str): | 1864 | + elif isinstance(json_obj, bytes): |
| 1865 | log.debug('json2ascii: encode unicode: {0}' | 1865 | log.debug('json2ascii: encode unicode: {0}' |
| 1866 | - .format(json_obj.encode(encoding, errors))) | 1866 | + .format(json_obj.decode(encoding, errors))) |
| 1867 | # cannot put original into logger | 1867 | # cannot put original into logger |
| 1868 | # print 'original: ' json_obj | 1868 | # print 'original: ' json_obj |
| 1869 | - return json_obj.encode(encoding, errors) | 1869 | + return json_obj.decode(encoding, errors) |
| 1870 | elif isinstance(json_obj, dict): | 1870 | elif isinstance(json_obj, dict): |
| 1871 | for key in json_obj: | 1871 | for key in json_obj: |
| 1872 | json_obj[key] = json2ascii(json_obj[key]) | 1872 | json_obj[key] = json2ascii(json_obj[key]) |
| @@ -3021,7 +3021,7 @@ class VBA_Parser_CLI(VBA_Parser): | @@ -3021,7 +3021,7 @@ class VBA_Parser_CLI(VBA_Parser): | ||
| 3021 | curr_macro = {} | 3021 | curr_macro = {} |
| 3022 | if hide_attributes: | 3022 | if hide_attributes: |
| 3023 | # hide attribute lines: | 3023 | # hide attribute lines: |
| 3024 | - vba_code_filtered = filter_vba(vba_code) | 3024 | + vba_code_filtered = filter_vba(vba_code.decode('utf-8','replace')) |
| 3025 | else: | 3025 | else: |
| 3026 | vba_code_filtered = vba_code | 3026 | vba_code_filtered = vba_code |
| 3027 | 3027 |