From b72d4eb3cebfc8cb4ec0ec55dbb7cd80b330969d Mon Sep 17 00:00:00 2001 From: vringar Date: Wed, 29 May 2024 18:16:19 +0200 Subject: [PATCH] ghidra-extensions.ret-sync: init at unstable-2024-05-29 --- pkgs/tools/security/ghidra/extensions.nix | 2 ++ .../ghidra/extensions/ret-sync/default.nix | 32 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/tools/security/ghidra/extensions/ret-sync/default.nix diff --git a/pkgs/tools/security/ghidra/extensions.nix b/pkgs/tools/security/ghidra/extensions.nix index 3f30dd8ab40a..8e31989893b8 100644 --- a/pkgs/tools/security/ghidra/extensions.nix +++ b/pkgs/tools/security/ghidra/extensions.nix @@ -9,6 +9,8 @@ lib.makeScope newScope (self: { machinelearning = self.callPackage ./extensions/machinelearning { inherit ghidra; }; + ret-sync = self.callPackage ./extensions/ret-sync { }; + sleighdevtools = self.callPackage ./extensions/sleighdevtools { inherit ghidra; }; }) diff --git a/pkgs/tools/security/ghidra/extensions/ret-sync/default.nix b/pkgs/tools/security/ghidra/extensions/ret-sync/default.nix new file mode 100644 index 000000000000..e2ab50c119c1 --- /dev/null +++ b/pkgs/tools/security/ghidra/extensions/ret-sync/default.nix @@ -0,0 +1,32 @@ +{ + lib, + fetchFromGitHub, + buildGhidraExtension, + ghidra, +}: +buildGhidraExtension { + pname = "ret-sync-ghidra"; + version = "0-unstable-2024-05-29"; + + src = fetchFromGitHub { + owner = "bootleg"; + repo = "ret-sync"; + rev = "0617c75746ddde7fe2bdbbf880175af8ad27553e"; + hash = "sha256-+G5ccdHnFL0sHpueuIYwLRU9FhzN658CYqQCHCBwxV4="; + }; + + preConfigure = '' + cd ext_ghidra + ''; + preInstall = '' + correct_version=$(ls dist | grep ${ghidra.version}) + mv dist/$correct_version dist/safe.zip + rm dist/ghidra* + mv dist/safe.zip dist/$correct_version + ''; + meta = with lib; { + description = "Reverse-Engineering Tools SYNChronization. Allows syncing between a debugging session and Ghidra"; + homepage = "https://github.com/bootleg/ret-sync"; + license = licenses.gpl3Only; + }; +}