From 4fe4272847c3b2596c82d1dcd1af55e282b92c97 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Sun, 18 Apr 2021 09:38:39 -0700 Subject: [PATCH 1/5] python2.pkgs.cxxfilt: init at 0.2.2 --- .../python-modules/cxxfilt/default.nix | 33 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/development/python-modules/cxxfilt/default.nix diff --git a/pkgs/development/python-modules/cxxfilt/default.nix b/pkgs/development/python-modules/cxxfilt/default.nix new file mode 100644 index 00000000000..580d698d8da --- /dev/null +++ b/pkgs/development/python-modules/cxxfilt/default.nix @@ -0,0 +1,33 @@ +{ lib +, buildPythonPackage +, fetchPypi +, gcc-unwrapped +}: +buildPythonPackage rec { + pname = "cxxfilt"; + version = "0.2.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "ef6810e76d16c95c11b96371e2d8eefd1d270ec03f9bcd07590e8dcc2c69e92b"; + }; + + postPatch = '' + substituteInPlace cxxfilt/__init__.py \ + --replace "find_any_library('stdc++', 'c++')" '"${lib.getLib gcc-unwrapped}/lib/libstdc++.so"' + ''; + + # no tests + doCheck = false; + + pythonImportsCheck = [ + "cxxfilt" + ]; + + meta = with lib; { + description = "Demangling C++ symbols in Python / interface to abi::__cxa_demangle "; + homepage = "https://github.com/afq984/python-cxxfilt"; + license = licenses.bsd2; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 01219719acc..3cea2db7e94 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1668,6 +1668,8 @@ in { cx_oracle = callPackage ../development/python-modules/cx_oracle { }; + cxxfilt = callPackage ../development/python-modules/cxxfilt { }; + cycler = callPackage ../development/python-modules/cycler { }; cymem = callPackage ../development/python-modules/cymem { }; From 8e013f3fa887fb620659c3ce5564388ee605df19 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Sun, 18 Apr 2021 09:44:33 -0700 Subject: [PATCH 2/5] python2.pkgs.vivisect: init at 0.1.0 --- .../python-modules/vivisect/default.nix | 46 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 48 insertions(+) create mode 100644 pkgs/development/python-modules/vivisect/default.nix diff --git a/pkgs/development/python-modules/vivisect/default.nix b/pkgs/development/python-modules/vivisect/default.nix new file mode 100644 index 00000000000..0d86f2ffbd9 --- /dev/null +++ b/pkgs/development/python-modules/vivisect/default.nix @@ -0,0 +1,46 @@ +{ lib +, buildPythonPackage +, isPy3k +, fetchPypi +, pyasn1 +, pyasn1-modules +, cxxfilt +, msgpack +, pycparser +}: +buildPythonPackage rec { + pname = "vivisect"; + version = "0.1.0"; + disabled = isPy3k; + + src = fetchPypi { + inherit pname version; + sha256 = "ed5e8c24684841d30dc7b41f2bee87c0198816a453417ae2e130b7845ccb2629"; + }; + + propagatedBuildInputs = [ + pyasn1 + pyasn1-modules + cxxfilt + msgpack + pycparser + ]; + + preBuild = '' + sed "s@==.*'@'@" -i setup.py + ''; + + # requires another repo for test files + doCheck = false; + + pythonImportsCheck = [ + "vivisect" + ]; + + meta = with lib; { + description = "Pure python disassembler, debugger, emulator, and static analysis framework"; + homepage = "https://github.com/vivisect/vivisect"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3cea2db7e94..cf06b199979 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8873,6 +8873,8 @@ in { vispy = callPackage ../development/python-modules/vispy { }; + vivisect = callPackage ../development/python-modules/vivisect { }; + vmprof = callPackage ../development/python-modules/vmprof { }; vncdo = callPackage ../development/python-modules/vncdo { }; From 088f388bd2a6cbca5aad7e443e8cac9a6f0ca018 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Sun, 18 Apr 2021 09:51:19 -0700 Subject: [PATCH 3/5] python.pkgs.plugnplay: init at 0.5.4 --- .../python-modules/plugnplay/default.nix | 27 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/development/python-modules/plugnplay/default.nix diff --git a/pkgs/development/python-modules/plugnplay/default.nix b/pkgs/development/python-modules/plugnplay/default.nix new file mode 100644 index 00000000000..259fe96028a --- /dev/null +++ b/pkgs/development/python-modules/plugnplay/default.nix @@ -0,0 +1,27 @@ +{ lib +, buildPythonPackage +, fetchPypi +}: +buildPythonPackage rec { + pname = "plugnplay"; + version = "0.5.4"; + + src = fetchPypi { + inherit pname version; + sha256 = "877e2d2500a45aaf31e5175f9f46182088d3e2d64c1c6b9ff6c778ae0ee594c8"; + }; + + # no tests + doCheck = false; + + pythonImportsCheck = [ + "plugnplay" + ]; + + meta = with lib; { + description = "A Generic plug-in system for python applications"; + homepage = "https://github.com/daltonmatos/plugnplay"; + license = licenses.gpl2Only; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index cf06b199979..0b919ba4b7d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5299,6 +5299,8 @@ in { pluginbase = callPackage ../development/python-modules/pluginbase { }; + plugnplay = callPackage ../development/python-modules/plugnplay { }; + plugwise = callPackage ../development/python-modules/plugwise { }; plum-py = callPackage ../development/python-modules/plum-py { }; From ba3ddfb8f74bdecfcc55dfd12927dc2a23057e0d Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Sun, 18 Apr 2021 16:05:16 -0700 Subject: [PATCH 4/5] python2.pkgs.viv-utils: init at 0.3.17 --- .../python-modules/viv-utils/default.nix | 49 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 51 insertions(+) create mode 100644 pkgs/development/python-modules/viv-utils/default.nix diff --git a/pkgs/development/python-modules/viv-utils/default.nix b/pkgs/development/python-modules/viv-utils/default.nix new file mode 100644 index 00000000000..e94c96f72b0 --- /dev/null +++ b/pkgs/development/python-modules/viv-utils/default.nix @@ -0,0 +1,49 @@ +{ lib +, buildPythonPackage +, isPy3k +, fetchFromGitHub +, funcy +, pefile +, vivisect +, intervaltree +, setuptools +}: +buildPythonPackage rec { + pname = "viv-utils"; + version = "0.3.17"; + disabled = isPy3k; + + src = fetchFromGitHub { + owner = "williballenthin"; + repo = "viv-utils"; + rev = "v${version}"; + sha256 = "wZWp6PMn1to/jP6lzlY/x0IhS/0w0Ys7AdklNQ+Vmyc="; + }; + + # argparse is provided by Python itself + preBuild = '' + sed '/"argparse",/d' -i setup.py + ''; + + propagatedBuildInputs = [ + funcy + pefile + vivisect + intervaltree + setuptools + ]; + + # no tests + doCheck = false; + + pythonImportsCheck = [ + "viv_utils" + ]; + + meta = with lib; { + description = "Utilities for working with vivisect"; + homepage = "https://github.com/williballenthin/viv-utils"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0b919ba4b7d..3bccba1eadb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8877,6 +8877,8 @@ in { vivisect = callPackage ../development/python-modules/vivisect { }; + viv-utils = callPackage ../development/python-modules/viv-utils { }; + vmprof = callPackage ../development/python-modules/vmprof { }; vncdo = callPackage ../development/python-modules/vncdo { }; From 5f45085a3f78142dbb576d57a541f5e441915916 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Sun, 18 Apr 2021 16:11:14 -0700 Subject: [PATCH 5/5] flare-floss: init at 1.7.0 --- pkgs/tools/security/flare-floss/default.nix | 46 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 48 insertions(+) create mode 100644 pkgs/tools/security/flare-floss/default.nix diff --git a/pkgs/tools/security/flare-floss/default.nix b/pkgs/tools/security/flare-floss/default.nix new file mode 100644 index 00000000000..954dd07d6ab --- /dev/null +++ b/pkgs/tools/security/flare-floss/default.nix @@ -0,0 +1,46 @@ +{ lib +, python2 +, fetchFromGitHub +}: +python2.pkgs.buildPythonPackage rec { + pname = "flare-floss"; + version = "1.7.0"; + + src = fetchFromGitHub { + owner = "fireeye"; + repo = "flare-floss"; + rev = "v${version}"; + sha256 = "GMOA1+qM2A/Qw33kOTIINEvjsfqjWQWBXHNemh3IK8w="; + }; + + propagatedBuildInputs = with python2.pkgs; [ + pyyaml + simplejson + tabulate + vivisect + plugnplay + viv-utils + enum34 + ]; + + checkInputs = [ + python2.pkgs.pytestCheckHook + ]; + + disabledTests = [ + # test data is in a submodule + "test_main" + ]; + + pythonImportsCheck = [ + "floss" + "floss.plugins" + ]; + + meta = with lib; { + description = "Automatically extract obfuscated strings from malware"; + homepage = "https://github.com/fireeye/flare-floss"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 74aac662d8e..90bd41ae0fe 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -404,6 +404,8 @@ in find-cursor = callPackage ../tools/X11/find-cursor { }; + flare-floss = callPackage ../tools/security/flare-floss { }; + prefer-remote-fetch = import ../build-support/prefer-remote-fetch; global-platform-pro = callPackage ../development/tools/global-platform-pro/default.nix { };