diff --git a/pkgs/reverse-engineering/ghidra/extensions/findcrypt/default.nix b/pkgs/reverse-engineering/ghidra/extensions/findcrypt/default.nix index 37d5148..a2eefc9 100644 --- a/pkgs/reverse-engineering/ghidra/extensions/findcrypt/default.nix +++ b/pkgs/reverse-engineering/ghidra/extensions/findcrypt/default.nix @@ -3,26 +3,23 @@ fetchFromGitHub, buildGhidraExtension, }: -let - version = "3.0.5"; -in -buildGhidraExtension { +buildGhidraExtension (finalAttrs: { pname = "findcrypt"; - inherit version; + version = "3.1.2"; src = fetchFromGitHub { owner = "antoniovazquezblanco"; repo = "GhidraFindcrypt"; - rev = "v${version}"; - hash = "sha256-gWVYy+PWpNXlcgD83jap4IFRv66qdhloOwvpQVU2TcI="; + rev = "v${finalAttrs.version}"; + hash = "sha256-KP6Wx2U8O/37yEAcV3abKg/uWraHJJOIfb7kvcfejHA="; }; meta = { description = "Ghidra analysis plugin to locate cryptographic constants"; homepage = "https://github.com/antoniovazquezblanco/GhidraFindcrypt"; - downloadPage = "https://github.com/antoniovazquezblanco/GhidraFindcrypt/releases/tag/v${version}"; - changelog = "https://github.com/antoniovazquezblanco/GhidraFindcrypt/releases/tag/v${version}"; + downloadPage = "https://github.com/antoniovazquezblanco/GhidraFindcrypt/releases/tag/v${finalAttrs.version}"; + changelog = "https://github.com/antoniovazquezblanco/GhidraFindcrypt/releases/tag/v${finalAttrs.version}"; license = lib.licenses.gpl3; maintainers = [ lib.maintainers.BonusPlay ]; }; -} +}) diff --git a/pkgs/reverse-engineering/ghidra/extensions/ghidra-delinker-extension/default.nix b/pkgs/reverse-engineering/ghidra/extensions/ghidra-delinker-extension/default.nix index 22b53b6..6d94bc2 100644 --- a/pkgs/reverse-engineering/ghidra/extensions/ghidra-delinker-extension/default.nix +++ b/pkgs/reverse-engineering/ghidra/extensions/ghidra-delinker-extension/default.nix @@ -4,40 +4,36 @@ gradle, fetchFromGitHub, }: -let +ghidra.buildGhidraExtension (finalAttrs: { + pname = "ghidra-delinker-extension"; version = "0.5.1"; - self = ghidra.buildGhidraExtension { - pname = "ghidra-delinker-extension"; - inherit version; - src = fetchFromGitHub { - owner = "boricj"; - repo = "ghidra-delinker-extension"; - rev = "v${version}"; - hash = "sha256-h6F50Z7S6tPOl9mIhChLKoFxHuAkq/n36ysUEFwWGxI="; - }; - - postPatch = '' - substituteInPlace build.gradle \ - --replace-fail '"''${getGitHash()}"' '"v${version}"' - ''; - - gradleBuildTask = "buildExtension"; - - __darwinAllowLocalNetworking = true; - - mitmCache = gradle.fetchDeps { - pkg = self; - data = ./deps.json; - }; - - meta = { - description = "Ghidra extension for delinking executables back to object files"; - homepage = "https://github.com/boricj/ghidra-delinker-extension"; - license = lib.licenses.asl20; - maintainers = [ lib.maintainers.jchw ]; - platforms = lib.platforms.unix; - }; + src = fetchFromGitHub { + owner = "boricj"; + repo = "ghidra-delinker-extension"; + rev = "v${finalAttrs.version}"; + hash = "sha256-h6F50Z7S6tPOl9mIhChLKoFxHuAkq/n36ysUEFwWGxI="; }; -in -self + + postPatch = '' + substituteInPlace build.gradle \ + --replace-fail '"''${getGitHash()}"' '"v${finalAttrs.version}"' + ''; + + gradleBuildTask = "buildExtension"; + + __darwinAllowLocalNetworking = true; + + mitmCache = gradle.fetchDeps { + pkg = finalAttrs.finalPackage; + data = ./deps.json; + }; + + meta = { + description = "Ghidra extension for delinking executables back to object files"; + homepage = "https://github.com/boricj/ghidra-delinker-extension"; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.jchw ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/reverse-engineering/ghidra/extensions/ghidra-firmware-utils/default.nix b/pkgs/reverse-engineering/ghidra/extensions/ghidra-firmware-utils/default.nix new file mode 100644 index 0000000..c201816 --- /dev/null +++ b/pkgs/reverse-engineering/ghidra/extensions/ghidra-firmware-utils/default.nix @@ -0,0 +1,24 @@ +{ + buildGhidraExtension, + fetchFromGitHub, + lib, +}: +buildGhidraExtension (finalAttrs: { + pname = "ghidra-firmware-utils"; + version = "2024.04.20"; + + src = fetchFromGitHub { + owner = "al3xtjames"; + repo = "ghidra-firmware-utils"; + rev = finalAttrs.version; + hash = "sha256-BbPRSD1EzgMA3TCKHyNqLjzEgiOm67mLJuOeFOTvd0I="; + }; + + meta = { + description = "Ghidra utilities for analyzing PC firmware"; + homepage = "https://github.com/al3xtjames/ghidra-firmware-utils"; + downloadPage = "https://github.com/al3xtjames/ghidra-firmware-utils/releases/tag/${finalAttrs.version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ timschumi ]; + }; +}) diff --git a/pkgs/reverse-engineering/ghidra/extensions/ghidra-golanganalyzerextension/default.nix b/pkgs/reverse-engineering/ghidra/extensions/ghidra-golanganalyzerextension/default.nix index 34baf6c..7818d1c 100644 --- a/pkgs/reverse-engineering/ghidra/extensions/ghidra-golanganalyzerextension/default.nix +++ b/pkgs/reverse-engineering/ghidra/extensions/ghidra-golanganalyzerextension/default.nix @@ -3,22 +3,22 @@ fetchFromGitHub, buildGhidraExtension, }: -buildGhidraExtension rec { +buildGhidraExtension (finalAttrs: { pname = "Ghidra-GolangAnalyzerExtension"; version = "1.2.4"; src = fetchFromGitHub { owner = "mooncat-greenpy"; repo = "Ghidra_GolangAnalyzerExtension"; - rev = version; + rev = finalAttrs.version; hash = "sha256-uxozIJ+BLcP1vBnLOCZD9ueY10hd37fON/Miii3zabo="; }; meta = { description = "Facilitates the analysis of Golang binaries using Ghidra"; homepage = "https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension"; - downloadPage = "https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension/releases/tag/${version}"; + downloadPage = "https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension/releases/tag/${finalAttrs.version}"; license = lib.licenses.mit; maintainers = [ lib.maintainers.ivyfanchiang ]; }; -} +}) diff --git a/pkgs/reverse-engineering/ghidra/extensions/gnudisassembler/default.nix b/pkgs/reverse-engineering/ghidra/extensions/gnudisassembler/default.nix index 6cddb49..07c0498 100644 --- a/pkgs/reverse-engineering/ghidra/extensions/gnudisassembler/default.nix +++ b/pkgs/reverse-engineering/ghidra/extensions/gnudisassembler/default.nix @@ -42,7 +42,8 @@ buildGhidraExtension { bison texinfo perl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ]; + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ]; buildInputs = [ zlib ]; gradleBuildTask = "assemble"; diff --git a/pkgs/reverse-engineering/ghidra/extensions/kaiju/default.nix b/pkgs/reverse-engineering/ghidra/extensions/kaiju/default.nix index 4987ec3..c01f642 100644 --- a/pkgs/reverse-engineering/ghidra/extensions/kaiju/default.nix +++ b/pkgs/reverse-engineering/ghidra/extensions/kaiju/default.nix @@ -24,15 +24,15 @@ let } ); - self = buildGhidraExtension rec { + self = buildGhidraExtension (finalAttrs: { pname = "kaiju"; - version = "250417"; + version = "250828"; src = fetchFromGitHub { owner = "CERTCC"; repo = "kaiju"; - rev = version; - hash = "sha256-SSvCb3xnOh0mb3H24RJTi11UmN2ARgFgsiiKlZXyufM="; + rev = finalAttrs.version; + hash = "sha256-edsQIBoOTY+WxVBtH1bbM7TZZHhA0jgVb2iJKC66iVM="; }; buildInputs = [ @@ -43,9 +43,9 @@ let # https://github.com/CERTCC/kaiju/blob/c9dbb55484b3d2a6abd9dfca2197cd00fb7ee3c1/build.gradle#L189 preBuild = '' mkdir -p build/cmake/z3/java-bindings - ln -s ${lib.getOutput "lib" z3_lib}/lib/com.microsoft.z3.jar build/cmake/z3/java-bindings + ln -s ${lib.getOutput "java" z3_lib}/share/java/com.microsoft.z3.jar build/cmake/z3/java-bindings mkdir -p os/${ghidraPlatformName} - cp ${lib.getOutput "lib" z3_lib}/lib/* os/${ghidraPlatformName} + cp ${lib.getOutput "java" z3_lib}/lib/* os/${ghidraPlatformName} ''; gradleFlags = [ "-PKAIJU_SKIP_Z3_BUILD=true" ]; @@ -56,9 +56,9 @@ let }; meta = { - description = "A Java implementation of some features of the CERT Pharos Binary Analysis Framework for Ghidra"; + description = "Java implementation of some features of the CERT Pharos Binary Analysis Framework for Ghidra"; homepage = "https://github.com/CERTCC/kaiju"; - downloadPage = "https://github.com/CERTCC/kaiju/releases/tag/${version}"; + downloadPage = "https://github.com/CERTCC/kaiju/releases/tag/${finalAttrs.version}"; license = lib.licenses.bsd3; maintainers = [ lib.maintainers.ivyfanchiang ]; platforms = [ @@ -68,6 +68,6 @@ let "aarch64-darwin" ]; }; - }; + }); in self diff --git a/pkgs/reverse-engineering/ghidra/extensions/lightkeeper/default.nix b/pkgs/reverse-engineering/ghidra/extensions/lightkeeper/default.nix index 54d30e9..b75fb25 100644 --- a/pkgs/reverse-engineering/ghidra/extensions/lightkeeper/default.nix +++ b/pkgs/reverse-engineering/ghidra/extensions/lightkeeper/default.nix @@ -3,22 +3,22 @@ fetchFromGitHub, buildGhidraExtension, }: -buildGhidraExtension rec { +buildGhidraExtension (finalAttrs: { pname = "lightkeeper"; version = "1.2.4"; src = fetchFromGitHub { owner = "WorksButNotTested"; repo = "lightkeeper"; - rev = version; + rev = finalAttrs.version; hash = "sha256-aGMWg6VQleKH/txlxpSw19QOotWZSqeW5Ve2SpWGhgA="; }; preConfigure = '' cd lightkeeper ''; meta = { - description = "A port of the Lighthouse plugin to GHIDRA."; + description = "Port of the Lighthouse plugin to GHIDRA"; homepage = "https://github.com/WorksButNotTested/lightkeeper"; license = lib.licenses.asl20; }; -} +}) diff --git a/pkgs/reverse-engineering/ghidra/extensions/wasm/default.nix b/pkgs/reverse-engineering/ghidra/extensions/wasm/default.nix index b8c8eaf..d34e710 100644 --- a/pkgs/reverse-engineering/ghidra/extensions/wasm/default.nix +++ b/pkgs/reverse-engineering/ghidra/extensions/wasm/default.nix @@ -5,18 +5,15 @@ ghidra, ant, }: -let - version = "2.3.1"; -in -buildGhidraExtension { +buildGhidraExtension (finalAttrs: { pname = "wasm"; - inherit version; + version = "2.3.2"; src = fetchFromGitHub { owner = "nneonneo"; repo = "ghidra-wasm-plugin"; - rev = "v${version}"; - hash = "sha256-aoSMNzv+TgydiXM4CbvAyu/YsxmdZPvpkZkYEE3C+V4="; + rev = "v${finalAttrs.version}"; + hash = "sha256-JFUPhh4WUcfxYow3kLMyva1Ni/cQBIit983o/KbbKps="; }; nativeBuildInputs = [ ant ]; @@ -35,9 +32,9 @@ buildGhidraExtension { meta = { description = "Ghidra Wasm plugin with disassembly and decompilation support"; homepage = "https://github.com/nneonneo/ghidra-wasm-plugin"; - downloadPage = "https://github.com/nneonneo/ghidra-wasm-plugin/releases/tag/v${version}"; - changelog = "https://github.com/nneonneo/ghidra-wasm-plugin/releases/tag/v${version}"; + downloadPage = "https://github.com/nneonneo/ghidra-wasm-plugin/releases/tag/v${finalAttrs.version}"; + changelog = "https://github.com/nneonneo/ghidra-wasm-plugin/releases/tag/v${finalAttrs.version}"; license = lib.licenses.gpl3; maintainers = [ lib.maintainers.BonusPlay ]; }; -} +})