summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Weidenbaum2015-06-09 11:41:58 -0700
committerAndy Weidenbaum2015-06-09 11:41:58 -0700
commit1f903abb1062f5197fc32acafa6c06a34741b9a0 (patch)
tree861af06f945b456bf3878d89d20a3a73ab6d51f5
downloadaur-1f903abb1062f5197fc32acafa6c06a34741b9a0.tar.gz
Initial import
-rw-r--r--.SRCINFO25
-rw-r--r--PKGBUILD47
-rw-r--r--vdbbin.sh3
-rw-r--r--vivbin.sh3
-rw-r--r--vivisect.install53
5 files changed, 131 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..71d730237e8e
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,25 @@
+pkgbase = vivisect-git
+ pkgdesc = Static analysis / emulation / symbolik analysis framework for PE/Elf/Mach-O/Blob binary formats on various architectures
+ pkgver = 20150307
+ pkgrel = 1
+ url = https://github.com/vivisect/vivisect
+ install = vivisect.install
+ arch = i686
+ arch = x86_64
+ license = Apache
+ makedepends = git
+ depends = python2
+ depends = python2-psycopg2
+ depends = python2-pyqt4
+ depends = qt4
+ provides = vivisect
+ conflicts = vivisect
+ source = git+https://github.com/vivisect/vivisect
+ source = vdbbin.sh
+ source = vivbin.sh
+ sha256sums = SKIP
+ sha256sums = bc0e8f4ad05ab33d658276de6ca76e846ea7057bab8dd80285840b5495c8127a
+ sha256sums = 8ba658b56c33295edab6c350793850eb366d7a16011cc0d49bd7c48a74638ce3
+
+pkgname = vivisect-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..c45ea8b76046
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,47 @@
+# Maintainer: Andy Weidenbaum <archbaum@gmail.com>
+
+pkgname=vivisect-git
+pkgver=20150307
+pkgrel=1
+pkgdesc="Static analysis / emulation / symbolik analysis framework for PE/Elf/Mach-O/Blob binary formats on various architectures"
+arch=('i686' 'x86_64')
+depends=('python2' 'python2-psycopg2' 'python2-pyqt4' 'qt4')
+makedepends=('git')
+url="https://github.com/vivisect/vivisect"
+license=('Apache')
+source=(git+https://github.com/vivisect/vivisect
+ vdbbin.sh
+ vivbin.sh)
+sha256sums=('SKIP'
+ 'bc0e8f4ad05ab33d658276de6ca76e846ea7057bab8dd80285840b5495c8127a'
+ '8ba658b56c33295edab6c350793850eb366d7a16011cc0d49bd7c48a74638ce3')
+provides=('vivisect')
+conflicts=('vivisect')
+install=vivisect.install
+
+pkgver() {
+ cd ${pkgname%-git}
+ git log -1 --format="%cd" --date=short | sed "s|-||g"
+}
+
+prepare() {
+ cd ${pkgname%-git}
+
+ msg 'Fixing Python version...'
+ find . -type f -print0 | xargs -0 sed -i 's#/usr/bin/python#/usr/bin/python2#g'
+ find . -type f -print0 | xargs -0 sed -i 's#/usr/bin/env python#/usr/bin/env python2#g'
+}
+
+package() {
+ cd ${pkgname%-git}
+
+ msg 'Installing...'
+ install -Dm 755 "$srcdir/vdbbin.sh" "$pkgdir/usr/bin/vdbbin"
+ install -Dm 755 "$srcdir/vivbin.sh" "$pkgdir/usr/bin/vivbin"
+ install -dm 755 "$pkgdir/usr/share/vivisect"
+ tar -c . | tar -x -C "$pkgdir/usr/share/vivisect"
+
+ msg 'Cleaning up pkgdir...'
+ find "$pkgdir" -type d -name .git -exec rm -r '{}' +
+ find "$pkgdir" -type f -name .gitignore -exec rm -r '{}' +
+}
diff --git a/vdbbin.sh b/vdbbin.sh
new file mode 100644
index 000000000000..df971a3b550b
--- /dev/null
+++ b/vdbbin.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+/usr/bin/python2 /usr/share/vivisect/vdbbin
diff --git a/vivbin.sh b/vivbin.sh
new file mode 100644
index 000000000000..67b9bcbbb938
--- /dev/null
+++ b/vivbin.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+/usr/bin/python2 /usr/share/vivisect/vivbin
diff --git a/vivisect.install b/vivisect.install
new file mode 100644
index 000000000000..8854e887341f
--- /dev/null
+++ b/vivisect.install
@@ -0,0 +1,53 @@
+post_install() {
+ printf "%b\n" "$vivisect"
+}
+
+read -d '' vivisect <<'EOF'
+=== Vivisect / Vdb / Vtrace
+
+Now all as one project! ( made sense once vivisect went public )
+For more in-depth docs on various topics, see the wiki at
+http://visi.kenshoto.com/
+
+=== Vdb
+
+As in previous vdb releases, the command "python vdbbin" from the
+checkout directory will drop you into a debugger prompt on supported
+platforms. ( Windows / Linux / FreeBSD / OSX... kinda? )
+
+Commands in vdb grow/refine quickly, so use in-line help such as:
+
+vdb> help
+
+or...
+
+vdb> help writemem
+
+to show available commands and options. Additionally, for basic vdb use,
+the wiki at http://visi.kenshoto.com/
+
+=== Vivisect
+
+Fairly un-documented static analysis / emulation / symbolik analysis
+framework for PE/Elf/Mach-O/Blob binary formats on various architectures.
+To start with, you probably want to run a "bulk analysis" pass on a
+binary using:
+
+python vivbin -B <binaryfile>
+
+which will leave you with <binaryfile>.viv
+
+Then run:
+
+python vivbin <binaryfile>.viv
+
+to open the GUI and begin reverse engineering. As with most vtoys,
+the ui relies fairly heavily on right-click context menus and various
+memory views.
+
+For the binary ninjas, all APIs used during automatic analysis ( and
+several that aren't ) are directly accessible for use writing your own
+custom research tools... The interface should be nearly the same when
+dealing with a real process ( via vdb/vtrace ) and dealing with an
+emulator / viv workspace.
+EOF