mirror of
https://github.com/MobSF/Mobile-Security-Framework-MobSF.git
synced 2026-10-11 22:50:09 +00:00
* Dockerfile: migrate from Ubuntu to Debian Bookworm * Update and MachO and ELF Analysis * Update docker compose with postgres * JDK bump to 22.0.2 * Python bump to 3.12 * Bump jadx, apktool, vd2svg, bundletool * Remove jadx from repo and download it dynamically during setup * Install jadx during docker build * Replace deprecated dependencies * Bump httptools * Postgres Support by default * Bump LIEF to latest, reintroduce PIE checks for ELF * Fixes #2430 #2432 #2395 * Bug Fixes
69 lines
2.1 KiB
Bash
Executable File
69 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Python3 Check
|
|
unamestr=$(uname)
|
|
if ! [ -x "$(command -v python3)" ]; then
|
|
echo '[ERROR] python3 is not installed.' >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Python3 Version Check
|
|
python_version="$(python3 --version 2>&1 | awk '{print $2}')"
|
|
py_major=$(echo "$python_version" | cut -d'.' -f1)
|
|
py_minor=$(echo "$python_version" | cut -d'.' -f2)
|
|
if [ "$py_major" -eq "3" ] && [ "$py_minor" -gt "9" ] && [ "$py_minor" -lt "13" ]; then
|
|
echo "[INSTALL] Found Python ${python_version}"
|
|
else
|
|
echo "[ERROR] MobSF dependencies require Python 3.10 - 3.12. You have Python version ${python_version} or python3 points to Python ${python_version}."
|
|
exit 1
|
|
fi
|
|
|
|
# Pip Check and Upgrade
|
|
python3 -m pip -V
|
|
if [ $? -eq 0 ]; then
|
|
echo '[INSTALL] Found pip'
|
|
if [[ $unamestr == 'Darwin' ]]; then
|
|
python3 -m pip install --no-cache-dir --upgrade pip
|
|
else
|
|
python3 -m pip install --no-cache-dir --upgrade pip --user
|
|
fi
|
|
else
|
|
echo '[ERROR] python3-pip not installed'
|
|
exit 1
|
|
fi
|
|
|
|
# macOS Specific Checks
|
|
if [[ $unamestr == 'Darwin' ]]; then
|
|
# Check if xcode is installed
|
|
xcode-select -v
|
|
if ! [ $? -eq 0 ]; then
|
|
echo 'Please install command-line tools'
|
|
echo 'xcode-select --install'
|
|
exit 1
|
|
else
|
|
echo '[INSTALL] Found Xcode'
|
|
fi
|
|
fi
|
|
|
|
echo '[INSTALL] Installing Requirements'
|
|
python3 -m pip install --no-cache-dir wheel poetry==1.8.4
|
|
python3 -m poetry lock
|
|
python3 -m poetry install --no-root --only main --no-interaction --no-ansi
|
|
|
|
echo '[INSTALL] Clean Up'
|
|
bash scripts/clean.sh y
|
|
|
|
echo '[INSTALL] Migrating Database'
|
|
export DJANGO_SUPERUSER_USERNAME=mobsf
|
|
export DJANGO_SUPERUSER_PASSWORD=mobsf
|
|
python3 -m poetry run python manage.py makemigrations
|
|
python3 -m poetry run python manage.py makemigrations StaticAnalyzer
|
|
python3 -m poetry run python manage.py migrate
|
|
python3 -m poetry run python manage.py createsuperuser --noinput --email ""
|
|
python3 -m poetry run python manage.py create_roles
|
|
wkhtmltopdf -V
|
|
if ! [ $? -eq 0 ]; then
|
|
echo 'Download and Install wkhtmltopdf for PDF Report Generation - https://wkhtmltopdf.org/downloads.html'
|
|
fi
|
|
echo '[INSTALL] Installation Complete'
|