diff options
| author | Peter LaFosse <peter@vector35.com> | 2021-11-29 09:23:53 -0500 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2021-11-29 11:39:13 -0500 |
| commit | bbf4d616ebdec77538832c1353b8e200a1ad9bbf (patch) | |
| tree | 9e9562c4538841753ad601a359bc8960842a5bfe /python/binaryview.py | |
| parent | 38a232121c233225860fec8fa929ebeb555dad88 (diff) | |
Better handling of symbols whose raw names are obfuscated
Diffstat (limited to 'python/binaryview.py')
| -rw-r--r-- | python/binaryview.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/python/binaryview.py b/python/binaryview.py index a931ee0b..eda67c03 100644 --- a/python/binaryview.py +++ b/python/binaryview.py @@ -1287,7 +1287,7 @@ class SymbolMapping(collections.abc.Mapping): # type: ignore def __init__(self, view:'BinaryView'): self._symbol_list = None self._count = None - self._symbol_cache:Optional[Mapping[str, List[_types.CoreSymbol]]] = None + self._symbol_cache:Optional[Mapping[bytes, List[_types.CoreSymbol]]] = None self._view = view self._n = 0 @@ -1317,7 +1317,10 @@ class SymbolMapping(collections.abc.Mapping): # type: ignore _handle = core.BNNewSymbolReference(self._symbol_list[i]) assert _handle is not None, "core.BNNewSymbolReference returned None" sym = _types.CoreSymbol(_handle) - self._symbol_cache[sym.raw_name].append(sym) + try: + self._symbol_cache[sym.raw_name].append(sym) + except UnicodeDecodeError: + self._symbol_cache[sym.raw_bytes].append(sym) def __iter__(self): if self._symbol_cache is None: |
