From a3da0245598e94598e37a347e50aaba3cc5049bb Mon Sep 17 00:00:00 2001 From: Alex Date: Tue, 18 Aug 2020 11:55:15 -0400 Subject: [PATCH] Helper.py: Fix error when get_array_element returns int. --- HexRaysPyTools/core/helper.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/HexRaysPyTools/core/helper.py b/HexRaysPyTools/core/helper.py index 20275d3..055305a 100644 --- a/HexRaysPyTools/core/helper.py +++ b/HexRaysPyTools/core/helper.py @@ -337,7 +337,12 @@ def load_long_str_from_idb(array_name): if id == -1: return None max_idx = idc.get_last_index(idc.AR_STR, id) - result = [idc.get_array_element(idc.AR_STR, id, idx) for idx in range(max_idx + 1)] + result = [] + for idx in range(max_idx + 1): + e = idc.get_array_element(idc.AR_STR, id, idx) + if type(e) == int: + e = e.to_bytes((e.bit_length() + 7) // 8, 'little') + result.append(e) return b"".join(result).decode("utf-8") def create_padding_udt_member(offset, size):