Commit 43b17474 by devttys0

Added deps.sh script for Debian systems

parent 1288135d
...@@ -86,6 +86,12 @@ $ wget -O - http://my.smithmicro.com/downloads/files/stuffit520.611linux-i386.ta ...@@ -86,6 +86,12 @@ $ wget -O - http://my.smithmicro.com/downloads/files/stuffit520.611linux-i386.ta
$ sudo cp bin/unstuff /usr/local/bin/ $ sudo cp bin/unstuff /usr/local/bin/
``` ```
Note that for Debian/Ubuntu users, all of the above dependencies can be installed automatically using the included `deps.sh` script:
```bash
$ sudo ./deps.sh
```
Installing the IDA Plugin Installing the IDA Plugin
========================= =========================
......
#!/bin/bash
REQUIRED_UTILS="apt-get wget tar python2"
APT_CANDIDATES="git build-essential libqt4-opengl mtd-utils gzip bzip2 tar arj lhasa p7zip p7zip-full cabextract cramfsprogs cramfsswap squashfs-tools zlib1g-dev liblzma-dev liblzo2-dev"
PYTHON2_APT_CANDIDATES="python-lzma python-pip python-opengl python-qt4 python-qt4-gl python-numpy python-scipy"
PYTHON3_APT_CANDIDATES="python3-pip python3-opengl python3-pyqt4 python3-pyqt4.qtopengl python3-numpy python3-scipy"
APT_CANDIDATES="$APT_CANDIDATES $PYTHON2_APT_CANDIDATES"
PIP_COMMANDS="pip"
# Check for root privileges
if [ $UID -eq 0 ]
then
SUDO=""
else
SUDO="sudo"
REQUIRED_UTILS="sudo $REQUIRED_UTILS"
fi
function install_sasquatch
{
git clone https://github.com/devttys0/sasquatch
(cd sasquatch && make && $SUDO make install)
$SUDO rm -rf sasquatch
}
function install_jefferson
{
$SUDO pip install cstruct
git clone https://github.com/sviehb/jefferson
(cd jefferson && $SUDO python2 setup.py install)
$SUDO rm -rf jefferson
}
function install_unstuff
{
mkdir -p /tmp/unstuff
cd /tmp/unstuff
wget -O - http://my.smithmicro.com/downloads/files/stuffit520.611linux-i386.tar.gz | tar -zxv
$SUDO cp bin/unstuff /usr/local/bin/
cd -
rm -rf /tmp/unstuff
}
function install_pip_package
{
PACKAGE="$1"
for PIP_COMMAND in $PIP_COMMANDS
do
$SUDO $PIP_COMMAND install $PACKAGE
done
}
function find_path
{
FILE_NAME="$1"
echo -ne "checking for $FILE_NAME..."
which $FILE_NAME > /dev/null
if [ $? -eq 0 ]
then
echo "yes"
return 0
else
echo "no"
return 1
fi
}
# Make sure the user really wants to do this
echo ""
echo "WARNING: This script will download and install all required and optional dependencies for binwalk."
echo " This script has only been tested on, and is only intended for, Debian based systems."
echo " Some dependencies are downloaded via unsecure (HTTP) protocols."
echo " This script requires internet access."
echo " This script requires root privileges."
echo ""
echo -n "Continue [y/N]? "
read YN
if [ "$(echo "$YN" | grep -i -e 'y' -e 'yes')" == "" ]
then
echo "Quitting..."
exit 1
fi
# Check to make sure we have all the required utilities installed
NEEDED_UTILS=""
for UTIL in $REQUIRED_UTILS
do
find_path $UTIL
if [ $? -eq 1 ]
then
NEEDED_UTILS="$NEEDED_UTILS $UTIL"
fi
done
if [ "$NEEDED_UTILS" != "" ]
then
echo "Please install the following required utilities: $NEEDED_UTILS"
exit 1
fi
# Check to see if we should install modules for python3 as well
find_path python3
if [ $? -eq 0 ]
then
APT_CANDIDATES="$APT_CANDIDATES $PYTHON3_APT_CANDIDATES"
PIP_COMMANDS="pip3 $PIP_COMMANDS"
fi
cd /tmp
$SUDO apt-get install -y $APT_CANDIDATES
install_pip_package pyqtgraph
install_pip_package capstone
install_sasquatch
install_jefferson
install_unstuff
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment