mirror of
https://github.com/mvt-project/mvt.git
synced 2026-10-01 21:49:55 +02:00
Merge main and add dependency change
This commit is contained in:
commit
ee2fab8d87
5 files changed
+291
-48
No files matched your search
@@ -0,0 +1,2 @@
|
|||||||
|
# Ignore everything, the dockerfile always pulls from https://github.com/mvt-project/mvt.git@main
|
||||||
|
*
|
||||||
+121
-47
@@ -1,77 +1,151 @@
|
|||||||
FROM ubuntu:22.04
|
# Base image for building libraries
|
||||||
|
# ---------------------------------
|
||||||
|
FROM ubuntu:22.04 as build-base
|
||||||
|
|
||||||
# Ref. https://github.com/mvt-project/mvt
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
LABEL url="https://mvt.re"
|
# Install build tools and dependencies
|
||||||
LABEL vcs-url="https://github.com/mvt-project/mvt"
|
RUN apt-get update \
|
||||||
LABEL description="MVT is a forensic tool to look for signs of infection in smartphone devices."
|
&& apt-get install -y \
|
||||||
|
|
||||||
ENV PIP_NO_CACHE_DIR=1
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
|
||||||
|
|
||||||
# Fixing major OS dependencies
|
|
||||||
# ----------------------------
|
|
||||||
RUN apt update \
|
|
||||||
&& apt install -y python3 python3-pip libusb-1.0-0-dev wget unzip default-jre-headless adb \
|
|
||||||
|
|
||||||
# Install build tools for libimobiledevice
|
|
||||||
# ----------------------------------------
|
|
||||||
build-essential \
|
build-essential \
|
||||||
checkinstall \
|
|
||||||
git \
|
git \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
libtool-bin \
|
libtool-bin \
|
||||||
libplist-dev \
|
|
||||||
libusbmuxd-dev \
|
|
||||||
libssl-dev \
|
|
||||||
sqlite3 \
|
|
||||||
pkg-config \
|
pkg-config \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libusb-1.0-0-dev \
|
||||||
|
libssl-dev \
|
||||||
|
udev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Clean up
|
|
||||||
|
# libplist
|
||||||
# --------
|
# --------
|
||||||
&& apt-get clean \
|
FROM build-base as build-libplist
|
||||||
&& rm -rf /var/lib/apt/lists/* /var/cache/apt
|
|
||||||
|
# Build
|
||||||
|
RUN git clone https://github.com/libimobiledevice/libplist && cd libplist \
|
||||||
|
&& ./autogen.sh && make -j "$(nproc)" && make install DESTDIR=/build \
|
||||||
|
&& cd .. && rm -rf libplist
|
||||||
|
|
||||||
|
|
||||||
# Build libimobiledevice
|
# libimobiledevice-glue
|
||||||
# ----------------------
|
# ---------------------
|
||||||
RUN git clone https://github.com/libimobiledevice/libplist \
|
FROM build-base as build-libimobiledevice-glue
|
||||||
&& git clone https://github.com/libimobiledevice/libimobiledevice-glue \
|
|
||||||
&& git clone https://github.com/libimobiledevice/libusbmuxd \
|
|
||||||
&& git clone https://github.com/libimobiledevice/libimobiledevice \
|
|
||||||
&& git clone https://github.com/libimobiledevice/usbmuxd \
|
|
||||||
|
|
||||||
&& cd libplist && ./autogen.sh && make && make install && ldconfig \
|
# Install dependencies
|
||||||
|
COPY --from=build-libplist /build /
|
||||||
|
|
||||||
&& cd ../libimobiledevice-glue && PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./autogen.sh --prefix=/usr && make && make install && ldconfig \
|
# Build
|
||||||
|
RUN git clone https://github.com/libimobiledevice/libimobiledevice-glue && cd libimobiledevice-glue \
|
||||||
|
&& ./autogen.sh && make -j "$(nproc)" && make install DESTDIR=/build \
|
||||||
|
&& cd .. && rm -rf libimobiledevice-glue
|
||||||
|
|
||||||
&& cd ../libusbmuxd && PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./autogen.sh && make && make install && ldconfig \
|
|
||||||
|
|
||||||
&& cd ../libimobiledevice && PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./autogen.sh --enable-debug && make && make install && ldconfig \
|
# libtatsu
|
||||||
|
# --------
|
||||||
|
FROM build-base as build-libtatsu
|
||||||
|
|
||||||
&& cd ../usbmuxd && PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --runstatedir=/run && make && make install \
|
# Install dependencies
|
||||||
|
COPY --from=build-libplist /build /
|
||||||
|
|
||||||
# Clean up.
|
# Build
|
||||||
&& cd .. && rm -rf libplist libimobiledevice-glue libusbmuxd libimobiledevice usbmuxd
|
RUN git clone https://github.com/libimobiledevice/libtatsu && cd libtatsu \
|
||||||
|
&& ./autogen.sh && make -j "$(nproc)" && make install DESTDIR=/build \
|
||||||
|
&& cd .. && rm -rf libtatsu
|
||||||
|
|
||||||
# Installing MVT
|
|
||||||
# --------------
|
# libusbmuxd
|
||||||
RUN pip3 install git+https://github.com/mvt-project/mvt.git@main
|
# ----------
|
||||||
|
FROM build-base as build-libusbmuxd
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
COPY --from=build-libplist /build /
|
||||||
|
COPY --from=build-libimobiledevice-glue /build /
|
||||||
|
|
||||||
|
# Build
|
||||||
|
RUN git clone https://github.com/libimobiledevice/libusbmuxd && cd libusbmuxd \
|
||||||
|
&& ./autogen.sh && make -j "$(nproc)" && make install DESTDIR=/build \
|
||||||
|
&& cd .. && rm -rf libusbmuxd
|
||||||
|
|
||||||
|
|
||||||
|
# libimobiledevice
|
||||||
|
# ----------------
|
||||||
|
FROM build-base as build-libimobiledevice
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
COPY --from=build-libplist /build /
|
||||||
|
COPY --from=build-libtatsu /build /
|
||||||
|
COPY --from=build-libimobiledevice-glue /build /
|
||||||
|
COPY --from=build-libusbmuxd /build /
|
||||||
|
|
||||||
|
# Build
|
||||||
|
RUN git clone https://github.com/libimobiledevice/libimobiledevice && cd libimobiledevice \
|
||||||
|
&& ./autogen.sh --enable-debug && make -j "$(nproc)" && make install DESTDIR=/build \
|
||||||
|
&& cd .. && rm -rf libimobiledevice
|
||||||
|
|
||||||
|
|
||||||
|
# usbmuxd
|
||||||
|
# -------
|
||||||
|
FROM build-base as build-usbmuxd
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
COPY --from=build-libplist /build /
|
||||||
|
COPY --from=build-libimobiledevice-glue /build /
|
||||||
|
COPY --from=build-libusbmuxd /build /
|
||||||
|
COPY --from=build-libimobiledevice /build /
|
||||||
|
|
||||||
|
# Build
|
||||||
|
RUN git clone https://github.com/libimobiledevice/usbmuxd && cd usbmuxd \
|
||||||
|
&& ./autogen.sh --sysconfdir=/etc --localstatedir=/var --runstatedir=/run && make -j "$(nproc)" && make install DESTDIR=/build \
|
||||||
|
&& cd .. && rm -rf usbmuxd && mv /build/lib /build/usr/lib
|
||||||
|
|
||||||
|
|
||||||
|
# Create main image
|
||||||
|
FROM ubuntu:22.04 as main
|
||||||
|
|
||||||
|
LABEL org.opencontainers.image.url="https://mvt.re"
|
||||||
|
LABEL org.opencontainers.image.documentation="https://docs.mvt.re"
|
||||||
|
LABEL org.opencontainers.image.source="https://github.com/mvt-project/mvt"
|
||||||
|
LABEL org.opencontainers.image.title="Mobile Verification Toolkit"
|
||||||
|
LABEL org.opencontainers.image.description="MVT is a forensic tool to look for signs of infection in smartphone devices."
|
||||||
|
LABEL org.opencontainers.image.base.name=docker.io/library/ubuntu:22.04
|
||||||
|
|
||||||
|
# Install runtime dependencies
|
||||||
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y \
|
||||||
|
adb \
|
||||||
|
default-jre-headless \
|
||||||
|
libcurl4 \
|
||||||
|
libssl3 \
|
||||||
|
libusb-1.0-0 \
|
||||||
|
python3 \
|
||||||
|
sqlite3
|
||||||
|
COPY --from=build-libplist /build /
|
||||||
|
COPY --from=build-libimobiledevice-glue /build /
|
||||||
|
COPY --from=build-libtatsu /build /
|
||||||
|
COPY --from=build-libusbmuxd /build /
|
||||||
|
COPY --from=build-libimobiledevice /build /
|
||||||
|
COPY --from=build-usbmuxd /build /
|
||||||
|
|
||||||
|
# Install mvt
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y git python3-pip \
|
||||||
|
&& PIP_NO_CACHE_DIR=1 pip3 install git+https://github.com/mvt-project/mvt.git@main \
|
||||||
|
&& apt-get remove -y python3-pip git && apt-get autoremove -y \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Installing ABE
|
# Installing ABE
|
||||||
# --------------
|
ADD https://github.com/nelenkov/android-backup-extractor/releases/download/master-20221109063121-8fdfc5e/abe.jar /opt/abe/abe.jar
|
||||||
RUN mkdir /opt/abe \
|
|
||||||
&& wget https://github.com/nelenkov/android-backup-extractor/releases/download/master-20221109063121-8fdfc5e/abe.jar -O /opt/abe/abe.jar \
|
|
||||||
# Create alias for abe
|
# Create alias for abe
|
||||||
&& echo 'alias abe="java -jar /opt/abe/abe.jar"' >> ~/.bashrc
|
RUN echo 'alias abe="java -jar /opt/abe/abe.jar"' >> ~/.bashrc
|
||||||
|
|
||||||
# Generate adb key folder
|
# Generate adb key folder
|
||||||
# ------------------------------
|
|
||||||
RUN mkdir /root/.android && adb keygen /root/.android/adbkey
|
RUN mkdir /root/.android && adb keygen /root/.android/adbkey
|
||||||
|
|
||||||
# Setup investigations environment
|
# Setup investigations environment
|
||||||
# --------------------------------
|
|
||||||
RUN mkdir /home/cases
|
RUN mkdir /home/cases
|
||||||
WORKDIR /home/cases
|
WORKDIR /home/cases
|
||||||
RUN echo 'echo "Mobile Verification Toolkit @ Docker\n------------------------------------\n\nYou can find information about how to use this image for Android (https://github.com/mvt-project/mvt/tree/master/docs/android) and iOS (https://github.com/mvt-project/mvt/tree/master/docs/ios) in the official docs of the project.\n"' >> ~/.bashrc \
|
RUN echo 'echo "Mobile Verification Toolkit @ Docker\n------------------------------------\n\nYou can find information about how to use this image for Android (https://github.com/mvt-project/mvt/tree/master/docs/android) and iOS (https://github.com/mvt-project/mvt/tree/master/docs/ios) in the official docs of the project.\n"' >> ~/.bashrc \
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
# Create main image
|
||||||
|
FROM python:3.10.14-alpine3.20 as main
|
||||||
|
|
||||||
|
LABEL org.opencontainers.image.url="https://mvt.re"
|
||||||
|
LABEL org.opencontainers.image.documentation="https://docs.mvt.re"
|
||||||
|
LABEL org.opencontainers.image.source="https://github.com/mvt-project/mvt"
|
||||||
|
LABEL org.opencontainers.image.title="Mobile Verification Toolkit (Android)"
|
||||||
|
LABEL org.opencontainers.image.description="MVT is a forensic tool to look for signs of infection in smartphone devices."
|
||||||
|
LABEL org.opencontainers.image.base.name=docker.io/library/python:3.10.14-alpine3.20
|
||||||
|
|
||||||
|
# Install runtime dependencies
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
android-tools \
|
||||||
|
git \
|
||||||
|
libusb \
|
||||||
|
openjdk11-jre-headless \
|
||||||
|
sqlite
|
||||||
|
|
||||||
|
# Install mvt
|
||||||
|
RUN apk add --no-cache git \
|
||||||
|
&& PIP_NO_CACHE_DIR=1 pip3 install git+https://github.com/mvt-project/mvt.git@main \
|
||||||
|
&& apk del git
|
||||||
|
|
||||||
|
# Installing ABE
|
||||||
|
ADD https://github.com/nelenkov/android-backup-extractor/releases/download/master-20221109063121-8fdfc5e/abe.jar /opt/abe/abe.jar
|
||||||
|
# Create alias for abe
|
||||||
|
RUN echo 'alias abe="java -jar /opt/abe/abe.jar"' >> ~/.bashrc
|
||||||
|
|
||||||
|
# Generate adb key folder
|
||||||
|
RUN mkdir /root/.android && adb keygen /root/.android/adbkey
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/usr/local/bin/mvt-android" ]
|
||||||
+135
@@ -0,0 +1,135 @@
|
|||||||
|
# Base image for building libraries
|
||||||
|
# ---------------------------------
|
||||||
|
FROM ubuntu:22.04 as build-base
|
||||||
|
|
||||||
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
# Install build tools and dependencies
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y \
|
||||||
|
build-essential \
|
||||||
|
git \
|
||||||
|
autoconf \
|
||||||
|
automake \
|
||||||
|
libtool-bin \
|
||||||
|
pkg-config \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libusb-1.0-0-dev \
|
||||||
|
libssl-dev \
|
||||||
|
udev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
# libplist
|
||||||
|
# --------
|
||||||
|
FROM build-base as build-libplist
|
||||||
|
|
||||||
|
# Build
|
||||||
|
RUN git clone https://github.com/libimobiledevice/libplist && cd libplist \
|
||||||
|
&& ./autogen.sh && make -j "$(nproc)" && make install DESTDIR=/build \
|
||||||
|
&& cd .. && rm -rf libplist
|
||||||
|
|
||||||
|
|
||||||
|
# libimobiledevice-glue
|
||||||
|
# ---------------------
|
||||||
|
FROM build-base as build-libimobiledevice-glue
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
COPY --from=build-libplist /build /
|
||||||
|
|
||||||
|
# Build
|
||||||
|
RUN git clone https://github.com/libimobiledevice/libimobiledevice-glue && cd libimobiledevice-glue \
|
||||||
|
&& ./autogen.sh && make -j "$(nproc)" && make install DESTDIR=/build \
|
||||||
|
&& cd .. && rm -rf libimobiledevice-glue
|
||||||
|
|
||||||
|
|
||||||
|
# libtatsu
|
||||||
|
# --------
|
||||||
|
FROM build-base as build-libtatsu
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
COPY --from=build-libplist /build /
|
||||||
|
|
||||||
|
# Build
|
||||||
|
RUN git clone https://github.com/libimobiledevice/libtatsu && cd libtatsu \
|
||||||
|
&& ./autogen.sh && make -j "$(nproc)" && make install DESTDIR=/build \
|
||||||
|
&& cd .. && rm -rf libtatsu
|
||||||
|
|
||||||
|
|
||||||
|
# libusbmuxd
|
||||||
|
# ----------
|
||||||
|
FROM build-base as build-libusbmuxd
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
COPY --from=build-libplist /build /
|
||||||
|
COPY --from=build-libimobiledevice-glue /build /
|
||||||
|
|
||||||
|
# Build
|
||||||
|
RUN git clone https://github.com/libimobiledevice/libusbmuxd && cd libusbmuxd \
|
||||||
|
&& ./autogen.sh && make -j "$(nproc)" && make install DESTDIR=/build \
|
||||||
|
&& cd .. && rm -rf libusbmuxd
|
||||||
|
|
||||||
|
|
||||||
|
# libimobiledevice
|
||||||
|
# ----------------
|
||||||
|
FROM build-base as build-libimobiledevice
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
COPY --from=build-libplist /build /
|
||||||
|
COPY --from=build-libtatsu /build /
|
||||||
|
COPY --from=build-libimobiledevice-glue /build /
|
||||||
|
COPY --from=build-libusbmuxd /build /
|
||||||
|
|
||||||
|
# Build
|
||||||
|
RUN git clone https://github.com/libimobiledevice/libimobiledevice && cd libimobiledevice \
|
||||||
|
&& ./autogen.sh --enable-debug && make -j "$(nproc)" && make install DESTDIR=/build \
|
||||||
|
&& cd .. && rm -rf libimobiledevice
|
||||||
|
|
||||||
|
|
||||||
|
# usbmuxd
|
||||||
|
# -------
|
||||||
|
FROM build-base as build-usbmuxd
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
COPY --from=build-libplist /build /
|
||||||
|
COPY --from=build-libimobiledevice-glue /build /
|
||||||
|
COPY --from=build-libusbmuxd /build /
|
||||||
|
COPY --from=build-libimobiledevice /build /
|
||||||
|
|
||||||
|
# Build
|
||||||
|
RUN git clone https://github.com/libimobiledevice/usbmuxd && cd usbmuxd \
|
||||||
|
&& ./autogen.sh --sysconfdir=/etc --localstatedir=/var --runstatedir=/run && make -j "$(nproc)" && make install DESTDIR=/build \
|
||||||
|
&& cd .. && rm -rf usbmuxd && mv /build/lib /build/usr/lib
|
||||||
|
|
||||||
|
|
||||||
|
# Main image
|
||||||
|
# ----------
|
||||||
|
FROM python:3.10.14-alpine3.20 as main
|
||||||
|
|
||||||
|
LABEL org.opencontainers.image.url="https://mvt.re"
|
||||||
|
LABEL org.opencontainers.image.documentation="https://docs.mvt.re"
|
||||||
|
LABEL org.opencontainers.image.source="https://github.com/mvt-project/mvt"
|
||||||
|
LABEL org.opencontainers.image.title="Mobile Verification Toolkit (iOS)"
|
||||||
|
LABEL org.opencontainers.image.description="MVT is a forensic tool to look for signs of infection in smartphone devices."
|
||||||
|
LABEL org.opencontainers.image.base.name=docker.io/library/python:3.10.14-alpine3.20
|
||||||
|
|
||||||
|
# Install runtime dependencies
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
gcompat \
|
||||||
|
libcurl \
|
||||||
|
libssl3 \
|
||||||
|
libusb \
|
||||||
|
sqlite
|
||||||
|
COPY --from=build-libplist /build /
|
||||||
|
COPY --from=build-libimobiledevice-glue /build /
|
||||||
|
COPY --from=build-libtatsu /build /
|
||||||
|
COPY --from=build-libusbmuxd /build /
|
||||||
|
COPY --from=build-libimobiledevice /build /
|
||||||
|
COPY --from=build-usbmuxd /build /
|
||||||
|
|
||||||
|
# Install mvt
|
||||||
|
RUN apk add --no-cache git \
|
||||||
|
&& PIP_NO_CACHE_DIR=1 pip3 install git+https://github.com/mvt-project/mvt.git@main \
|
||||||
|
&& apk del git
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/usr/local/bin/mvt-ios" ]
|
||||||
+1
-1
@@ -27,7 +27,7 @@ dependencies = [
|
|||||||
"packaging >=21.3",
|
"packaging >=21.3",
|
||||||
"appdirs >=1.4.4",
|
"appdirs >=1.4.4",
|
||||||
"iOSbackup >=0.9.923",
|
"iOSbackup >=0.9.923",
|
||||||
"adb-shell >=0.4.3",
|
"adb-shell[usb] >=0.4.3",
|
||||||
"libusb1 >=3.0.0",
|
"libusb1 >=3.0.0",
|
||||||
"cryptography >=42.0.5",
|
"cryptography >=42.0.5",
|
||||||
"pyyaml >=6.0",
|
"pyyaml >=6.0",
|
||||||
|
|||||||
Reference in new issue
Block a user