diff options
Diffstat (limited to 'pkgs/development/python-modules/miasm/0002-core-remove-IDAPython-dependency.patch')
-rw-r--r-- | pkgs/development/python-modules/miasm/0002-core-remove-IDAPython-dependency.patch | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/miasm/0002-core-remove-IDAPython-dependency.patch b/pkgs/development/python-modules/miasm/0002-core-remove-IDAPython-dependency.patch new file mode 100644 index 0000000000000..20262d8102b10 --- /dev/null +++ b/pkgs/development/python-modules/miasm/0002-core-remove-IDAPython-dependency.patch @@ -0,0 +1,65 @@ +From fd2a6b2899c8b836a086b43ec9ebccf726f71ec4 Mon Sep 17 00:00:00 2001 +From: Moritz Sanft <58110325+msanft@users.noreply.github.com> +Date: Sat, 11 May 2024 11:04:19 +0200 +Subject: [PATCH] core: remove IDAPython dependency + +Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com> +--- + miasm/core/bin_stream_ida.py | 45 ------------------------------------ + 1 file changed, 45 deletions(-) + delete mode 100644 miasm/core/bin_stream_ida.py + +diff --git a/miasm/core/bin_stream_ida.py b/miasm/core/bin_stream_ida.py +deleted file mode 100644 +index 15bd9d8b..00000000 +--- a/miasm/core/bin_stream_ida.py ++++ /dev/null +@@ -1,45 +0,0 @@ +-from builtins import range +-from idc import get_wide_byte, get_segm_end +-from idautils import Segments +-from idaapi import is_mapped +- +-from miasm.core.utils import int_to_byte +-from miasm.core.bin_stream import bin_stream_str +- +- +-class bin_stream_ida(bin_stream_str): +- """ +- bin_stream implementation for IDA +- +- Don't generate xrange using address computation: +- It can raise error on overflow 7FFFFFFF with 32 bit python +- """ +- def _getbytes(self, start, l=1): +- out = [] +- for ad in range(l): +- offset = ad + start + self.base_address +- if not is_mapped(offset): +- raise IOError(f"not enough bytes @ offset {offset:x}") +- out.append(int_to_byte(get_wide_byte(offset))) +- return b''.join(out) +- +- def readbs(self, l=1): +- if self.offset + l > self.l: +- raise IOError("not enough bytes") +- content = self.getbytes(self.offset) +- self.offset += l +- return content +- +- def __str__(self): +- raise NotImplementedError('Not fully functional') +- +- def setoffset(self, val): +- self.offset = val +- +- def getlen(self): +- # Lazy version +- if hasattr(self, "_getlen"): +- return self._getlen +- max_addr = get_segm_end(list(Segments())[-1] - (self.offset - self.base_address)) +- self._getlen = max_addr +- return max_addr +-- +2.44.0 + |