Loading pkgs/development/python-modules/miasm/0001-setup.py-use-valid-semver.patch 0 → 100644 +26 −0 Original line number Diff line number Diff line From c85780ce97798f332d627bd44cbbfa19c9ea565e Mon Sep 17 00:00:00 2001 From: Moritz Sanft <58110325+msanft@users.noreply.github.com> Date: Sat, 11 May 2024 11:03:34 +0200 Subject: [PATCH] setup.py: use valid semver Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com> --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index e1e54434..98e29fee 100644 --- a/setup.py +++ b/setup.py @@ -314,7 +314,7 @@ def build_all(): try: s = setup( name = "miasm", - version = __import__("miasm").VERSION, + version = "v0.0.0", packages = packages, data_files=[("", ["README.md"])], package_data = { -- 2.44.0 pkgs/development/python-modules/miasm/0002-core-remove-IDAPython-dependency.patch 0 → 100644 +65 −0 Original line number Diff line number Diff line 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 pkgs/development/python-modules/miasm/default.nix 0 → 100644 +58 −0 Original line number Diff line number Diff line { buildPythonPackage , fetchFromGitHub , lib , future , gcc , llvmlite , parameterized , pycparser , pyparsing , z3-solver , setuptools }: let commit = "90dc1671b59077ee27c3d44d9d536d6659eb3bbe"; in buildPythonPackage rec { pname = "miasm"; version = "0.1.5-unstable-2024-04-28"; pyproject = true; build-system = [ setuptools ]; src = fetchFromGitHub { owner = "cea-sec"; repo = "miasm"; rev = commit; hash = "sha256-nkRcirJLmTwSL7lwd+Yk6mteU3YPnm5ekJ4eFF5FmYo="; }; patches = [ # Use a valid semver as now required by setuptools ./0001-setup.py-use-valid-semver.patch # Removes the (unfree) IDAPython dependency ./0002-core-remove-IDAPython-dependency.patch ]; dependencies = [ future llvmlite parameterized pycparser pyparsing z3-solver ]; buildInputs = [ gcc ]; pythonImportsCheck = [ "miasm" ]; meta = { description = "Reverse engineering framework in Python"; homepage = "https://github.com/cea-sec/miasm"; changelog = "https://github.com/cea-sec/miasm/blob/${commit}/CHANGELOG.md"; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ msanft ]; }; } pkgs/top-level/python-packages.nix +2 −0 Original line number Diff line number Diff line Loading @@ -7406,6 +7406,8 @@ self: super: with self; { mhcgnomes = callPackage ../development/python-modules/mhcgnomes { }; miasm = callPackage ../development/python-modules/miasm { }; miauth = callPackage ../development/python-modules/miauth { }; micawber = callPackage ../development/python-modules/micawber { }; Loading Loading
pkgs/development/python-modules/miasm/0001-setup.py-use-valid-semver.patch 0 → 100644 +26 −0 Original line number Diff line number Diff line From c85780ce97798f332d627bd44cbbfa19c9ea565e Mon Sep 17 00:00:00 2001 From: Moritz Sanft <58110325+msanft@users.noreply.github.com> Date: Sat, 11 May 2024 11:03:34 +0200 Subject: [PATCH] setup.py: use valid semver Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com> --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index e1e54434..98e29fee 100644 --- a/setup.py +++ b/setup.py @@ -314,7 +314,7 @@ def build_all(): try: s = setup( name = "miasm", - version = __import__("miasm").VERSION, + version = "v0.0.0", packages = packages, data_files=[("", ["README.md"])], package_data = { -- 2.44.0
pkgs/development/python-modules/miasm/0002-core-remove-IDAPython-dependency.patch 0 → 100644 +65 −0 Original line number Diff line number Diff line 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
pkgs/development/python-modules/miasm/default.nix 0 → 100644 +58 −0 Original line number Diff line number Diff line { buildPythonPackage , fetchFromGitHub , lib , future , gcc , llvmlite , parameterized , pycparser , pyparsing , z3-solver , setuptools }: let commit = "90dc1671b59077ee27c3d44d9d536d6659eb3bbe"; in buildPythonPackage rec { pname = "miasm"; version = "0.1.5-unstable-2024-04-28"; pyproject = true; build-system = [ setuptools ]; src = fetchFromGitHub { owner = "cea-sec"; repo = "miasm"; rev = commit; hash = "sha256-nkRcirJLmTwSL7lwd+Yk6mteU3YPnm5ekJ4eFF5FmYo="; }; patches = [ # Use a valid semver as now required by setuptools ./0001-setup.py-use-valid-semver.patch # Removes the (unfree) IDAPython dependency ./0002-core-remove-IDAPython-dependency.patch ]; dependencies = [ future llvmlite parameterized pycparser pyparsing z3-solver ]; buildInputs = [ gcc ]; pythonImportsCheck = [ "miasm" ]; meta = { description = "Reverse engineering framework in Python"; homepage = "https://github.com/cea-sec/miasm"; changelog = "https://github.com/cea-sec/miasm/blob/${commit}/CHANGELOG.md"; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ msanft ]; }; }
pkgs/top-level/python-packages.nix +2 −0 Original line number Diff line number Diff line Loading @@ -7406,6 +7406,8 @@ self: super: with self; { mhcgnomes = callPackage ../development/python-modules/mhcgnomes { }; miasm = callPackage ../development/python-modules/miasm { }; miauth = callPackage ../development/python-modules/miauth { }; micawber = callPackage ../development/python-modules/micawber { }; Loading