Compare commits

...

3 Commits

Author SHA1 Message Date
xenia 5fd38d270e ghidra-extensions.kaiju: fix z3 java output 2025-09-13 23:28:58 -04:00
xenia 6d766dd63c fix ghidra extensions 2025-09-13 23:20:59 -04:00
xenia 6bba7ab0c4 fix binsync metadata 2025-09-13 23:20:31 -04:00
10 changed files with 30 additions and 12 deletions

View File

@ -65,4 +65,11 @@
]; ];
pythonImportsCheck = [ "binsync" ]; 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;
};
} }

View File

@ -67,4 +67,11 @@
"tests/test_decompilers.py" "tests/test_decompilers.py"
"tests/test_remote_ghidra.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;
};
} }

View File

@ -13,9 +13,7 @@ lib.makeScope newScope (self: {
findcrypt = self.callPackage ./extensions/findcrypt { }; findcrypt = self.callPackage ./extensions/findcrypt { };
ghidra-delinker-extension = self.callPackage ./extensions/ghidra-delinker-extension { ghidra-delinker-extension = self.callPackage ./extensions/ghidra-delinker-extension { };
inherit ghidra;
};
ghidra-golanganalyzerextension = self.callPackage ./extensions/ghidra-golanganalyzerextension { }; ghidra-golanganalyzerextension = self.callPackage ./extensions/ghidra-golanganalyzerextension { };

View File

@ -15,7 +15,7 @@
binsync binsync
] ++ binsync.optional-dependencies.ghidra)); ] ++ binsync.optional-dependencies.ghidra));
in buildGhidraScripts { in buildGhidraScripts {
pname = "binsync-ghidra"; pname = "BinSync";
inherit (python.pkgs.binsync) version; inherit (python.pkgs.binsync) version;
src = runCommand "binsync-ghidra-scripts" { src = runCommand "binsync-ghidra-scripts" {
@ -37,4 +37,10 @@ in buildGhidraScripts {
--replace-fail 'plugin_command = "binsync -s ghidra"' \ --replace-fail 'plugin_command = "binsync -s ghidra"' \
'plugin_command = "${lib.getExe' binsync_env "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;
};
} }

View File

@ -1,12 +1,12 @@
{ {
lib, lib,
ghidra, buildGhidraExtension,
gradle, gradle,
fetchFromGitHub, fetchFromGitHub,
}: }:
let let
version = "0.5.1"; version = "0.5.1";
self = ghidra.buildGhidraExtension { self = buildGhidraExtension {
pname = "ghidra-delinker-extension"; pname = "ghidra-delinker-extension";
inherit version; inherit version;

View File

@ -25,7 +25,7 @@ buildGhidraExtension {
pname = "gnudisassembler"; pname = "gnudisassembler";
version = lib.getVersion ghidra; version = lib.getVersion ghidra;
src = "${ghidra}/lib/ghidra/Extensions/Ghidra/${ghidra.distroPrefix}_GnuDisassembler.zip"; src = "${ghidra.lib}/lib/ghidra/Extensions/Ghidra/${ghidra.distroPrefix}_GnuDisassembler.zip";
postPatch = '' postPatch = ''
ln -s ${binutils-src} binutils-${binutils-version}.tar.bz2 ln -s ${binutils-src} binutils-${binutils-version}.tar.bz2

View File

@ -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" ];

View File

@ -8,7 +8,7 @@ buildGhidraExtension {
pname = "machinelearning"; pname = "machinelearning";
version = lib.getVersion ghidra; version = lib.getVersion ghidra;
src = "${ghidra}/lib/ghidra/Extensions/Ghidra/${ghidra.distroPrefix}_MachineLearning.zip"; src = "${ghidra.lib}/lib/ghidra/Extensions/Ghidra/${ghidra.distroPrefix}_MachineLearning.zip";
dontUnpack = true; dontUnpack = true;
# Built as part ghidra # Built as part ghidra

View File

@ -9,7 +9,7 @@ buildGhidraExtension {
pname = "sleighdevtools"; pname = "sleighdevtools";
version = lib.getVersion ghidra; version = lib.getVersion ghidra;
src = "${ghidra}/lib/ghidra/Extensions/Ghidra/${ghidra.distroPrefix}_SleighDevTools.zip"; src = "${ghidra.lib}/lib/ghidra/Extensions/Ghidra/${ghidra.distroPrefix}_SleighDevTools.zip";
dontUnpack = true; dontUnpack = true;
# Built as part ghidra # Built as part ghidra

View File

@ -26,7 +26,7 @@ buildGhidraExtension {
# this doesn't really compile, it compresses sinc into sla # this doesn't really compile, it compresses sinc into sla
pushd data pushd data
ant -f build.xml -Dghidra.install.dir=${ghidra}/lib/ghidra sleighCompile ant -f build.xml -Dghidra.install.dir=${ghidra.lib}/lib/ghidra sleighCompile
popd popd
runHook postConfigure runHook postConfigure