Skip to content

Commit 76fab24

Browse files
committed
Added enjarify and frida. Updated versions of apktool, smali, baksmali
1 parent 9e770bc commit 76fab24

File tree

2 files changed

+33
-7
lines changed

2 files changed

+33
-7
lines changed

Dockerfile

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
FROM ubuntu:16.04
22

3-
MAINTAINER Axelle Apvrille <[email protected]>
4-
ENV REFRESHED_AT 2017-04-25
3+
MAINTAINER Axelle Apvrille
4+
ENV REFRESHED_AT 2017-07-20
55

66
RUN DEBIAN_FRONTEND=noninteractive
77

8-
ENV SMALI_VERSION "2.2b4"
9-
ENV APKTOOL_VERSION "2.2.2"
8+
ENV SMALI_VERSION "2.2.1"
9+
ENV APKTOOL_VERSION "2.2.3"
1010
ENV JD_VERSION "1.4.0"
1111
ENV PROCYON_VERSION "0.5.30"
1212
ENV ANDROID_SDK_VERSION "r25.2.5"
1313
ENV ANDROID_BUILD_VERSION "25.0.3"
1414
ENV ANDROID_NDK_VERSION "r14b"
15+
ENV FRIDA_VERSION "10.2.3"
1516
ENV SSH_PASSWORD "rootpass"
1617
ENV VNC_PASSWORD "rootpass"
1718
ENV USER root
@@ -50,6 +51,7 @@ RUN apt-get update && \
5051
npm \
5152
tree \
5253
firefox \
54+
python3 \
5355
libc6-i686:i386 \
5456
libexpat1:i386 \
5557
libffi6:i386 \
@@ -172,12 +174,16 @@ RUN cd /opt && git clone https://github.com/bluemutedwisdom/google-play-download
172174

173175
# Radare2
174176
RUN cd /opt && git clone https://github.com/radare/radare2
175-
RUN cd /opt/radare2 && sys/install.sh && make symstall
177+
RUN cd /opt/radare2 && sys/install.sh && make symstall && r2pm init && pip install r2pipe
178+
179+
# Frida
180+
RUN pip install frida
181+
RUN cd /opt && wget -q -O "/opt/frida-server.xz" https://github.com/frida/frida/releases/download/${FRIDA_VERSION}/frida-server-${FRIDA_VERSION}-android-arm.xz && unxz /opt/frida-server.xz
176182

177183
# Simplify
178184
#RUN cd /opt && git clone --recursive https://github.com/CalebFenton/simplify.git && cd simplify && ./gradlew fatjar && cd /opt && ln -s /opt/simplify/simplify/build/libs/simplify.jar simplify.jar
179185

180-
# Small tools
186+
# Other tools with simple install
181187
RUN wget -q -O "/opt/oat2dex.py" https://github.com/jakev/oat2dex-python/blob/master/oat2dex.py
182188
RUN wget -q -O "/opt/extract.sh" https://gist.githubusercontent.com/PaulSec/39245428eb74577c5234/raw/4ff2c87fbe35c0cfdb55af063a6fee072622f292/extract.sh \
183189
&& sed -i 's/\/path\/to\/jd-gui/java -jar \/opt\/jd-gui\.jar/g' /opt/extract.sh \
@@ -187,6 +193,8 @@ RUN mkdir -p /opt/jebPlugins && wget -q -O "/opt/jebPlugins/DeCluster.java" http
187193
RUN wget -q -O "/opt/ClassyShark.jar" https://github.com/google/android-classyshark/releases/download/6.7/ClassyShark.jar
188194
RUN wget -q -O "/opt/androarsc.py" https://raw.githubusercontent.com/androguard/androguard/master/androarsc.py
189195
RUN wget -q -O "/opt/cfr_0_118.jar" http://www.benf.org/other/cfr/cfr_0_118.jar
196+
RUN cd /opt && git clone https://github.com/Storyyeller/enjarify && ln -s /opt/enjarify/enjarify.sh /usr/bin/enjarify
197+
190198

191199
# IDA Pro Demo
192200
RUN wget -q -O "/opt/idademo695_linux.tgz" https://out7.hex-rays.com/files/idademo695_linux.tgz
@@ -214,6 +222,8 @@ RUN echo n | android create avd --force --name "Android70" --target android-24 -
214222
RUN mkdir ${ANDROID_HOME}/tools/keymaps && touch ${ANDROID_HOME}/tools/keymaps/en-us
215223
ENV LD_LIBRARY_PATH $LD_LIBRARY_PATH:${ANDROID_HOME}/tools/lib64/qt/lib:${ANDROID_HOME}/tools/lib64
216224

225+
226+
217227
# Android NDK
218228
RUN wget -q -O "/opt/android-ndk-${ANDROID_NDK_VERSION}-linux-x86-64.zip" https://dl.google.com/android/repository/android-ndk-${ANDROID_NDK_VERSION}-linux-x86_64.zip && cd /opt && unzip /opt/android-ndk-${ANDROID_NDK_VERSION}-linux-x86-64.zip && rm -f /opt/android-ndk-${ANDROID_NDK_VERSION}-linux-x86-64.zip
219229
ENV NDK "/opt/android-ndk-${ANDROID_NDK_VERSION}"
@@ -228,6 +238,7 @@ RUN echo "export PATH=$PATH" >> /etc/profile
228238
RUN echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> /etc/profile
229239
RUN echo "alias emulator='/opt/android-sdk-linux/tools/emulator64-arm -avd Arm51 -no-audio -partition-size 512 -no-boot-anim'" >> /root/.bashrc
230240
RUN echo "alias emulator7='/opt/android-sdk-linux/tools/emulator64-arm -avd Android70 -no-boot-anim'" >> /root/.bashrc
241+
RUN echo "export LC_ALL=C" >> /root/.bashrc
231242

232243
RUN mkdir -p /workshop
233244
WORKDIR /workshop

README.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ This container contains many tools to reverse engineer Android applications.
2020
- classyshark
2121
- CFR
2222
- dex2jar
23+
- enjarify
24+
- frida
2325
- google play api
2426
- google play crawler
2527
- google play downloader
@@ -121,6 +123,18 @@ To change the default password, or for any other changes, modify the `Dockerfile
121123

122124
You are welcome to post issues or suggestions.
123125

126+
# Using [frida](https://www.frida.re/)
127+
128+
Only the part on the Linux host is installed.
129+
You need to push the frida server to the Android emulator.
130+
131+
```bash
132+
$ adb push /opt/frida-server /data/local/tmp
133+
$ adb shell "chmod 755 /data/local/tmp/frida-server"
134+
$ adb shell
135+
1|root@generic:/data/local/tmp # ./frida-server
136+
```
137+
124138

125139
# Hack.lu 2016 Workshop
126140

@@ -130,4 +144,5 @@ This image **does not provide any Android sample**.
130144

131145
# Digest
132146

133-
sha256:151c75d3ae2014725cd85ba037ac280d19babf594213656fa54e8567af2bbc13
147+
sha256:0f02906ab078db5a919d9d36470fa2fed5c989cc217dd97ab677e66eaa442e52
148+

0 commit comments

Comments
 (0)