first commit
This commit is contained in:
commit
cd1e91bb99
287 changed files with 86425 additions and 0 deletions
62
rasta_exp/docker/thresher/hopper_home_build/Dockerfile
Normal file
62
rasta_exp/docker/thresher/hopper_home_build/Dockerfile
Normal file
|
@ -0,0 +1,62 @@
|
|||
FROM ubuntu:14.04
|
||||
|
||||
# RUN sed -i -e "s/archive.ubuntu.com/old-releases.ubuntu.com/g" /etc/apt/sources.list
|
||||
|
||||
RUN apt-get update && apt-get install -y git time
|
||||
|
||||
RUN mkdir /workspace
|
||||
RUN git init /workspace/hopper && \
|
||||
cd /workspace/hopper && \
|
||||
git remote add origin https://github.com/cuplv/hopper.git && \
|
||||
git fetch --depth=1 origin 9f0e99360468f74762cacc81dcba933ac255bc87 && \
|
||||
git reset --hard FETCH_HEAD
|
||||
|
||||
RUN git init /workspace/droidel && \
|
||||
cd /workspace/droidel && \
|
||||
git remote add origin https://github.com/cuplv/droidel.git && \
|
||||
git fetch --depth=1 origin 04dd9858a20d166571b56af164059aad5ebe60d2 && \
|
||||
git reset --hard FETCH_HEAD
|
||||
|
||||
RUN apt-get update && apt-get install -y openjdk-7-jdk ant wget unzip maven maven2 binutils g++ \
|
||||
make scala python
|
||||
|
||||
RUN cd /workspace/ && \
|
||||
wget http://downloads.sourceforge.net/project/dex2jar/dex2jar-2.0-20140818.061505-10.zip && \
|
||||
unzip dex2jar-2.0-20140818.061505-10.zip && rm dex2jar-2.0-20140818.061505-10.zip && \
|
||||
mv dex2jar-2.0-SNAPSHOT dex2jar && \
|
||||
chmod +x /workspace/dex2jar/*
|
||||
|
||||
RUN cd /workspace/ && \
|
||||
wget -O - https://github.com/sbt/sbt/releases/download/v0.13.18/sbt-0.13.18.tgz | tar xzv && \
|
||||
cd sbt && \
|
||||
mkdir -p /root/.ivy2/local && \
|
||||
cp -r lib/local-preloaded/* /root/.ivy2/local/
|
||||
|
||||
ENV PATH="/workspace/sbt/bin:/workspace/dex2jar:$PATH"
|
||||
|
||||
RUN mkdir /workspace/hopper/lib && git init /workspace/hopper/lib/z3 && \
|
||||
cd /workspace/hopper/lib/z3 && \
|
||||
git remote add origin https://github.com/Z3Prover/z3.git && \
|
||||
git fetch --depth=1 origin 7f6ef0b6c0813f2e9e8f993d45722c0e5b99e152 && \
|
||||
git reset --hard FETCH_HEAD && \
|
||||
python scripts/mk_make.py --java && cd build && make && \
|
||||
cp *.jar ../.. && cp *.so ../..
|
||||
|
||||
RUN sed -i 's#cd walautil#cd walautil \&\& git checkout 6aad86d730da36f6b21363a14612eb7fa45535ac#' /workspace/droidel/lib/install_deps.sh && \
|
||||
sed -i 's#cd jphantom#cd jphantom \&\& git checkout 097a8f82bd09cf32b7826fa3876be4018c3eb562#' /workspace/droidel/lib/install_deps.sh && \
|
||||
sed -i 's#javac#javac -encoding ISO-8859-1#g' /workspace/droidel/stubs/compile_stubs.sh && \
|
||||
cd /workspace/droidel/lib/ && ./install_deps.sh && \
|
||||
cd /workspace/droidel && sbt compile && sbt publishLocal
|
||||
|
||||
COPY android-4.4.2.jar /workspace/droidel/stubs/
|
||||
|
||||
RUN cd /workspace/droidel/stubs/ && \
|
||||
./compile_stubs.sh android-4.4.2.jar && \
|
||||
cp /workspace/droidel/stubs/out/droidel_android-4.4.2.jar /workspace/hopper/lib/
|
||||
|
||||
RUN cd /workspace/hopper && \
|
||||
sed -i 's#target/scala-2.10/hopper_2.10-0.1-one-jar.jar#/workspace/hopper/target/scala-2.10/hopper_2.10-0.1-one-jar.jar#' /workspace/hopper/hopper.sh && \
|
||||
sed -i 's#pwd#dirname -- "$(readlink -f "${BASH_SOURCE}")"#' /workspace/hopper/hopper.sh && \
|
||||
sbt one-jar
|
||||
|
||||
COPY run.sh /
|
BIN
rasta_exp/docker/thresher/hopper_home_build/android-4.4.2.jar
Normal file
BIN
rasta_exp/docker/thresher/hopper_home_build/android-4.4.2.jar
Normal file
Binary file not shown.
151
rasta_exp/docker/thresher/hopper_home_build/errors
Normal file
151
rasta_exp/docker/thresher/hopper_home_build/errors
Normal file
|
@ -0,0 +1,151 @@
|
|||
JarClassLoader: Warning: Null manifest from input stream associated with: lib/libz3java.so
|
||||
JarClassLoader: Warning: Null manifest from input stream associated with: lib/javax.inject-1.jar
|
||||
JarClassLoader: Warning: Null manifest from input stream associated with: lib/libz3.s
|
||||
|
||||
13CC67ECBFF7B04A052F3690E553BE321285B9379D9CF0A9FCB479FD772DF395.apk:
|
||||
```
|
||||
128 invokevirtual < Application, Lcom/reg/MainRegActivity$2, onClick(Landroid/view/View;)V > v128,v122 @128 exception:v130
|
||||
BB127
|
||||
|
||||
at scala.Predef$.assert(Predef.scala:179)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.forkToPredecessorBlocks(UnstructuredSymbolicExecutor.scala:459)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.forkToPredecessorBlocks(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.executeBackwardIntraproceduralWhile(UnstructuredSymbolicExecutor.scala:406)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.executeBackwardIntraproceduralWhile(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.executeBackwardWhileHelper(UnstructuredSymbolicExecutor.scala:776)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.executeBackwardWhileHelper(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.executeBackwardWhile(UnstructuredSymbolicExecutor.scala:759)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.executeBackwardWhile(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.executeBackward(UnstructuredSymbolicExecutor.scala:815)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.executeBackward(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.executeBackward(UnstructuredSymbolicExecutor.scala:803)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.executeBackward(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient$$anonfun$generateWitness$1.apply(AndroidLeakClient.scala:258)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient$$anonfun$generateWitness$1.apply(AndroidLeakClient.scala:247)
|
||||
at scala.collection.LinearSeqOptimized$class.exists(LinearSeqOptimized.scala:80)
|
||||
at scala.collection.immutable.List.exists(List.scala:84)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.generateWitness(AndroidLeakClient.scala:247)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.refuteFieldErrorForward(AndroidLeakClient.scala:184)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient$$anonfun$refuteFieldErrors$1.apply(AndroidLeakClient.scala:121)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient$$anonfun$refuteFieldErrors$1.apply(AndroidLeakClient.scala:119)
|
||||
at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:144)
|
||||
at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:144)
|
||||
at scala.collection.mutable.LinkedHashSet.foreach(LinkedHashSet.scala:87)
|
||||
at scala.collection.TraversableOnce$class.foldLeft(TraversableOnce.scala:144)
|
||||
at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:105)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.refuteFieldErrors(AndroidLeakClient.scala:119)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.check(AndroidLeakClient.scala:81)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.check(AndroidLeakClient.scala:24)
|
||||
at edu.colorado.hopper.driver.Main$.main(Main.scala:72)
|
||||
at edu.colorado.hopper.driver.Main.main(Main.scala)
|
||||
... 6 more
|
||||
```
|
||||
|
||||
62BDA1D7ABB522DEFE0A82731792D0E3F9DB38969778B837CB1B51782051F46B.apk:
|
||||
```
|
||||
902 v996 = invokevirtual < Application, Lcom/nd/dianjin/b, onTouch(Landroid/view/View;Landroid/view/MotionEvent;)Z > v994,v26,v201 @902 exception:v997
|
||||
BB844
|
||||
|
||||
at scala.Predef$.assert(Predef.scala:179)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.forkToPredecessorBlocks(UnstructuredSymbolicExecutor.scala:459)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.forkToPredecessorBlocks(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.executeBackwardIntraproceduralWhile(UnstructuredSymbolicExecutor.scala:406)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.executeBackwardIntraproceduralWhile(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.executeBackwardWhileHelper(UnstructuredSymbolicExecutor.scala:776)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.executeBackwardWhileHelper(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.executeBackwardWhile(UnstructuredSymbolicExecutor.scala:759)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.executeBackwardWhile(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.executeBackward(UnstructuredSymbolicExecutor.scala:815)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.executeBackward(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.executeBackward(UnstructuredSymbolicExecutor.scala:803)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.executeBackward(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient$$anonfun$generateWitness$1.apply(AndroidLeakClient.scala:258)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient$$anonfun$generateWitness$1.apply(AndroidLeakClient.scala:247)
|
||||
at scala.collection.LinearSeqOptimized$class.exists(LinearSeqOptimized.scala:80)
|
||||
at scala.collection.immutable.List.exists(List.scala:84)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.generateWitness(AndroidLeakClient.scala:247)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.refuteFieldErrorForward(AndroidLeakClient.scala:184)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient$$anonfun$refuteFieldErrors$1.apply(AndroidLeakClient.scala:121)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient$$anonfun$refuteFieldErrors$1.apply(AndroidLeakClient.scala:119)
|
||||
at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:144)
|
||||
at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:144)
|
||||
at scala.collection.mutable.LinkedHashSet.foreach(LinkedHashSet.scala:87)
|
||||
at scala.collection.TraversableOnce$class.foldLeft(TraversableOnce.scala:144)
|
||||
at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:105)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.refuteFieldErrors(AndroidLeakClient.scala:119)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.check(AndroidLeakClient.scala:81)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.check(AndroidLeakClient.scala:24)
|
||||
at edu.colorado.hopper.driver.Main$.main(Main.scala:72)
|
||||
at edu.colorado.hopper.driver.Main.main(Main.scala)
|
||||
... 6 more
|
||||
```
|
||||
|
||||
K9Mail:
|
||||
```
|
||||
Exception in thread "main" java.lang.reflect.InvocationTargetException
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
|
||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||
at java.lang.reflect.Method.invoke(Method.java:606)
|
||||
at com.simontuffs.onejar.Boot.run(Boot.java:340)
|
||||
at com.simontuffs.onejar.Boot.main(Boot.java:166)
|
||||
Caused by: java.lang.RuntimeException:
|
||||
at scala.sys.package$.error(package.scala:27)
|
||||
at edu.colorado.walautil.Util$.Assert(Util.scala:23)
|
||||
at edu.colorado.walautil.Util$.Assert(Util.scala:22)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.refuteFieldErrorForward(AndroidLeakClient.scala:198)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient$$anonfun$refuteFieldErrors$1.apply(AndroidLeakClient.scala:121)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient$$anonfun$refuteFieldErrors$1.apply(AndroidLeakClient.scala:119)
|
||||
at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:144)
|
||||
at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:144)
|
||||
at scala.collection.mutable.LinkedHashSet.foreach(LinkedHashSet.scala:87)
|
||||
at scala.collection.TraversableOnce$class.foldLeft(TraversableOnce.scala:144)
|
||||
at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:105)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.refuteFieldErrors(AndroidLeakClient.scala:119)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.check(AndroidLeakClient.scala:81)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.check(AndroidLeakClient.scala:24)
|
||||
at edu.colorado.hopper.driver.Main$.main(Main.scala:72)
|
||||
at edu.colorado.hopper.driver.Main.main(Main.scala)
|
||||
... 6 more
|
||||
```
|
||||
|
||||
|
||||
DroidLife:
|
||||
```
|
||||
v343 = phi v10,v12,v14,v16,v18,v20,v22,v24,v26,v28,v30,v32,v34,v36,v38,v40,v42,v44,v46,v48,v50,v52,v54,v56,v58,v60,v62,v64,v66,v68,v70,v72,v74,v76,v78,v80,v82,v84,v86,v88,v90,v92
|
||||
296 invokevirtual < Application, Lorg/jtb/droidlife/CustomDialog$Builder$1, onClick(Landroid/content/DialogInterface;I)V > v341,v343,v344 @296 exception:v345
|
||||
BB268
|
||||
|
||||
at scala.Predef$.assert(Predef.scala:179)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.forkToPredecessorBlocks(UnstructuredSymbolicExecutor.scala:459)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.forkToPredecessorBlocks(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.executeBackwardIntraproceduralWhile(UnstructuredSymbolicExecutor.scala:406)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.executeBackwardIntraproceduralWhile(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.executeBackwardWhileHelper(UnstructuredSymbolicExecutor.scala:776)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.executeBackwardWhileHelper(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.executeBackwardWhile(UnstructuredSymbolicExecutor.scala:759)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.executeBackwardWhile(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.executeBackward(UnstructuredSymbolicExecutor.scala:815)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.executeBackward(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.executor.UnstructuredSymbolicExecutor$class.executeBackward(UnstructuredSymbolicExecutor.scala:803)
|
||||
at edu.colorado.hopper.executor.DefaultSymbolicExecutor.executeBackward(UnstructuredSymbolicExecutor.scala:34)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient$$anonfun$generateWitness$1.apply(AndroidLeakClient.scala:258)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient$$anonfun$generateWitness$1.apply(AndroidLeakClient.scala:247)
|
||||
at scala.collection.LinearSeqOptimized$class.exists(LinearSeqOptimized.scala:80)
|
||||
at scala.collection.immutable.List.exists(List.scala:84)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.generateWitness(AndroidLeakClient.scala:247)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.refuteFieldErrorForward(AndroidLeakClient.scala:184)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient$$anonfun$refuteFieldErrors$1.apply(AndroidLeakClient.scala:121)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient$$anonfun$refuteFieldErrors$1.apply(AndroidLeakClient.scala:119)
|
||||
at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:144)
|
||||
at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:144)
|
||||
at scala.collection.mutable.LinkedHashSet.foreach(LinkedHashSet.scala:87)
|
||||
at scala.collection.TraversableOnce$class.foldLeft(TraversableOnce.scala:144)
|
||||
at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:105)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.refuteFieldErrors(AndroidLeakClient.scala:119)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.check(AndroidLeakClient.scala:81)
|
||||
at edu.colorado.hopper.client.android.AndroidLeakClient.check(AndroidLeakClient.scala:24)
|
||||
at edu.colorado.hopper.driver.Main$.main(Main.scala:72)
|
||||
at edu.colorado.hopper.driver.Main.main(Main.scala)
|
||||
... 6 more
|
||||
```
|
26
rasta_exp/docker/thresher/hopper_home_build/run.sh
Executable file
26
rasta_exp/docker/thresher/hopper_home_build/run.sh
Executable file
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
APK_FILENAME=$1
|
||||
|
||||
export TIME="time: %e
|
||||
kernel-cpu-time: %S
|
||||
user-cpu-time: %U
|
||||
max-rss-mem: %M
|
||||
avg-rss-mem: %t
|
||||
avg-total-mem: %K
|
||||
page-size: %Z
|
||||
nb-major-page-fault: %F
|
||||
nb-minor-page-fault: %R
|
||||
nb-fs-input: %I
|
||||
nb-fs-output: %O
|
||||
nb-socket-msg-received: %r
|
||||
nb-socket-msg-sent: %s
|
||||
nb-signal-delivered: %k
|
||||
exit-status: %x"
|
||||
|
||||
JAR_FILENAME=$(echo ${APK_FILENAME} | sed 's/.apk/-dex2jar.jar/')
|
||||
|
||||
cd /mnt
|
||||
#/usr/bin/time -o /mnt/report -q /usr/bin/timeout --kill-after=20s ${TIMEOUT}
|
||||
sh -c "d2j-dex2jar.sh ${APK_FILENAME} && /workspace/hopper/hopper.sh -app ${JAR_FILENAME} -droidel_home /workspace/droidel -android_jar /workspace/hopper/lib/droidel_android-4.4.2.jar -check_android_leaks"
|
||||
#> /mnt/stdout 2> /mnt/stderr
|
Loading…
Add table
Add a link
Reference in a new issue