1 { lib, stdenv, fetchFromGitHub, autoreconfHook, cryptsetup }:
3 stdenv.mkDerivation rec {
4 pname = "bruteforce-luks";
7 src = fetchFromGitHub {
8 sha256 = "sha256-t07YyfCjaXQs/OMekcPNBT8DeSRtq2+8tUpsPP2pG7o=";
10 repo = "bruteforce-luks";
14 nativeBuildInputs = [ autoreconfHook ];
15 buildInputs = [ cryptsetup ];
17 enableParallelBuilding = true;
22 inherit (src.meta) homepage;
23 description = "Cracks passwords of LUKS encrypted volumes";
24 mainProgram = "bruteforce-luks";
26 The program tries to decrypt at least one of the key slots by trying
27 all the possible passwords. It is especially useful if you know
28 something about the password (i.e. you forgot a part of your password but
29 still remember most of it). Finding the password of a volume without
30 knowing anything about it would take way too much time (unless the
31 password is really short and/or weak). It can also use a dictionary.
33 license = licenses.gpl3Plus;
34 platforms = platforms.linux;