summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorc4droid <c4droid@foxmail.com>2021-04-08 12:02:08 +0800
committerLudovic Courtès <ludo@gnu.org>2021-06-06 23:12:17 +0200
commit018e09d4c8be98224f04fbeb5c105b42eefb4f10 (patch)
tree5ee6ba3d54ad3c15260e685a05a8a3534d17b6d3 /gnu/packages
parentb8baebae6a6188ed97048891f9ecb0b2f6a71085 (diff)
downloadguix-018e09d4c8be98224f04fbeb5c105b42eefb4f10.tar.gz
gnu: Add pwntools.
* gnu/packages/cybersecurity.scm (pwntools): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/cybersecurity.scm51
1 files changed, 50 insertions, 1 deletions
diff --git a/gnu/packages/cybersecurity.scm b/gnu/packages/cybersecurity.scm
index e13c342342..9ec0480515 100644
--- a/gnu/packages/cybersecurity.scm
+++ b/gnu/packages/cybersecurity.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2021 c4droid <c4droid@foxmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,7 +23,14 @@
   #:use-module (guix packages)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system python)
-  #:use-module (gnu packages engineering))
+  #:use-module (gnu packages engineering)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages python-crypto)
+  #:use-module (gnu packages python-web)
+  #:use-module (gnu packages time)
+  #:use-module (gnu packages bioinformatics)      ;python-intervaltree
+  #:use-module (gnu packages emulators))
 
 (define-public ropgadget
   (package
@@ -44,3 +52,44 @@
 gadgets in binaries.  Some facilities are included for automatically generating
 chains of gadgets to execute system calls.")
     (license license:bsd-3)))
+
+(define-public pwntools
+  (package
+    (name "pwntools")
+    (version "4.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pwntools" version))
+       (sha256
+        (base32
+         "1qw7j0wwm1878aia08gyw5xljjr26qsbp45w65n4qff672sha5n5"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:tests? #f))                 ;XXX: needs a specific version of unicorn
+    (propagated-inputs
+     `(("capstone" ,capstone)
+       ("python-dateutil" ,python-dateutil)
+       ("python-intervaltree" ,python-intervaltree)
+       ("python-mako" ,python-mako)
+       ("python-packaging" ,python-packaging)
+       ("python-paramiko" ,python-paramiko)
+       ("python-psutil" ,python-psutil)
+       ("python-pyelftools" ,python-pyelftools)
+       ("python-pygments" ,python-pygments)
+       ("python-pyserial" ,python-pyserial)
+       ("python-pysocks" ,python-pysocks)
+       ("python-requests" ,python-requests)
+       ("ropgadget" ,ropgadget)
+       ("python-six" ,python-six)
+       ("python-sortedcontainers"
+        ,python-sortedcontainers)
+       ("unicorn" ,unicorn)))
+    (home-page "https://github.com/Gallopsled/pwntools")
+    (synopsis
+     "Capture-the-flag (CTF) framework and exploit development library")
+    (description
+     "Pwntools is a capture-the-flag (CTF) framework and exploit development library.
+Written in Python, it is designed for rapid prototyping and development, and
+intended to make exploit writing as simple as possible.")
+    (license license:expat)))