diff options
-rw-r--r-- | .SRCINFO | 25 | ||||
-rw-r--r-- | PKGBUILD | 47 | ||||
-rw-r--r-- | vdbbin.sh | 3 | ||||
-rw-r--r-- | vivbin.sh | 3 | ||||
-rw-r--r-- | vivisect.install | 53 |
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 |