svn commit: r527640 - in head/security: . gef gef/files

Mateusz Piotrowski 0mp at FreeBSD.org
Mon Mar 2 16:28:03 UTC 2020


Author: 0mp
Date: Mon Mar  2 16:28:01 2020
New Revision: 527640
URL: https://svnweb.freebsd.org/changeset/ports/527640

Log:
  New port: security/gef
  
  GEF (pronounced "Jeff") is a set of commands for x86/64, ARM, MIPS, PowerPC
  and SPARC to assist exploit developers and reverse-engineers when using old
  school GDB. It provides additional features to GDB using the Python API to
  assist during the process of dynamic analysis and exploit development.
  Application developers will also benefit from it, as GEF lifts a great part
  of regular GDB obscurity, avoiding repeating traditional commands, or
  bringing out the relevant information from the debugging runtime.
  
  Some of GEF features include:
  - One single GDB script.
  - Fast limiting the number of dependencies and optimizing code to make the
    commands as fast as possible.
  - Provides more than 50 commands to drastically change your experience in
    GDB.
  - Easily extendable to create other commands by providing more
    comprehensible layout to GDB Python API.
  - Built around an architecture abstraction layer, so all commands work in
    any GDB-supported architecture such as x86-32/64, ARMv5/6/7, AARCH64,
    SPARC, MIPS, PowerPC, etc.
  - Suited for real-life apps debugging, exploit development, just as much as
    CTF.
  
  WWW: https://gef.rtfd.io

Added:
  head/security/gef/
  head/security/gef/Makefile   (contents, props changed)
  head/security/gef/distinfo   (contents, props changed)
  head/security/gef/files/
  head/security/gef/files/pkg-message.in   (contents, props changed)
  head/security/gef/pkg-descr   (contents, props changed)
Modified:
  head/security/Makefile

Modified: head/security/Makefile
==============================================================================
--- head/security/Makefile	Mon Mar  2 16:24:30 2020	(r527639)
+++ head/security/Makefile	Mon Mar  2 16:28:01 2020	(r527640)
@@ -170,6 +170,7 @@
     SUBDIR += fwlogwatch
     SUBDIR += gag
     SUBDIR += gcr
+    SUBDIR += gef
     SUBDIR += git-crypt
     SUBDIR += git-remote-gcrypt
     SUBDIR += git-secret

Added: head/security/gef/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/gef/Makefile	Mon Mar  2 16:28:01 2020	(r527640)
@@ -0,0 +1,43 @@
+# $FreeBSD$
+
+PORTNAME=	gef
+DISTVERSION=	2020.03
+CATEGORIES=	security python
+
+MAINTAINER=	0mp at FreeBSD.org
+COMMENT=	GDB Enhanced Features for exploit devs & reversers
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+RUN_DEPENDS=	gdb>7.7:devel/gdb
+
+USES=		python:run
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	hugsy
+
+NO_ARCH=	yes
+NO_BUILD=	yes
+
+SUB_FILES=	pkg-message
+SUB_LIST=	UTILITY_NAME=${_UTILITY_NAME}
+
+PLIST_FILES=	${DATADIR_REL}/${_UTILITY_NAME}
+
+OPTIONS_DEFINE=		OPTIONALDEPS
+OPTIONS_DEFAULT=	OPTIONALDEPS
+
+OPTIONALDEPS_DESC=		Install optional dependencies for extra functionalities
+OPTIONALDEPS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}capstone>0:devel/py-capstone@${PY_FLAVOR} \
+				${PYTHON_PKGNAMEPREFIX}keystone-engine>0:devel/py-keystone-engine@${PY_FLAVOR} \
+				${PYTHON_PKGNAMEPREFIX}ropper>0:security/py-ropper@${PY_FLAVOR} \
+				${PYTHON_PKGNAMEPREFIX}unicorn>0:emulators/py-unicorn@${PY_FLAVOR}
+
+_UTILITY_NAME=	gef.py
+
+do-install:
+	@${MKDIR} ${STAGEDIR}${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/${_UTILITY_NAME} ${STAGEDIR}${DATADIR}
+
+.include <bsd.port.mk>

Added: head/security/gef/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/gef/distinfo	Mon Mar  2 16:28:01 2020	(r527640)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1583166038
+SHA256 (hugsy-gef-2020.03_GH0.tar.gz) = b907e78bd532b286d27b08aca6a070d0b58062f1a1308002b332148b444784a0
+SIZE (hugsy-gef-2020.03_GH0.tar.gz) = 145026

Added: head/security/gef/files/pkg-message.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/gef/files/pkg-message.in	Mon Mar  2 16:28:01 2020	(r527640)
@@ -0,0 +1,20 @@
+[
+{ type: install
+  message: <<EOM
+Now that GEF is installed it can be used with gdb(1).
+
+Run the following command in the gdb prompt to load the plugin:
+
+```
+source %%DATADIR%%/%%UTILITY_NAME%%
+```
+
+In order to load GEF automatically on gdb(1) launch add the line mentioned
+above to ~/.gdbinit:
+
+```
+echo "source %%DATADIR%%/%%UTILITY_NAME%%" >> ~/.gdbinit
+```
+EOM
+}
+]

Added: head/security/gef/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/gef/pkg-descr	Mon Mar  2 16:28:01 2020	(r527640)
@@ -0,0 +1,21 @@
+GEF (pronounced "Jeff") is a set of commands for x86/64, ARM, MIPS,
+PowerPC and SPARC to assist exploit developers and reverse-engineers when using
+old school GDB. It provides additional features to GDB using the Python API to
+assist during the process of dynamic analysis and exploit development.
+Application developers will also benefit from it, as GEF lifts a great part of
+regular GDB obscurity, avoiding repeating traditional commands, or bringing out
+the relevant information from the debugging runtime.
+
+Some of GEF features include:
+- One single GDB script.
+- Fast limiting the number of dependencies and optimizing code to make the
+  commands as fast as possible.
+- Provides more than 50 commands to drastically change your experience in GDB.
+- Easily extendable to create other commands by providing more comprehensible
+  layout to GDB Python API.
+- Built around an architecture abstraction layer, so all commands work in any
+  GDB-supported architecture such as x86-32/64, ARMv5/6/7, AARCH64, SPARC,
+  MIPS, PowerPC, etc.
+- Suited for real-life apps debugging, exploit development, just as much as CTF.
+
+WWW: https://gef.rtfd.io


More information about the svn-ports-all mailing list