diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix b/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix new file mode 100644 index 000000000000..e299a7b0eb82 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix @@ -0,0 +1,62 @@ +{ stdenv +, fetchFromGitHub +, makeWrapper +, gdb +, future +, isort +, psutil +, pycparser +, pyelftools +, python-ptrace +, ROPGadget +, six +, unicorn +, pygments +, }: + +stdenv.mkDerivation rec { + name = "pwndbg-${version}"; + version = "2018.07.29"; + + src = fetchFromGitHub { + owner = "pwndbg"; + repo = "pwndbg"; + rev = version; + sha256 = "1illk1smknaaa0ck8mwvig15c8al5w7fdp42a748xvm8wvxqxdsc"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + propagatedBuildInputs = [ + future + isort + psutil + pycparser + pyelftools + python-ptrace + ROPGadget + six + unicorn + pygments + ]; + + installPhase = '' + mkdir -p $out/share/pwndbg + cp -r *.py pwndbg $out/share/pwndbg + makeWrapper ${gdb}/bin/gdb $out/bin/pwndbg \ + --add-flags "-q -x $out/share/pwndbg/gdbinit.py" + ''; + + preFixup = '' + sed -i "/import sys/a import sys; sys.path[0:0] = '$PYTHONPATH'.split(':')" \ + $out/share/pwndbg/gdbinit.py + ''; + + meta = with stdenv.lib; { + description = "Exploit Development and Reverse Engineering with GDB Made Easy"; + homepage = http://pwndbg.com; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ mic92 ]; + }; +} |