Closed eugenood closed 6 years ago
That's definitely not an expected behavior. If you can send me the app you tested, then I can test it and fix it.
Sent you through your gmail.
I've updated sireum, and now it gave a different error for the app.apk
.
An error occured on 20150406-093754
java.lang.RuntimeException: procedure name not correct: .length
at org.sireum.jawa.JawaProcedure.getShortName(JawaProcedure.scala:206)
at org.sireum.jawa.JawaProcedure.setName(JawaProcedure.scala:247)
at org.sireum.jawa.JawaProcedure.init(JawaProcedure.scala:145)
at org.sireum.jawa.JawaProcedure.init(JawaProcedure.scala:183)
at org.sireum.jawa.RecordHierarchy.org$sireum$jawa$RecordHierarchy$$findProcedureThroughHierarchy(RecordHierarchy.scala:375)
at org.sireum.jawa.RecordHierarchy$$anonfun$resolveAbstractDispatch$2.apply(RecordHierarchy.scala:408)
at org.sireum.jawa.RecordHierarchy$$anonfun$resolveAbstractDispatch$2.apply(RecordHierarchy.scala:407)
at scala.collection.mutable.HashSet.foreach(HashSet.scala:78)
at org.sireum.jawa.RecordHierarchy.resolveAbstractDispatch(RecordHierarchy.scala:406)
at org.sireum.jawa.alir.util.CallHandler$.getUnknownVirtualCalleeProcedures(CallHandler.scala:52)
at org.sireum.jawa.alir.pta.reachingFactsAnalysis.ReachingFactsAnalysisHelper$$anonfun$getCalleeSet$1.apply(ReachingFactsAnalysisHelper.scala:136)
at org.sireum.jawa.alir.pta.reachingFactsAnalysis.ReachingFactsAnalysisHelper$$anonfun$getCalleeSet$1.apply(ReachingFactsAnalysisHelper.scala:115)
at scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:322)
at scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:978)
at org.sireum.jawa.alir.pta.reachingFactsAnalysis.ReachingFactsAnalysisHelper$.getCalleeSet(ReachingFactsAnalysisHelper.scala:114)
at org.sireum.amandroid.alir.pta.reachingFactsAnalysis.AndroidReachingFactsAnalysisBuilder$Callr.resolveCall(AndroidReachingFactsAnalysis.scala:336)
at org.sireum.jawa.alir.dataFlowAnalysis.InterProceduralMonotoneDataFlowAnalysisFramework$IMdaf$1.org$sireum$jawa$alir$dataFlowAnalysis$InterProceduralMonotoneDataFlowAnalysisFramework$IMdaf$$jumpF$2(InterProceduralMonotoneDataFlowAnalysisFramework.scala:477)
at org.sireum.jawa.alir.dataFlowAnalysis.InterProceduralMonotoneDataFlowAnalysisFramework$IMdaf$1.visitForward(InterProceduralMonotoneDataFlowAnalysisFramework.scala:514)
at org.sireum.jawa.alir.dataFlowAnalysis.InterProceduralMonotoneDataFlowAnalysisFramework$IMdaf$1.caculateResult(InterProceduralMonotoneDataFlowAnalysisFramework.scala:526)
at org.sireum.jawa.alir.dataFlowAnalysis.InterProceduralMonotoneDataFlowAnalysisFramework$IMdaf$1.visit(InterProceduralMonotoneDataFlowAnalysisFramework.scala:532)
at org.sireum.jawa.alir.dataFlowAnalysis.InterProceduralMonotoneDataFlowAnalysisFramework$.process$1(InterProceduralMonotoneDataFlowAnalysisFramework.scala:564)
at org.sireum.jawa.alir.dataFlowAnalysis.InterProceduralMonotoneDataFlowAnalysisFramework$.build(InterProceduralMonotoneDataFlowAnalysisFramework.scala:601)
at org.sireum.jawa.alir.dataFlowAnalysis.InterProceduralMonotoneDataFlowAnalysisFramework$$anonfun$apply$2.apply(InterProceduralMonotoneDataFlowAnalysisFramework.scala:74)
at org.sireum.jawa.alir.dataFlowAnalysis.InterProceduralMonotoneDataFlowAnalysisFramework$$anonfun$apply$2.apply(InterProceduralMonotoneDataFlowAnalysisFramework.scala:74)
at org.sireum.amandroid.alir.pta.reachingFactsAnalysis.AndroidReachingFactsAnalysisBuilder.build(AndroidReachingFactsAnalysis.scala:74)
at org.sireum.amandroid.alir.pta.reachingFactsAnalysis.AndroidReachingFactsAnalysis$.apply(AndroidReachingFactsAnalysis.scala:739)
at org.sireum.amandroid.security.AmandroidSocket$$anonfun$runWithDDA$1.apply(AmandroidSocket.scala:122)
Thanks for the report. I still working on fix those bugs.
You can try:
Doesn't help. Still the same error.
It does not have error in my site. I tested: sireum aman taint -m 6 -ns -to 10 -o ~/Desktop/output ~/Desktop/test/s/apks/app.apk apps/amandroid/taintAnalysis/sourceAndSinks/TaintSourcesAndSinks.txt and: sireum aman gen -ns -to 4 -o ~/Desktop/output -m 4 ~/Desktop/test/s/apks/app.apk
Both gives me good result.
So, are you using sireum Development version? Currently sireum stable version does not support those bug fixs.
I got the following error when running the following:
Within the
.errorlog
file:May I know what is the significance of this error? This error only work on this particular obfuscated APK. Does it not work on all obfuscated APK, or is it a bug?
In addition, even though I did not get this error while analysing whatsapp, staging does not generate any control flow graph, and genGraph produce a graph with only 1 node. Is this an expected behavior?
Thanks.