2021-01-15 22:18:51 +00:00
|
|
|
{ lib, stdenv, fetchFromGitHub, autoreconfHook, cryptsetup }:
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
pname = "bruteforce-luks";
|
|
|
|
version = "1.4.0";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
sha256 = "0yyrda077avdapq1mvavgv5mvj2r94d6p01q56bbnaq4a3h5kfd6";
|
|
|
|
rev = version;
|
|
|
|
repo = "bruteforce-luks";
|
|
|
|
owner = "glv2";
|
|
|
|
};
|
|
|
|
|
|
|
|
nativeBuildInputs = [ autoreconfHook ];
|
|
|
|
buildInputs = [ cryptsetup ];
|
|
|
|
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
|
|
|
doCheck = true;
|
|
|
|
|
2021-01-15 22:18:51 +00:00
|
|
|
meta = with lib; {
|
2020-04-24 23:36:52 +00:00
|
|
|
inherit (src.meta) homepage;
|
|
|
|
description = "Cracks passwords of LUKS encrypted volumes";
|
|
|
|
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 = licenses.gpl3Plus;
|
|
|
|
platforms = platforms.linux;
|
|
|
|
};
|
|
|
|
}
|