22FROM ubuntu:20.04
33
44MAINTAINER Axelle Apvrille
5- ENV REFRESHED_AT 2021-01-14
5+ ENV REFRESHED_AT 2021-02-22
66
77ARG DEBIAN_FRONTEND=noninteractive
88ARG SSH_PASSWORD
99ARG VNC_PASSWORD
10+ ARG JDK_VERSION=8
1011ENV ANDROID_SDK_VERSION "6858069"
1112
1213# docker run --name latest-ubuntu --network=host -e DISPLAY=$DISPLAY --rm -it ubuntu:20.04
13-
14- RUN apt-get update && apt-get install -yqq default-jdk libpulse0 libxcursor1 adb \
14+ RUN apt-get update && apt-get install -yqq openjdk-${JDK_VERSION}-jdk libpulse0 libxcursor1 adb \
1515 git build-essential supervisor wget unzip zip \
1616 iptables iputils-ping \
1717 libxml2-dev libxslt-dev \
1818 openssh-server ssh \
19- xvfb x11vnc xfce4
19+ xvfb x11vnc xfce4
2020
2121# --------------------- Android SDK and emulators
2222ENV ANDROID_SDK_ROOT /opt/android-sdk
23-
2423RUN mkdir -p ${ANDROID_SDK_ROOT} && wget -q -O "/opt/android-sdk/tools-linux.zip" https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_VERSION}_latest.zip && unzip /opt/android-sdk/tools-linux.zip -d $ANDROID_SDK_ROOT && rm -f /opt/android-sdk/tools-linux.zip && cd ${ANDROID_SDK_ROOT}/cmdline-tools && mkdir -p tools/latest && mv bin/* ./tools/latest && mv lib/ tools && rmdir bin
2524ENV PATH $PATH:${ANDROID_SDK_ROOT}/cmdline-tools/tools/latest
2625RUN echo y | sdkmanager --update
2726RUN yes | sdkmanager --licenses
2827RUN echo "yes" | sdkmanager "emulator" \
2928 "tools" \
3029 "platform-tools" \
31- "build-tools;30 .0.3 " \
30+ "build-tools;31 .0.0-rc1 " \
3231 "platforms;android-22" \
3332 "platforms;android-30" \
3433 "system-images;android-22;google_apis;armeabi-v7a" \
35- "system-images;android-30;google_apis_playstore ;x86_64"
34+ "system-images;android-30;google_apis ;x86_64"
3635
3736RUN echo "no" | avdmanager create avd -n "Android51" -k "system-images;android-22;google_apis;armeabi-v7a"
38- RUN echo "no" | avdmanager create avd -n "Android11_x86_64" -k "system-images;android-30;google_apis_playstore ;x86_64"
37+ RUN echo "no" | avdmanager create avd -n "Android11_x86_64" -k "system-images;android-30;google_apis ;x86_64"
3938ENV LD_LIBRARY_PATH $LD_LIBRARY_PATH:${ANDROID_SDK_ROOT}/emulator/lib64:${ANDROID_SDK_ROOT}/emulator/lib64/qt/lib
39+
4040# for the "root without --no-sandbox" bug
4141ENV QTWEBENGINE_DISABLE_SANDBOX 1
4242
43+ # ------------------------ Dexcalibur -----------------------------------------------------
44+ ENV FRIDA_SERVER frida-server-14.2.13-android-x86_64.xz
45+ RUN apt install -yqq curl dirmngr apt-transport-https lsb-release ca-certificates \
46+ python3-pip python
47+ RUN curl -fsSL https://deb.nodesource.com/setup_12.x | bash -
48+ RUN apt install nodejs
49+ RUN pip3 install frida-tools
50+ RUN npm install -g npm && npm install -g dexcalibur
51+ RUN mkdir -p /workshop && wget -q -O /workshop/${FRIDA_SERVER} https://github.com/frida/frida/releases/download/14.2.13/${FRIDA_SERVER} && cd /workshop && unxz ${FRIDA_SERVER}
52+
4353# ------------------------ Install SSH access ---------------------------------------------
4454RUN mkdir /var/run/sshd \
4555 && echo "root:${SSH_PASSWORD}" | chpasswd \
@@ -59,7 +69,8 @@ RUN mkdir -p /var/log/supervisor
5969COPY ./setup/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
6070
6171RUN echo "export PATH=$PATH" >> /etc/profile \
62- && echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> /etc/profile
72+ && echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> /etc/profile \
73+ && echo "export QTWEBENGINE_DISABLE_SANDBOX=1" >> /etc/profile
6374RUN echo "alias emulator5='/opt/android-sdk/emulator/emulator -avd Android51 -no-audio -partition-size 512 -no-boot-anim'" >> /root/.bashrc \
6475 && echo "alias emulator='/opt/android-sdk/tools/emulator -avd Android11_x86_64 -no-audio -no-boot-anim'" >> /root/.bashrc \
6576 && echo "export LC_ALL=C" >> /root/.bashrc
@@ -79,4 +90,5 @@ EXPOSE 5554
7990EXPOSE 5555
8091EXPOSE 5900
8192EXPOSE 5037
93+ EXPOSE 8000
8294EXPOSE 22
0 commit comments