Compare commits
No commits in common. "9d42d525a8529d1d56e7eb6b52b6d79071e26a5a" and "aa8b70931cd70cb2b98e5d12677b28ef2bb18ee1" have entirely different histories.
9d42d525a8
...
aa8b70931c
|
@ -10,7 +10,7 @@ final: prev: {
|
|||
ghidra_headless = final.ghidra.lib;
|
||||
|
||||
# stuff that tracks upstream
|
||||
ghidra = final.callPackage ./pkgs/reverse-engineering/ghidra/build.nix {
|
||||
ghidra = final.callPackage ./pkgs/reverse-enginering/ghidra/build.nix {
|
||||
protobuf = final.protobuf_21;
|
||||
};
|
||||
ghidra-extensions = final.lib.recurseIntoAttrs (final.callPackage ./pkgs/reverse-engineering/ghidra/extensions.nix { });
|
||||
|
|
|
@ -65,11 +65,4 @@
|
|||
];
|
||||
|
||||
pythonImportsCheck = [ "binsync" ];
|
||||
|
||||
meta = {
|
||||
description = "Reversing plugin for cross-decompiler collaboration, built on git";
|
||||
homepage = "https://github.com/binsync/binsync";
|
||||
changelog = "https://github.com/binsync/binsync/releases/tag/${src.tag}";
|
||||
license = lib.licenses.bsd2;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -67,11 +67,4 @@
|
|||
"tests/test_decompilers.py"
|
||||
"tests/test_remote_ghidra.py"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Library for writing plugins in any decompiler: includes API lifting, common data formatting, and GUI abstraction";
|
||||
homepage = "https://github.com/binsync/libbs";
|
||||
changelog = "https://github.com/binsync/libbs/releases/tag/${src.tag}";
|
||||
license = lib.licenses.bsd2;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -21,17 +21,16 @@ let
|
|||
platforms = oldMeta.platforms or ghidra.meta.platforms;
|
||||
};
|
||||
|
||||
buildGhidraExtension = lib.extendMkDerivation {
|
||||
constructDrv = stdenv.mkDerivation;
|
||||
extendDrvArgs =
|
||||
finalAttrs:
|
||||
buildGhidraExtension =
|
||||
{
|
||||
pname,
|
||||
nativeBuildInputs ? [ ],
|
||||
meta ? { },
|
||||
...
|
||||
}@args:
|
||||
{
|
||||
stdenv.mkDerivation (
|
||||
args
|
||||
// {
|
||||
nativeBuildInputs = nativeBuildInputs ++ [
|
||||
unzip
|
||||
jdk
|
||||
|
@ -59,28 +58,22 @@ let
|
|||
mkdir -p $out/lib/ghidra/Ghidra/Extensions
|
||||
unzip -d $out/lib/ghidra/Ghidra/Extensions dist/*.zip
|
||||
|
||||
# Prevent attempted creation of plugin lock files in the Nix store.
|
||||
for i in $out/lib/ghidra/Ghidra/Extensions/*; do
|
||||
touch "$i/.dbDirLock"
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = metaCommon meta;
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
buildGhidraScripts = lib.extendMkDerivation {
|
||||
constructDrv = stdenv.mkDerivation;
|
||||
extendDrvArgs =
|
||||
finalAttrs:
|
||||
buildGhidraScripts =
|
||||
{
|
||||
pname,
|
||||
meta ? { },
|
||||
...
|
||||
}@args:
|
||||
{
|
||||
stdenv.mkDerivation (
|
||||
args
|
||||
// {
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
|
@ -102,8 +95,8 @@ let
|
|||
'';
|
||||
|
||||
meta = metaCommon meta;
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
in
|
||||
{
|
||||
inherit buildGhidraExtension buildGhidraScripts;
|
||||
|
|
|
@ -11,13 +11,11 @@ lib.makeScope newScope (self: {
|
|||
buildGhidraScripts
|
||||
;
|
||||
|
||||
binsync = self.callPackage ./extensions/binsync {};
|
||||
|
||||
findcrypt = self.callPackage ./extensions/findcrypt { };
|
||||
|
||||
ghidra-delinker-extension = self.callPackage ./extensions/ghidra-delinker-extension { };
|
||||
|
||||
ghidra-firmware-utils = self.callPackage ./extensions/ghidra-firmware-utils { };
|
||||
ghidra-delinker-extension = self.callPackage ./extensions/ghidra-delinker-extension {
|
||||
inherit ghidra;
|
||||
};
|
||||
|
||||
ghidra-golanganalyzerextension = self.callPackage ./extensions/ghidra-golanganalyzerextension { };
|
||||
|
||||
|
@ -36,4 +34,6 @@ lib.makeScope newScope (self: {
|
|||
sleighdevtools = self.callPackage ./extensions/sleighdevtools { inherit ghidra; };
|
||||
|
||||
wasm = self.callPackage ./extensions/wasm { inherit ghidra; };
|
||||
|
||||
binsync = self.callPackage ./extensions/binsync {};
|
||||
})
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
binsync
|
||||
] ++ binsync.optional-dependencies.ghidra));
|
||||
in buildGhidraScripts {
|
||||
pname = "BinSync";
|
||||
pname = "binsync-ghidra";
|
||||
inherit (python.pkgs.binsync) version;
|
||||
|
||||
src = runCommand "binsync-ghidra-scripts" {
|
||||
|
@ -37,10 +37,4 @@ in buildGhidraScripts {
|
|||
--replace-fail 'plugin_command = "binsync -s ghidra"' \
|
||||
'plugin_command = "${lib.getExe' binsync_env "binsync"} -s ghidra"'
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Reversing plugin for cross-decompiler collaboration, built on git";
|
||||
homepage = "https://github.com/binsync/binsync";
|
||||
license = lib.licenses.bsd2;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
lib,
|
||||
buildGhidraExtension,
|
||||
ghidra,
|
||||
gradle,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
buildGhidraExtension (finalAttrs: {
|
||||
ghidra.buildGhidraExtension (finalAttrs: {
|
||||
pname = "ghidra-delinker-extension";
|
||||
version = "0.5.1";
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ buildGhidraExtension {
|
|||
pname = "gnudisassembler";
|
||||
version = lib.getVersion ghidra;
|
||||
|
||||
src = "${ghidra.lib}/lib/ghidra/Extensions/Ghidra/${ghidra.distroPrefix}_GnuDisassembler.zip";
|
||||
src = "${ghidra}/lib/ghidra/Extensions/Ghidra/${ghidra.distroPrefix}_GnuDisassembler.zip";
|
||||
|
||||
postPatch = ''
|
||||
ln -s ${binutils-src} binutils-${binutils-version}.tar.bz2
|
||||
|
|
|
@ -8,7 +8,7 @@ buildGhidraExtension {
|
|||
pname = "machinelearning";
|
||||
version = lib.getVersion ghidra;
|
||||
|
||||
src = "${ghidra.lib}/lib/ghidra/Extensions/Ghidra/${ghidra.distroPrefix}_MachineLearning.zip";
|
||||
src = "${ghidra}/lib/ghidra/Extensions/Ghidra/${ghidra.distroPrefix}_MachineLearning.zip";
|
||||
dontUnpack = true;
|
||||
|
||||
# Built as part ghidra
|
||||
|
|
|
@ -9,7 +9,7 @@ buildGhidraExtension {
|
|||
pname = "sleighdevtools";
|
||||
version = lib.getVersion ghidra;
|
||||
|
||||
src = "${ghidra.lib}/lib/ghidra/Extensions/Ghidra/${ghidra.distroPrefix}_SleighDevTools.zip";
|
||||
src = "${ghidra}/lib/ghidra/Extensions/Ghidra/${ghidra.distroPrefix}_SleighDevTools.zip";
|
||||
dontUnpack = true;
|
||||
|
||||
# Built as part ghidra
|
||||
|
|
|
@ -23,7 +23,7 @@ buildGhidraExtension (finalAttrs: {
|
|||
|
||||
# this doesn't really compile, it compresses sinc into sla
|
||||
pushd data
|
||||
ant -f build.xml -Dghidra.install.dir=${ghidra.lib}/lib/ghidra sleighCompile
|
||||
ant -f build.xml -Dghidra.install.dir=${ghidra}/lib/ghidra sleighCompile
|
||||
popd
|
||||
|
||||
runHook postConfigure
|
||||
|
|
|
@ -29,10 +29,8 @@ let
|
|||
nativeBuildInputs = [
|
||||
makeBinaryWrapper
|
||||
] ++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle;
|
||||
postBuild = ''
|
||||
# Prevent attempted creation of plugin lock files in the Nix store.
|
||||
touch $out/lib/ghidra/Ghidra/.dbDirLock
|
||||
|
||||
postBuild =
|
||||
''
|
||||
makeWrapper '${ghidra}/bin/ghidra' "$out/bin/ghidra" \
|
||||
--set NIX_GHIDRAHOME "$out/lib/ghidra/Ghidra"
|
||||
makeWrapper '${ghidra}/bin/ghidra-analyzeHeadless' "$out/bin/ghidra-analyzeHeadless" \
|
||||
|
|
Loading…
Reference in New Issue