Files
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

49 lines
1.3 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
cryptsetup,
}:
stdenv.mkDerivation rec {
pname = "bruteforce-luks";
version = "1.4.1";
src = fetchFromGitHub {
owner = "glv2";
repo = "bruteforce-luks";
tag = version;
hash = "sha256-t07YyfCjaXQs/OMekcPNBT8DeSRtq2+8tUpsPP2pG7o=";
};
postPatch = ''
# the test hangs indefinetly when more than 3 threads are used, I haven't figured out why
substituteInPlace tests/Makefile.am \
--replace-fail " crack-volume3.sh" ""
'';
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ cryptsetup ];
enableParallelBuilding = true;
doCheck = true;
meta = {
homepage = "https://github.com/glv2/bruteforce-luks";
description = "Cracks passwords of LUKS encrypted volumes";
mainProgram = "bruteforce-luks";
longDescription = ''
The program tries to decrypt at least one of the key slots by trying
all the possible passwords. It is especially useful if you know
something about the password (i.e. you forgot a part of your password but
still remember most of it). Finding the password of a volume without
knowing anything about it would take way too much time (unless the
password is really short and/or weak). It can also use a dictionary.
'';
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
};
}