unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
blob d45618e61766cb3a72bbd3b74f6fce73b9ee46bc 5472 bytes (raw)
name: gnu/packages/cybersecurity.scm 	 # note: path name is non-authoritative(*)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
 
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages cybersecurity)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix packages)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix build-system python)
  #:use-module (gnu packages)
  #:use-module (gnu packages avr)
  #:use-module (gnu packages bioinformatics)
  #:use-module (gnu packages cross-base)
  #:use-module (gnu packages emulators)
  #:use-module (gnu packages engineering)
  #:use-module (gnu packages python-crypto)
  #:use-module (gnu packages python-web)
  #:use-module (gnu packages python-xyz)
  #:use-module (gnu packages time))

(define-public ropgadget
  (package
    (name "ropgadget")
    (version "6.3")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "ROPGadget" version))
       (sha256
        (base32 "0v34w88if3p4vn46aby24msfnxj6znmkf4848n4d24jnykxcsqk9"))))
    (build-system python-build-system)
    (propagated-inputs
     `(("python-capstone" ,python-capstone)))
    (home-page "http://shell-storm.org/project/ROPgadget/")
    (synopsis "Semiautomatic return oriented programming")
    (description
     "This tool lets you search for @acronym{ROP, Return Oriented Programming}
gadgets in binaries.  Some facilities are included for automatically generating
chains of gadgets to execute system calls.")
    (license license:bsd-3)))

(define-public python-pwntools
  (package
    (name "python-pwntools")
    (version "4.1.1")
    (source
      (origin
        (method git-fetch)
        (uri (git-reference
               (url "https://github.com/Gallopsled/pwntools")
               (commit version)))
        (file-name (git-file-name name version))
        (sha256
         (base32
          "101whqdfj415h0f4b9hz2jrwny44b0jdd9jmbh6rzz5w1yp41d5v"))
        (patches (search-patches "python-pwntools-guix-wrappers.patch"))))
    (build-system python-build-system)
    (arguments
     `(#:tests? #f)) ; Tests require networking and custom sshd configuration
    (propagated-inputs
     `(("paramiko" ,python-paramiko)
       ("mako" ,python-mako)
       ("pyelftools" ,python-pyelftools)
       ("capstone" ,python-capstone)
       ("ropgadget" ,ropgadget)
       ("pyserial" ,python-pyserial)
       ("requests" ,python-requests)
       ("pygments" ,python-pygments)
       ("pysocks" ,python-pysocks)
       ("dateutil" ,python-dateutil)
       ("packaging" ,python-packaging)
       ("psutil" ,python-psutil)
       ("intervaltree" ,python-intervaltree)
       ("sortedcontainers" ,python-sortedcontainers)
       ("unicorn" ,unicorn "python")

       ;; See https://docs.pwntools.com/en/stable/install/binutils.html
       ;; All architectures recognized by pwntools are included.
       ("binutils:aarch64" ,(cross-binutils "aarch64-linux-gnu"))
       ("binutils:alpha" ,(cross-binutils "alpha-linux-gnu"))
       ("binutils:arm" ,(cross-binutils "arm-linux-gnueabihf"))
       ;; TODO: AVR binutils aren't detected,
       ;; see https://github.com/Gallopsled/pwntools/pull/1536
       ("binutils:avr" ,avr-binutils)
       ("binutils:cris" ,(cross-binutils "cris-linux-gnu"))
       ("binutils:i686" ,(cross-binutils "i686-linux-gnu"))
       ("binutils:ia64" ,(cross-binutils "ia64-linux-gnu"))
       ("binutils:m68k" ,(cross-binutils "m68k-linux-gnu"))
       ("binutils:mips" ,(cross-binutils "mipsel-linux-gnu"))
       ("binutils:mips64" ,(cross-binutils "mips64el-linux-gnu"))
       ;; TODO: MSP430 doesn't work for the same reason as AVR.
       ("binutils:msp430" ,(cross-binutils "msp430"))
       ("binutils:powerpc" ,(cross-binutils "powerpc-linux-gnu"))
       ("binutils:powerpc64" ,(cross-binutils "powerpc64-linux-gnu"))
       ;; TODO: Attempting to assemble code for arch='s390' complains
       ;; about bfdname
       ("binutils:s390" ,(cross-binutils "s390-linux-gnu"))
       ("binutils:sparc" ,(cross-binutils "sparc-linux-gnu"))
       ("binutils:sparc64" ,(cross-binutils "sparc64-linux-gnu"))
       ;; TODO: Should VAX use a -linux-gnu target, or just "vax"?
       ("binutils:vax" ,(cross-binutils "vax-linux-gnu"))
       ("binutils:x86_64" ,(cross-binutils "x86_64-linux-gnu"))))
    (native-inputs
     `(("tox" ,python-tox)))
    (home-page "https://github.com/Gallopsled/pwntools")
    (synopsis "CTF framework and exploit development library")
    (description "Pwntools is a 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.")
    ;; See LICENSE-pwntools.txt in the source distribution.
    (license (list license:expat license:bsd-2 license:gpl2+))))

debug log:

solving d45618e617 ...
found d45618e617 in https://yhetil.org/guix-patches/20200607201941.5044-2-kuba@kadziolka.net/
found 8ded081c50 in https://git.savannah.gnu.org/cgit/guix.git
preparing index
index prepared:
100644 8ded081c506ac02d5efb19729378bb7b6459d7da	gnu/packages/cybersecurity.scm

applying [1/1] https://yhetil.org/guix-patches/20200607201941.5044-2-kuba@kadziolka.net/
diff --git a/gnu/packages/cybersecurity.scm b/gnu/packages/cybersecurity.scm
index 8ded081c50..d45618e617 100644

Checking patch gnu/packages/cybersecurity.scm...
Applied patch gnu/packages/cybersecurity.scm cleanly.

index at:
100644 d45618e61766cb3a72bbd3b74f6fce73b9ee46bc	gnu/packages/cybersecurity.scm

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).