grap: init at 1.3.1 (#114129)

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Co-authored-by: s1341 <s1341@github.com>
This commit is contained in:
s1341 2022-12-20 00:30:49 +02:00 committed by GitHub
parent 8d2669cbe0
commit db01e7b220
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 53 additions and 0 deletions

View File

@ -0,0 +1,51 @@
{ lib, stdenv, fetchFromGitHub, boost, libseccomp, flex, python3Packages, swig4, bison, cmake, python3 }:
stdenv.mkDerivation rec {
pname = "grap";
version = "1.3.1";
src = fetchFromGitHub {
owner = "QuoSecGmbH";
repo = "grap";
rev = "v${version}";
sha256 = "1fkdi7adfffxg1k4h6r9i69i3wi93s44c1j4cvr69blxsfh0mcnc";
};
nativeBuildInputs = [
bison
cmake
flex
python3
];
buildInputs = [
boost.all
libseccomp
swig4
];
strictDeps = true;
cmakeFlags = [
"-DPYTHON_SITE_DIR=$out/${python3.sitePackages}"
"../src"
];
postPatch = ''
substituteInPlace src/tools/grap-match/CMakeLists.txt --replace "/usr/local/bin" "$out/bin"
substituteInPlace src/tools/grap/CMakeLists.txt --replace "/usr/local/bin" "$out/bin"
'';
meta = with lib; {
description = "Define and match graph patterns within binaries";
longDescription = ''
grap takes patterns and binary files, uses a Casptone-based disassembler to obtain the control flow graphs from the binaries, then matches the patterns against them.
Patterns are user-defined graphs with instruction conditions ("opcode is xor and arg1 is eax") and repetition conditions (3 identical instructions, basic blocks...).
'';
homepage = "https://github.com/QuoSecGmbH/grap/";
license = licenses.mit;
maintainers = [ maintainers.s1341 ];
platforms = platforms.linux;
};
}

View File

@ -36396,6 +36396,8 @@ with pkgs;
python3 = python39;
};
grap = callPackage ../tools/security/grap { };
gravit = callPackage ../applications/science/astronomy/gravit { };
golly = callPackage ../applications/science/misc/golly {