Last active
April 13, 2023 07:51
-
-
Save nbareil/cce3e0eeced0e2ecc8bf818e87e56fde to your computer and use it in GitHub Desktop.
Nix configuration to setup binary-refinery
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# nixos-unstable - 2023-04-10 | |
with (import (fetchTarball https://github.com/nixos/nixpkgs/archive/db24d86dd8a4769c50d6b7295e81aa280cd93f35.tar.gz) {}); | |
let | |
larkparser = pkgs.python3Packages.buildPythonPackage rec { | |
name = "lark-parser"; | |
version = "0.12.0"; | |
src = pkgs.fetchPypi { | |
inherit version; | |
pname = "lark-parser"; | |
sha256 = "sha256-FZZ9sfEhQBPcplsRgHRQR7m+RX1z2iJPzaPZ3U6WoTg="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
oletools | |
]; | |
doCheck = false; | |
}; | |
rtfde = pkgs.python3Packages.buildPythonPackage rec { | |
name = "rtfde"; | |
version = "0.0.2"; | |
src = pkgs.fetchPypi { | |
inherit version; | |
pname = "RTFDE"; | |
sha256 = "sha256-uGtdc0lQ/odFpbiRM/UFVCUtvWfG0bkmXiPuFA5+qKI="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
larkparser | |
]; | |
doCheck = false; | |
}; | |
compressedrtf = pkgs.python3Packages.buildPythonPackage rec { | |
name = "compressedrtf"; | |
version = "0.0.0"; | |
src = pkgs.fetchFromGitHub { | |
inherit name; | |
owner = "delimitry"; | |
repo = "compressed_rtf"; | |
rev = "da649e37d747ae97269d0c4c61bf0b0982ccdab2"; | |
sha256 = "sha256-QTvlNktedfEreuqUvUthA66fmM/jFR5NpclZJH/5JLM"; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
]; | |
doCheck = false; | |
}; | |
ebcdic = pkgs.python3Packages.buildPythonPackage rec { | |
name = "ebcdic"; | |
version = "1.1.1"; | |
format = "wheel"; | |
src = fetchurl { | |
url = "https://files.pythonhosted.org/packages/0d/2f/633031205333bee5f9f93761af8268746aa75f38754823aabb8570eb245b/ebcdic-1.1.1-py2.py3-none-any.whl"; | |
sha256 = "sha256-M7TLcpvC0L9GzBhHsOWUaJfLjT9TUgxbmqX6mNfnNfE="; | |
}; | |
# src = pkgs.fetchPypi { | |
# inherit version; | |
# pname = "ebcdic"; | |
# format = "wheel"; | |
# dist = "py3"; | |
# sha256 = "sha256-QTvlNktedfEreuqUvUthA66fmM/jFR5NpclZJH/5JLM"; | |
# }; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
]; | |
doCheck = false; | |
}; | |
redblack = pkgs.python3Packages.buildPythonPackage rec { | |
name = "red-black-tree-mod"; | |
version = "1.20"; | |
src = pkgs.fetchPypi { | |
inherit version; | |
pname = "red-black-tree-mod"; | |
sha256 = "sha256-JEjm/Jy/G+IEx1PzUsbuSaqBVtvx+qV9/Ca9dwUHfgo="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
]; | |
doCheck = false; | |
}; | |
msgextractor = pkgs.python3Packages.buildPythonPackage rec { | |
name = "extract-msg"; | |
version = "0.40.0"; | |
src = pkgs.fetchFromGitHub { | |
inherit name; | |
owner = "TeamMsgExtractor"; | |
repo = "msg-extractor"; | |
rev = "931025c3747cf45e51f613e11921bd1575915ff0"; | |
sha256 = "sha256-drZqBhm8w8PtonyyrKVWk3DPr1eVzgoNc7on1cmVm+M="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
compressedrtf | |
beautifulsoup4 | |
imapclient | |
redblack | |
rtfde | |
ebcdic | |
tzlocal | |
]; | |
doCheck = false; | |
}; | |
xlrd2 = pkgs.python3Packages.buildPythonPackage rec { | |
name = "xlrd2"; | |
version = "1.3.4"; | |
src = pkgs.fetchFromGitHub { | |
inherit name; | |
owner = "DissectMalware"; | |
repo = "xlrd2"; | |
rev = "74cd5302f9007f6cf9389f8819cf1676a1e2a717"; | |
sha256 = "sha256-tMDI6+x2OQBj40V1JOTb5Dj60MSoiyRVhVEpZRwQKgE="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
]; | |
doCheck = false; | |
}; | |
pyonenote = pkgs.python3Packages.buildPythonPackage rec { | |
name = "pyonenote"; | |
version = "0.6.1"; | |
src = pkgs.fetchFromGitHub { | |
inherit name; | |
owner = "DissectMalware"; | |
repo = "pyonenote"; | |
rev = "228dc663e8433ad8157d2813409428f2e9850338"; | |
sha256 = "sha256-koivp2gna7wKshj0EDVPfaijrnHy6wQuXJ1l7rllEoQ="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
]; | |
doCheck = false; | |
}; | |
pyxlsb2 = pkgs.python3Packages.buildPythonPackage rec { | |
name = "pyxlsb2"; | |
version = "0.0.9"; | |
src = pkgs.fetchPypi { | |
inherit version; | |
pname = "pyxlsb2"; | |
sha256 = "sha256-d0bEzpmXFJV0Cf1qRGSZ/uehUo6m4PQPjKSu2QxM1Ig="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
]; | |
doCheck = false; | |
}; | |
pyzstd = pkgs.python3Packages.buildPythonPackage rec { | |
name = "pyzstd"; | |
version = "0.15.6"; | |
src = pkgs.fetchPypi { | |
inherit version; | |
pname = "pyzstd"; | |
sha256 = "sha256-MqG2fVNA2N84HnGKeIQXRV7ddr7X6KTL0lms3DC14X4="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
]; | |
doCheck = false; | |
}; | |
inflate64 = pkgs.python3Packages.buildPythonPackage rec { | |
name = "inflate64"; | |
version = "0.3.1"; | |
format = "pyproject"; | |
src = pkgs.fetchPypi { | |
inherit version; | |
pname = "inflate64"; | |
sha256 = "sha256-tS3Y/v0roXnl36GNbsp+L8giWEYWJxwDnV7x+cqQxxw="; | |
}; | |
buildInputs = with pkgs.python3Packages; [ | |
setuptools-scm | |
]; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
setuptools | |
]; | |
doCheck = false; | |
}; | |
altgraph = pkgs.python3Packages.buildPythonPackage rec { | |
pname = "altgraph"; | |
version = "0.17.3"; | |
src = pkgs.fetchPypi { | |
inherit pname version; | |
sha256 = "sha256-rTM1gRTffJQWzbj6HqpYUhZsUFEYcXAhxqjHx6u9A90="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
]; | |
doCheck = false; | |
}; | |
macholib = pkgs.python3Packages.buildPythonPackage rec { | |
name = "macholib"; | |
version = "1.16.2"; | |
format = "wheel"; | |
src = pkgs.fetchurl { | |
url = "https://files.pythonhosted.org/packages/5f/8c/8d7c7437f2799f570f9f4cb1fc974f671eff6fecd659f5e4097858a014ef/macholib-1.16.2-py2.py3-none-any.whl"; | |
sha256 = "sha256-RMQPLNfWcmr4+m/iJUkXjTpN/sw1qc0V6pFtnIOmiOA="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
altgraph | |
]; | |
doCheck = false; | |
}; | |
pyppmd = pkgs.python3Packages.buildPythonPackage rec { | |
name = "pyppmd"; | |
version = "1.0.0"; | |
src = pkgs.fetchPypi { | |
inherit version; | |
pname = "pyppmd"; | |
sha256 = "sha256-B1yb0pfjsKh9166ryn/uZoIYrL5p7MHGURBkVY3ohA8="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
]; | |
doCheck = false; | |
}; | |
multivolumefile = pkgs.python3Packages.buildPythonPackage rec { | |
name = "multivolumefile"; | |
version = "0.2.3"; | |
src = pkgs.fetchPypi { | |
inherit version; | |
pname = "multivolumefile"; | |
sha256 = "sha256-oGSNCq+8luWRmNXBfprK1+tTGr6lEDXQjOgGDcrXCdY="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
]; | |
doCheck = false; | |
}; | |
pybcj = pkgs.python3Packages.buildPythonPackage rec { | |
name = "pybcj"; | |
version = "1.0.1"; | |
src = pkgs.fetchPypi { | |
inherit version; | |
pname = "pybcj"; | |
sha256 = "sha256-i2gu0Iyqv7fAQtS+CD4o3caSr7He/1VnER+IVQcbdcM="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
]; | |
doCheck = false; | |
}; | |
py7zr = pkgs.python3Packages.buildPythonPackage rec { | |
name = "py7zr"; | |
version = "0.20.4"; | |
format = "pyproject"; | |
src = pkgs.fetchPypi { | |
inherit version; | |
pname = "py7zr"; | |
sha256 = "sha256-HQH5jqHh9cSZQDWGkbIHb5pYSAVkJlQeeD3jODT1niE="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
setuptools | |
texttable | |
pycryptodomex | |
brotli | |
psutil | |
inflate64 | |
pyzstd | |
pyppmd | |
pybcj | |
#pip | |
multivolumefile | |
]; | |
doCheck = false; | |
}; | |
decompyle3 = pkgs.python3Packages.buildPythonPackage rec { | |
name = "decompyle3"; | |
version = "3.9.0"; | |
src = pkgs.fetchPypi { | |
inherit version; | |
pname = "decompyle3"; | |
sha256 = "sha256-IkrL+BCbTdHgJIkA4th0EKvpdtsb/MD3pSGu00L9pTA="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
click | |
(dontCheckPython xdis) | |
spark_parser | |
]; | |
doCheck = false; | |
}; | |
XLMMacroDeobfuscator = pkgs.python3Packages.buildPythonPackage rec { | |
name = "XLMMacroDeobfuscator"; | |
version = "0.2.7"; | |
src = pkgs.fetchPypi { | |
inherit version; | |
pname = "XLMMacroDeobfuscator"; | |
sha256 = "sha256-fHV1X6rDHBOakrQXVqDQW52ZA9UiRQfy7fNq3BT0eD4="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
roman | |
xlrd2 | |
msoffcrypto-tool | |
untangle | |
larkparser | |
pyxlsb2 | |
]; | |
doCheck = false; | |
}; | |
dontCheckPython = drv: drv.overridePythonAttrs (old: { doCheck = false; }); | |
dontdisable = drv: drv.overridePythonAttrs (old: { disabled = false; }); | |
packageOverrides = pkgs: rec { | |
xdis = pkgs.python3Packages.xdis.override { doCheck = false;}; | |
}; | |
lnkparse3 = pkgs.python3Packages.buildPythonPackage rec { | |
pname = "LnkParse3"; | |
version = "1.2.0"; | |
src = pkgs.fetchPypi { | |
inherit pname version; | |
sha256 = "sha256-ECsqumwolhJ8txn4FKhXkhA2j5J3/V7A0BUf4HAWbh0="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
]; | |
doCheck = false; | |
}; | |
pycdlib = pkgs.python3Packages.buildPythonPackage rec { | |
pname = "pycdlib"; | |
version = "1.14.0"; | |
src = pkgs.fetchPypi { | |
inherit pname version; | |
sha256 = "sha256-jsMGsx2chQ8oxf2lJDjZBO3R6Pz4YsX/11YnLvrJ9CI="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
]; | |
doCheck = false; | |
}; | |
# XXX: | |
# I know this package exists Nixpgs but it depends on xdis which is not compatible with python 3.10 | |
# and I did not find a way to override the doCheck variable, I am a n00b in nix | |
myuncompyle6 = pkgs.python3Packages.buildPythonPackage rec { | |
pname = "uncompyle6"; | |
version = "3.9.0"; | |
src = pkgs.fetchPypi { | |
inherit pname version; | |
sha256 = "sha256-HmqQLeYOpcP30q9+J0UAa05Lm97eiIoH+EQcmTjy7n0="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
(dontCheckPython xdis) | |
spark_parser | |
]; | |
doCheck = false; | |
}; | |
cabarchive = pkgs.python3Packages.buildPythonPackage rec { | |
pname = "cabarchive"; | |
version = "0.2.4"; | |
src = pkgs.fetchPypi { | |
inherit pname version; | |
sha256 = "sha256-BPYAiUcxFM8m6rK34dCWEcW/r47dMgLazvZrtcceSM8="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
]; | |
doCheck = false; | |
}; | |
binref = pkgs.python3Packages.buildPythonPackage rec { | |
name = "binref-refinery"; | |
version = "0.6.1"; | |
src = pkgs.fetchFromGitHub { | |
inherit name; | |
owner = "binref"; | |
repo = "refinery"; | |
rev = "36bfa81253a02004473599a774bc7d9dc56c8df0"; | |
sha256 = "sha256-HUy1M3VeaGVl02gaMcRsiMjfO7kP0DMK2LIhnhciTqE="; | |
}; | |
propagatedBuildInputs = with pkgs.python3Packages; [ | |
toml | |
defusedxml | |
pyonenote | |
python-registry | |
py7zr | |
phpserialize | |
xlrd2 | |
XLMMacroDeobfuscator | |
pypdf2 | |
colorama | |
decompyle3 | |
pyperclip | |
msgextractor | |
pycryptodome | |
capstone | |
javaobj-py3 | |
(dontCheckPython xdis) | |
asn1crypto | |
macholib | |
pefile | |
cabarchive | |
python-magic | |
lnkparse3 | |
pyxlsb2 | |
#(dontCheckPython (dontdisable uncompyle6)) | |
myuncompyle6 | |
msgpack | |
pycdlib | |
pyelftools | |
pillow | |
openpyxl | |
]; | |
doCheck = false; | |
}; | |
customPython = pkgs.python3.buildEnv.override { | |
extraLibs = with pkgs.python3Packages; [ | |
binref | |
]; | |
}; | |
in | |
pkgs.mkShell { | |
buildInputs = [ | |
customPython | |
]; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment