ghidra: update extensions
This commit is contained in:
parent
08ca2a385e
commit
4e666a5da8
|
@ -3,26 +3,23 @@
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
buildGhidraExtension,
|
buildGhidraExtension,
|
||||||
}:
|
}:
|
||||||
let
|
buildGhidraExtension (finalAttrs: {
|
||||||
version = "3.0.5";
|
|
||||||
in
|
|
||||||
buildGhidraExtension {
|
|
||||||
pname = "findcrypt";
|
pname = "findcrypt";
|
||||||
inherit version;
|
version = "3.1.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "antoniovazquezblanco";
|
owner = "antoniovazquezblanco";
|
||||||
repo = "GhidraFindcrypt";
|
repo = "GhidraFindcrypt";
|
||||||
rev = "v${version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-gWVYy+PWpNXlcgD83jap4IFRv66qdhloOwvpQVU2TcI=";
|
hash = "sha256-KP6Wx2U8O/37yEAcV3abKg/uWraHJJOIfb7kvcfejHA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Ghidra analysis plugin to locate cryptographic constants";
|
description = "Ghidra analysis plugin to locate cryptographic constants";
|
||||||
homepage = "https://github.com/antoniovazquezblanco/GhidraFindcrypt";
|
homepage = "https://github.com/antoniovazquezblanco/GhidraFindcrypt";
|
||||||
downloadPage = "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${version}";
|
changelog = "https://github.com/antoniovazquezblanco/GhidraFindcrypt/releases/tag/v${finalAttrs.version}";
|
||||||
license = lib.licenses.gpl3;
|
license = lib.licenses.gpl3;
|
||||||
maintainers = [ lib.maintainers.BonusPlay ];
|
maintainers = [ lib.maintainers.BonusPlay ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -4,40 +4,36 @@
|
||||||
gradle,
|
gradle,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
}:
|
}:
|
||||||
let
|
ghidra.buildGhidraExtension (finalAttrs: {
|
||||||
|
pname = "ghidra-delinker-extension";
|
||||||
version = "0.5.1";
|
version = "0.5.1";
|
||||||
self = ghidra.buildGhidraExtension {
|
|
||||||
pname = "ghidra-delinker-extension";
|
|
||||||
inherit version;
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "boricj";
|
owner = "boricj";
|
||||||
repo = "ghidra-delinker-extension";
|
repo = "ghidra-delinker-extension";
|
||||||
rev = "v${version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-h6F50Z7S6tPOl9mIhChLKoFxHuAkq/n36ysUEFwWGxI=";
|
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;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
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;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|
|
@ -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 ];
|
||||||
|
};
|
||||||
|
})
|
|
@ -3,22 +3,22 @@
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
buildGhidraExtension,
|
buildGhidraExtension,
|
||||||
}:
|
}:
|
||||||
buildGhidraExtension rec {
|
buildGhidraExtension (finalAttrs: {
|
||||||
pname = "Ghidra-GolangAnalyzerExtension";
|
pname = "Ghidra-GolangAnalyzerExtension";
|
||||||
version = "1.2.4";
|
version = "1.2.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mooncat-greenpy";
|
owner = "mooncat-greenpy";
|
||||||
repo = "Ghidra_GolangAnalyzerExtension";
|
repo = "Ghidra_GolangAnalyzerExtension";
|
||||||
rev = version;
|
rev = finalAttrs.version;
|
||||||
hash = "sha256-uxozIJ+BLcP1vBnLOCZD9ueY10hd37fON/Miii3zabo=";
|
hash = "sha256-uxozIJ+BLcP1vBnLOCZD9ueY10hd37fON/Miii3zabo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Facilitates the analysis of Golang binaries using Ghidra";
|
description = "Facilitates the analysis of Golang binaries using Ghidra";
|
||||||
homepage = "https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension";
|
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;
|
license = lib.licenses.mit;
|
||||||
maintainers = [ lib.maintainers.ivyfanchiang ];
|
maintainers = [ lib.maintainers.ivyfanchiang ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -42,7 +42,8 @@ buildGhidraExtension {
|
||||||
bison
|
bison
|
||||||
texinfo
|
texinfo
|
||||||
perl
|
perl
|
||||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ];
|
]
|
||||||
|
++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ];
|
||||||
|
|
||||||
buildInputs = [ zlib ];
|
buildInputs = [ zlib ];
|
||||||
gradleBuildTask = "assemble";
|
gradleBuildTask = "assemble";
|
||||||
|
|
|
@ -24,15 +24,15 @@ let
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
self = buildGhidraExtension rec {
|
self = buildGhidraExtension (finalAttrs: {
|
||||||
pname = "kaiju";
|
pname = "kaiju";
|
||||||
version = "250417";
|
version = "250828";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "CERTCC";
|
owner = "CERTCC";
|
||||||
repo = "kaiju";
|
repo = "kaiju";
|
||||||
rev = version;
|
rev = finalAttrs.version;
|
||||||
hash = "sha256-SSvCb3xnOh0mb3H24RJTi11UmN2ARgFgsiiKlZXyufM=";
|
hash = "sha256-edsQIBoOTY+WxVBtH1bbM7TZZHhA0jgVb2iJKC66iVM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -43,9 +43,9 @@ let
|
||||||
# https://github.com/CERTCC/kaiju/blob/c9dbb55484b3d2a6abd9dfca2197cd00fb7ee3c1/build.gradle#L189
|
# https://github.com/CERTCC/kaiju/blob/c9dbb55484b3d2a6abd9dfca2197cd00fb7ee3c1/build.gradle#L189
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
mkdir -p build/cmake/z3/java-bindings
|
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}
|
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" ];
|
gradleFlags = [ "-PKAIJU_SKIP_Z3_BUILD=true" ];
|
||||||
|
@ -56,9 +56,9 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
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";
|
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;
|
license = lib.licenses.bsd3;
|
||||||
maintainers = [ lib.maintainers.ivyfanchiang ];
|
maintainers = [ lib.maintainers.ivyfanchiang ];
|
||||||
platforms = [
|
platforms = [
|
||||||
|
@ -68,6 +68,6 @@ let
|
||||||
"aarch64-darwin"
|
"aarch64-darwin"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
});
|
||||||
in
|
in
|
||||||
self
|
self
|
||||||
|
|
|
@ -3,22 +3,22 @@
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
buildGhidraExtension,
|
buildGhidraExtension,
|
||||||
}:
|
}:
|
||||||
buildGhidraExtension rec {
|
buildGhidraExtension (finalAttrs: {
|
||||||
pname = "lightkeeper";
|
pname = "lightkeeper";
|
||||||
version = "1.2.4";
|
version = "1.2.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "WorksButNotTested";
|
owner = "WorksButNotTested";
|
||||||
repo = "lightkeeper";
|
repo = "lightkeeper";
|
||||||
rev = version;
|
rev = finalAttrs.version;
|
||||||
hash = "sha256-aGMWg6VQleKH/txlxpSw19QOotWZSqeW5Ve2SpWGhgA=";
|
hash = "sha256-aGMWg6VQleKH/txlxpSw19QOotWZSqeW5Ve2SpWGhgA=";
|
||||||
};
|
};
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
cd lightkeeper
|
cd lightkeeper
|
||||||
'';
|
'';
|
||||||
meta = {
|
meta = {
|
||||||
description = "A port of the Lighthouse plugin to GHIDRA.";
|
description = "Port of the Lighthouse plugin to GHIDRA";
|
||||||
homepage = "https://github.com/WorksButNotTested/lightkeeper";
|
homepage = "https://github.com/WorksButNotTested/lightkeeper";
|
||||||
license = lib.licenses.asl20;
|
license = lib.licenses.asl20;
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -5,18 +5,15 @@
|
||||||
ghidra,
|
ghidra,
|
||||||
ant,
|
ant,
|
||||||
}:
|
}:
|
||||||
let
|
buildGhidraExtension (finalAttrs: {
|
||||||
version = "2.3.1";
|
|
||||||
in
|
|
||||||
buildGhidraExtension {
|
|
||||||
pname = "wasm";
|
pname = "wasm";
|
||||||
inherit version;
|
version = "2.3.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nneonneo";
|
owner = "nneonneo";
|
||||||
repo = "ghidra-wasm-plugin";
|
repo = "ghidra-wasm-plugin";
|
||||||
rev = "v${version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-aoSMNzv+TgydiXM4CbvAyu/YsxmdZPvpkZkYEE3C+V4=";
|
hash = "sha256-JFUPhh4WUcfxYow3kLMyva1Ni/cQBIit983o/KbbKps=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ ant ];
|
nativeBuildInputs = [ ant ];
|
||||||
|
@ -35,9 +32,9 @@ buildGhidraExtension {
|
||||||
meta = {
|
meta = {
|
||||||
description = "Ghidra Wasm plugin with disassembly and decompilation support";
|
description = "Ghidra Wasm plugin with disassembly and decompilation support";
|
||||||
homepage = "https://github.com/nneonneo/ghidra-wasm-plugin";
|
homepage = "https://github.com/nneonneo/ghidra-wasm-plugin";
|
||||||
downloadPage = "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${version}";
|
changelog = "https://github.com/nneonneo/ghidra-wasm-plugin/releases/tag/v${finalAttrs.version}";
|
||||||
license = lib.licenses.gpl3;
|
license = lib.licenses.gpl3;
|
||||||
maintainers = [ lib.maintainers.BonusPlay ];
|
maintainers = [ lib.maintainers.BonusPlay ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
Loading…
Reference in New Issue