cuplv / droidel

Framework model for static analysis of Android
Apache License 2.0
45 stars 14 forks source link

unknown class file version error #27

Open tahiat opened 1 year ago

tahiat commented 1 year ago

I have successfully built the Droidel.

scala version 2.10.2
SBT version 0.13.18 JDK "11.0.12"

While running the droidel on an APK using the command _"./droidel.sh -app a2dp.Vol_137.apk -android_jar stubs/out/droidel_android-4.4.2r1.jar" the following error is thrown.

Running dex2jar
dex2jar a2dp.Vol_137.apk -> /home/neamtiu/Tahiatul_WorkSpace/droidel/a2dp.Vol_137_dex2jar.jar

Running JPhantom
Exception in thread "main" java.lang.IllegalArgumentException
    at org.objectweb.asm.ClassReader.<init>(ClassReader.java:170)
    at org.objectweb.asm.ClassReader.<init>(ClassReader.java:153)
    at org.objectweb.asm.ClassReader.<init>(ClassReader.java:424)
    at jphantom.hier.ClassHierarchies.fromJar(ClassHierarchies.java:75)
    at jphantom.hier.ClassHierarchies.fromJar(ClassHierarchies.java:52)
    at jphantom.Driver.<init>(Driver.java:51)
    at jphantom.Driver.<init>(Driver.java:44)
    at jphantom.Driver.main(Driver.java:314)
JPhantom failed: java.lang.RuntimeException: Nonzero exit value: 1. Continuing
Running JPhantom took 4.151
Transforming /home/neamtiu/Tahiatul_WorkSpace/droidel/a2dp.Vol_137/
[error] (run-main-0) com.ibm.wala.shrikeCT.InvalidClassFileException: Class file invalid at 10: unknown class file version: 55.0
com.ibm.wala.shrikeCT.InvalidClassFileException: Class file invalid at 10: unknown class file version: 55.0
    at com.ibm.wala.shrikeCT.ClassReader.parse(ClassReader.java:68)
    at com.ibm.wala.shrikeCT.ClassReader.<init>(ClassReader.java:44)
    at com.ibm.wala.util.shrike.ShrikeClassReaderHandle.get(ShrikeClassReaderHandle.java:80)
    at com.ibm.wala.classLoader.ClassFileModule.<init>(ClassFileModule.java:30)
    at com.ibm.wala.ipa.callgraph.AnalysisScope.addClassFileToScope(AnalysisScope.java:210)
    at edu.colorado.droidel.driver.AndroidAppTransformer$$anonfun$makeAnalysisScope$2.apply(AndroidAppTransformer.scala:160)
    at edu.colorado.droidel.driver.AndroidAppTransformer$$anonfun$makeAnalysisScope$2.apply(AndroidAppTransformer.scala:153)
    at scala.collection.immutable.List.foreach(List.scala:318)
    at edu.colorado.droidel.driver.AndroidAppTransformer.makeAnalysisScope(AndroidAppTransformer.scala:153)
    at edu.colorado.droidel.driver.AndroidAppTransformer.transformApp(AndroidAppTransformer.scala:715)
    at edu.colorado.droidel.driver.Main$.main(Main.scala:98)
    at edu.colorado.droidel.driver.Main.main(Main.scala)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[trace] Stack trace suppressed: run last compile:runMain for the full output.
java.lang.RuntimeException: Nonzero exit code: 1
    at scala.sys.package$.error(package.scala:27)
[trace] Stack trace suppressed: run last compile:runMain for the full output.
[error] (compile:runMain) Nonzero exit code: 1
[error] Total time: 7 s, completed Jan 9, 2023, 7:37:15 AM

How can I solve this issue?

I see the activity in this repo has been quiet for a long time. Would be helpful if I get any direction about the version that I should use to successfully run this.