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-head
mailing list