From 852c60d990812f1137334667396a628df8fffba8 Mon Sep 17 00:00:00 2001 From: David Bors Date: Wed, 8 Mar 2023 08:32:03 +0200 Subject: [PATCH] WIP --- reverse-sandbox/reverse_sandbox.py | 2 +- reverse-sandbox/reverse_string.py | 21 ++++++++++++++------- reverse-sandbox/sandbox_filter.py | 4 ++-- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/reverse-sandbox/reverse_sandbox.py b/reverse-sandbox/reverse_sandbox.py index 6543e1e..323c0f1 100644 --- a/reverse-sandbox/reverse_sandbox.py +++ b/reverse-sandbox/reverse_sandbox.py @@ -216,7 +216,7 @@ def get_global_vars(f, vars_offset, num_vars, base_offset): len = struct.unpack("= 0x10 and b < 0x3f: - rss.token = "${" + global_vars[b-0x10] + "}" + rss.token = b"${" + global_vars[b-0x10] + b"}" b = rss.get_next_byte() rss.update_state(b) elif rss.state == rss.STATE_CONCAT_BYTE_READ: @@ -335,7 +342,7 @@ def parse_byte_string(self, s, global_vars): logger.warn("last state is not STATE_END_BYTE_READ ({:d})".format(rss.state)) logger.warn("previous state ({:d})".format(rss.state_stack[len(rss.state_stack)-1])) - logger.info("initial string: " + " ".join("0x{:02x}".format(ord(c)) for c in s)) + logger.info("initial string: " + " ".join("0x{:02x}".format(c) for c in s)) logger.info("output_strings (num: {:d}): {:s}".format(len(rss.output_strings), ",".join('"{:s}"'.format(s) for s in rss.output_strings))) return rss.output_strings diff --git a/reverse-sandbox/sandbox_filter.py b/reverse-sandbox/sandbox_filter.py index 1df0f12..e5d7cb2 100644 --- a/reverse-sandbox/sandbox_filter.py +++ b/reverse-sandbox/sandbox_filter.py @@ -37,7 +37,7 @@ def get_filter_arg_string_by_offset(f, offset): if ios_major_version >= 10: f.seek(offset * 8) s = f.read(4+len) - logger.info("binary string is " + s.encode("hex")) + logger.info("binary string is " + s.hex()) ss = reverse_string.SandboxString() myss = ss.parse_byte_string(s[4:], global_vars) actual_string = "" @@ -72,7 +72,7 @@ def get_filter_arg_string_by_offset_with_type(f, offset): if ios_major_version >= 10: f.seek(base_addr + offset * 8) s = f.read(4+len) - logger.info("binary string is " + s.encode("hex")) + logger.info("binary string is " + s.hex()) ss = reverse_string.SandboxString() myss = ss.parse_byte_string(s[4:], global_vars) append = "literal"