From fb00cd161c3a89a6aa8b39d79b36992e0dba1af2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 12 Dec 2021 14:55:20 +0100 Subject: [PATCH 1/3] python3Packages.msoffcrypto-tool: init at 4.12.0 --- .../msoffcrypto-tool/default.nix | 55 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + pkgs/top-level/python-packages.nix | 2 + 3 files changed, 59 insertions(+) create mode 100644 pkgs/development/python-modules/msoffcrypto-tool/default.nix diff --git a/pkgs/development/python-modules/msoffcrypto-tool/default.nix b/pkgs/development/python-modules/msoffcrypto-tool/default.nix new file mode 100644 index 000000000000..4f3dbc60d18a --- /dev/null +++ b/pkgs/development/python-modules/msoffcrypto-tool/default.nix @@ -0,0 +1,55 @@ +{ lib +, olefile +, buildPythonPackage +, fetchFromGitHub +, poetry-core +, cryptography +, pytestCheckHook +, pythonOlder +, setuptools +}: + +buildPythonPackage rec { + pname = "msoffcrypto-tool"; + version = "4.12.0"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "nolze"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-EBEwldh2Ct/4oxnAF1hWeW/uRrVsCYEi0cJaZubofFk="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + cryptography + olefile + setuptools + ]; + + checkInputs = [ + pytestCheckHook + ]; + + disabledTests = [ + # Test fails with AssertionError + "test_cli" + ]; + + pythonImportsCheck = [ + "msoffcrypto" + ]; + + meta = with lib; { + description = "Python tool and library for decrypting MS Office files with passwords or other keys"; + homepage = "https://github.com/nolze/msoffcrypto-tool"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1421341ac67d..d82b21d0c101 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18768,6 +18768,8 @@ with pkgs; msgpack = callPackage ../development/libraries/msgpack { }; + msoffcrypto-tool = with python3.pkgs; toPythonApplication msoffcrypto-tool; + msilbc = callPackage ../development/libraries/msilbc { }; mp4v2 = callPackage ../development/libraries/mp4v2 { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 182d268fe872..e808ec7fa43b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5030,6 +5030,8 @@ in { msldap = callPackage ../development/python-modules/msldap { }; + msoffcrypto-tool = callPackage ../development/python-modules/msoffcrypto-tool { }; + mss = callPackage ../development/python-modules/mss { }; msrestazure = callPackage ../development/python-modules/msrestazure { }; From be9389e318e53847323945bc300b02e34a53671e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 12 Dec 2021 15:52:56 +0100 Subject: [PATCH 2/3] python3Packages.pcodedmp: init at 1.2.6 --- .../python-modules/pcodedmp/default.nix | 41 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/development/python-modules/pcodedmp/default.nix diff --git a/pkgs/development/python-modules/pcodedmp/default.nix b/pkgs/development/python-modules/pcodedmp/default.nix new file mode 100644 index 000000000000..84f230f5852f --- /dev/null +++ b/pkgs/development/python-modules/pcodedmp/default.nix @@ -0,0 +1,41 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "pcodedmp"; + version = "1.2.6"; + format = "setuptools"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "bontchev"; + repo = pname; + rev = version; + sha256 = "sha256-SYOFGMvrzxDPMACaCvqwU28Mh9LEuvFBGvAph4X+geo="; + }; + + postPatch = '' + # Circular dependency + substituteInPlace setup.py \ + --replace "'oletools>=0.54'," "" + ''; + + # Module doesn't have tests + doCheck = false; + + pythonImportsCheck = [ + "pcodedmp" + ]; + + meta = with lib; { + description = "Python VBA p-code disassembler"; + homepage = "https://github.com/bontchev/pcodedmp"; + license = with licenses; [ gpl3Only ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e808ec7fa43b..f37fcae11405 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5696,6 +5696,8 @@ in { pc-ble-driver-py = toPythonModule (callPackage ../development/python-modules/pc-ble-driver-py { }); + pcodedmp = callPackage ../development/python-modules/pcodedmp { }; + pcpp = callPackage ../development/python-modules/pcpp { }; pdf2image = callPackage ../development/python-modules/pdf2image { }; From 3d089767bec8967a582ad5b24acba997b4b96f8f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 12 Dec 2021 16:15:29 +0100 Subject: [PATCH 3/3] python3Packages.oletools: init at 0.60 --- .../python-modules/oletools/default.nix | 57 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + pkgs/top-level/python-packages.nix | 2 + 3 files changed, 61 insertions(+) create mode 100644 pkgs/development/python-modules/oletools/default.nix diff --git a/pkgs/development/python-modules/oletools/default.nix b/pkgs/development/python-modules/oletools/default.nix new file mode 100644 index 000000000000..54c5c6c165b2 --- /dev/null +++ b/pkgs/development/python-modules/oletools/default.nix @@ -0,0 +1,57 @@ +{ lib +, buildPythonPackage +, colorclass +, easygui +, fetchFromGitHub +, msoffcrypto-tool +, olefile +, pcodedmp +, pyparsing +, pytestCheckHook +, pythonOlder +, setuptools +}: + +buildPythonPackage rec { + pname = "oletools"; + version = "0.60"; + format = "setuptools"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "decalage2"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-gatUVkf8iT1OGnahX1BzQLDypCqhS1EvkAgUHJ6myA4="; + }; + + propagatedBuildInputs = [ + colorclass + easygui + msoffcrypto-tool + olefile + pcodedmp + pyparsing + ]; + + checkInputs = [ + pytestCheckHook + ]; + + disabledTests = [ + # Test fails with AssertionError: Tuples differ: ('MS Word 2007+... + "test_all" + ]; + + pythonImportsCheck = [ + "oletools" + ]; + + meta = with lib; { + description = "Python tool to analyze MS OLE2 files and MS Office documents"; + homepage = "https://github.com/decalage2/oletools"; + license = with licenses; [ bsd2 /* and */ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d82b21d0c101..4a1798545b7f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -373,6 +373,8 @@ with pkgs; onesixtyone = callPackage ../tools/security/onesixtyone {}; + oletools = with python3.pkgs; toPythonApplication oletools; + creddump = callPackage ../tools/security/creddump {}; credential-detector = callPackage ../tools/security/credential-detector { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f37fcae11405..ccbe38140a0e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5411,6 +5411,8 @@ in { olefile = callPackage ../development/python-modules/olefile { }; + oletools = callPackage ../development/python-modules/oletools { }; + omegaconf = callPackage ../development/python-modules/omegaconf { }; omnilogic = callPackage ../development/python-modules/omnilogic { };