From owner-svn-ports-head@FreeBSD.ORG Fri Aug 29 05:29:12 2014 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 516F8CFE; Fri, 29 Aug 2014 05:29:12 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3BCD31468; Fri, 29 Aug 2014 05:29:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7T5TCqI025903; Fri, 29 Aug 2014 05:29:12 GMT (envelope-from danfe@FreeBSD.org) Received: (from danfe@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id s7T5TBHT025898; Fri, 29 Aug 2014 05:29:11 GMT (envelope-from danfe@FreeBSD.org) Message-Id: <201408290529.s7T5TBHT025898@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: danfe set sender to danfe@FreeBSD.org using -f From: Alexey Dokuchaev Date: Fri, 29 Aug 2014 05:29:11 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r366460 - in head/sysutils/scanmem: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Aug 2014 05:29:12 -0000 Author: danfe Date: Fri Aug 29 05:29:10 2014 New Revision: 366460 URL: http://svnweb.freebsd.org/changeset/ports/366460 QAT: https://qat.redports.org/buildarchive/r366460/ Log: - Use EXTRACT_SUFX instead of setting DISTNAME and WRKSRC - Allow to build optional PyGTK-based GUI (GameConqueror) - Now because package list can be long, utilize pkg-plist - Provide better sounding COMMENT; amend port description Added: head/sysutils/scanmem/files/patch-gui-GameConqueror.py (contents, props changed) head/sysutils/scanmem/files/patch-gui-gameconqueror.in (contents, props changed) head/sysutils/scanmem/pkg-plist (contents, props changed) Modified: head/sysutils/scanmem/Makefile head/sysutils/scanmem/pkg-descr Modified: head/sysutils/scanmem/Makefile ============================================================================== --- head/sysutils/scanmem/Makefile Thu Aug 28 22:34:41 2014 (r366459) +++ head/sysutils/scanmem/Makefile Fri Aug 29 05:29:10 2014 (r366460) @@ -5,10 +5,10 @@ PORTNAME= scanmem PORTVERSION= 0.13 CATEGORIES= sysutils MASTER_SITES= GOOGLE_CODE -DISTNAME= ${PORTNAME}-${PORTVERSION}_ +EXTRACT_SUFX= _.tar.gz MAINTAINER= danfe@FreeBSD.org -COMMENT= Locate and modify a variable in an executing process +COMMENT= Locate and modify various data in an executing process LICENSE= GPLv3 @@ -18,14 +18,16 @@ ONLY_FOR_ARCHS_REASON= requires linprocf USES= readline GNU_CONFIGURE= yes -WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} +OPTIONS_DEFINE= X11 DOCS +OPTIONS_SUB= yes -PLIST_FILES= bin/scanmem man/man1/scanmem.1.gz -PORTDOCS= README - -OPTIONS_DEFINE= DOCS +X11_DESC= Install PyGTK-based GUI (GameConqueror) +X11_CATEGORIES= python +X11_RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pygtk-2.0.pc:${PORTSDIR}/x11-toolkits/py-gtk2 +X11_CONFIGURE_ON= --enable-gui post-patch: @${REINPLACE_CMD} -e 's,/proc/,/compat/linux&,' ${WRKSRC}/configure + @${REINPLACE_CMD} -e 's, COPYING,,' ${WRKSRC}/gui/Makefile.in .include Added: head/sysutils/scanmem/files/patch-gui-GameConqueror.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/scanmem/files/patch-gui-GameConqueror.py Fri Aug 29 05:29:10 2014 (r366460) @@ -0,0 +1,30 @@ +--- gui/GameConqueror.py.orig 2011-12-02 14:22:35 UTC ++++ gui/GameConqueror.py +@@ -749,7 +749,7 @@ class GameConqueror(): + self.cheatlist_liststore.prepend(['=', False, description, addr, vt, value, True]) + + def get_process_list(self): +- return [map(str.strip, e.strip().split(' ',2)) for e in os.popen('ps -wweo pid=,user=,command= --sort=-pid').readlines()] ++ return [map(str.strip, e.strip().split(' ',2)) for e in reversed(os.popen('ps -axww -o pid= -o user= -o command=').readlines())] + + def select_process(self, pid, process_name): + # ask backend for attaching the target process +@@ -778,7 +778,7 @@ class GameConqueror(): + self.cheatlist_liststore[i][1] = False + + def read_maps(self): +- lines = open('/proc/%d/maps' % (self.pid,)).readlines() ++ lines = open('/compat/linux/proc/%d/maps' % (self.pid,)).readlines() + self.maps = [] + for l in lines: + item = {} +@@ -980,7 +980,9 @@ class GameConqueror(): + gtk.main_quit() + + def main(self): ++ gtk.threads_enter() + gtk.main() ++ gtk.threads_leave() + + def check_backend_version(self): + if self.backend.version != VERSION: Added: head/sysutils/scanmem/files/patch-gui-gameconqueror.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/scanmem/files/patch-gui-gameconqueror.in Fri Aug 29 05:29:10 2014 (r366460) @@ -0,0 +1,18 @@ +--- gui/gameconqueror.in.orig 2012-09-02 15:26:56 UTC ++++ gui/gameconqueror.in +@@ -1,13 +1,5 @@ +-#!/bin/bash ++#!/bin/sh + + DATADIR=@PKGDATADIR@ + +-if [[ "$(id -u)" != "0" ]]; then +- if [ -e "/usr/bin/gksu" ]; then +- exec gksu --description "GameConqueror" "python -OO $DATADIR/GameConqueror.py" +- else +- exec beesu - "python -OO $DATADIR/GameConqueror.py" +- fi +-else +- exec python -OO "$DATADIR/GameConqueror.py" +-fi ++exec python -OO "$DATADIR/GameConqueror.py" Modified: head/sysutils/scanmem/pkg-descr ============================================================================== --- head/sysutils/scanmem/pkg-descr Thu Aug 28 22:34:41 2014 (r366459) +++ head/sysutils/scanmem/pkg-descr Fri Aug 29 05:29:10 2014 (r366460) @@ -1,7 +1,21 @@ Scanmem is a simple interactive debugging utility for Linux, used to locate -the address of a variable in an executing process. This can be used for the -analysis or modification of a hostile process on a compromised machine, -reverse engineering, or as a "pokefinder" to cheat at video games. +various data in an executing process. This can be used for the analysis or +modification of a hostile process on a compromised machine, help in reverse +engineering, or to cheat at video games. Brief list of its features: + + - Interactive command mode, with internal help + - Efficient and easy-to-use syntax + - Support for different data types: integers, floats, bytearrays, strings + - Support for different scan (comparison) types: equal, greater/less than, + changed, unchanged, increased/decreased + - Set any variable to any value + - Detailed information about mappings, allow users to eliminate regions + +More in GameConqueror, optional PyGTK-based GUI: + + - User-friendly CheatEngline-alike interface + - Modify and lock (freeze) variables + - Memory viewer/editor It requires linprocfs(5) to be mounted under /compat/linux/proc to operate. Added: head/sysutils/scanmem/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/scanmem/pkg-plist Fri Aug 29 05:29:10 2014 (r366460) @@ -0,0 +1,19 @@ +%%X11%%bin/gameconqueror +bin/scanmem +%%X11%%man/man1/gameconqueror.1.gz +man/man1/scanmem.1.gz +%%X11%%share/applications/GameConqueror.desktop +%%X11%%share/gameconqueror/GameConqueror.py +%%X11%%share/gameconqueror/GameConqueror.xml +%%X11%%share/gameconqueror/GameConqueror_128x128.png +%%X11%%share/gameconqueror/GameConqueror_72x72.png +%%X11%%share/gameconqueror/backend.py +%%X11%%share/gameconqueror/consts.py +%%X11%%share/gameconqueror/hexview.py +%%X11%%share/gameconqueror/misc.py +%%X11%%share/pixmaps/GameConqueror_128x128.png +%%X11%%share/pixmaps/GameConqueror_72x72.png +%%X11%%@dirrm share/gameconqueror +%%PORTDOCS%%%%DOCSDIR%%/README +%%X11%%%%PORTDOCS%%%%DOCSDIR%%/TODO +%%PORTDOCS%%@dirrm %%DOCSDIR%%