1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-12-17 20:28:13 +00:00
hashcat/tools/deps.sh

115 lines
2.6 KiB
Bash
Raw Normal View History

2015-12-04 14:47:52 +00:00
#!/bin/bash
# Author: Gabriele Gristina <matrix@hashcat.net>
# Revision: 1.03
2015-12-04 14:47:52 +00:00
## global vars
DEPS="make gcc g++ gcc-multilib g++-multilib libc6-dev-i386 mingw-w64 build-essential unzip opencl-headers ocl-icd-libopencl1"
DEPS_AMD_DEV="ocl-icd-opencl-dev"
DOWNLOAD_DEPS="ADL_SDK8.zip R352-developer.zip gdk_linux_amd64_352_55_release.run"
2015-12-04 14:47:52 +00:00
## enter the deps directory
cur_directory=$(dirname ${0})
script_directory=$(cd ${cur_directory} && pwd -P)
deps_dir=${script_directory}/../deps
2015-12-04 14:47:52 +00:00
mkdir -p ${deps_dir} # but it should already exist (is part of the repository)
cd ${deps_dir}
## cleanup the directories under the 'deps' folder
rm -rf {adl-sdk*,nvidia-gdk,R352-developer} && \
2016-01-03 13:32:50 +00:00
mkdir -p {tmp,adl-sdk,nvidia-gdk,R352-developer} && \
cd tmp/
2015-12-04 14:47:52 +00:00
if [ $? -ne 0 ]; then
echo "! Cannot create deps directories."
exit 1
2015-12-04 14:47:52 +00:00
fi
## check dependencies
i=0
for d in ${DOWNLOAD_DEPS}; do
if [ ! -f "${d}" ]; then
echo "! ${d} not found."
((i++))
fi
2015-12-04 14:47:52 +00:00
done
if [ ${i} -gt 0 ]; then
echo "! Please manually download all the above dependencies to the deps/tmp/ directory"
exit 1
2015-12-04 14:47:52 +00:00
fi
## installing needed packages
for pkg in ${DEPS}; do
# check if the package is already installed
dpkg -s ${pkg} &>/dev/null
if [ $? -ne 0 ]; then
## root check
if [ $(id -u) -ne 0 ]; then
echo "! Must be root to install the required package '${pkg}' with apt-get"
exit 1
fi
apt-get -y install ${pkg}
if [ $? -ne 0 ]; then
echo "! failed to install ${pkg}"
exit 1
fi
fi
2015-12-04 14:47:52 +00:00
done
## extract ADL SDK
unzip ADL_SDK8.zip -d ${deps_dir}/adl-sdk-8
2015-12-04 14:47:52 +00:00
ret=$?
if [[ ${ret} -ne 0 ]] && [[ ${ret} -ne 1 ]]; then
echo "! failed to extract ADL SDK"
exit 1
2015-12-04 14:47:52 +00:00
fi
rm -rf ${deps_dir}/adl-sdk && ln -s ${deps_dir}/adl-sdk-8 ${deps_dir}/adl-sdk
2015-12-04 14:47:52 +00:00
if [ $? -ne 0 ]; then
echo "! failed to setup ADL SDK link"
exit 1
2015-12-04 14:47:52 +00:00
fi
## extract NVAPI
unzip R352-developer.zip -d ${deps_dir}
2015-12-04 14:47:52 +00:00
ret=$?
if [[ ${ret} -ne 0 ]] && [[ ${ret} -ne 1 ]]; then
echo "! failed to extract NVAPI"
exit 1
2015-12-04 14:47:52 +00:00
fi
## install NVIDIA GPU Deployment Kit
chmod +x gdk_linux_amd64_352_55_release.run && \
./gdk_linux_amd64_352_55_release.run --silent --installdir=${deps_dir}/nvidia-gdk
2015-12-04 14:47:52 +00:00
if [ $? -ne 0 ]; then
echo "! failed to install NVIDIA GPU Deployment Kit"
exit 1
2015-12-04 14:47:52 +00:00
fi
## check if libOpenCL.so is available (and if not install DEPS_AMD_DEV)
2015-12-04 14:47:52 +00:00
ls /usr/lib/*/libOpenCL.so &> /dev/null
2015-12-04 14:47:52 +00:00
if [ $? -ne 0 ]; then
## root check
if [ $(id -u) -ne 0 ]; then
echo "! Must be root to install '${DEPS_AMD_DEV}'"
exit 1
fi
apt-get -y install ${DEPS_AMD_DEV}
if [ $? -ne 0 ]; then
echo "! failed to install ${DEPS_AMD_DEV}"
exit 1
fi
2015-12-04 14:47:52 +00:00
fi
echo "> oclHashcat dependencies have been resolved."