arguslab / Argus-SAF

Argus static analysis framework
Apache License 2.0
181 stars 49 forks source link

Read AndroidManifest. Error: String index out of range: 1 #40

Closed yurushao closed 6 years ago

yurushao commented 6 years ago

com.tencent.androidqqmail.apk.zip

$ java -jar ./argus-saf_2.12-3.1.2-assembly.jar t com.tencent.androidqqmail.apk 
Total apks: 1
Analyzing #1:file:/y/tencent/com.tencent.androidqqmail.apk
Collecting information from com.tencent.androidqqmail.apk...
Read AndroidManifest.

Error: String index out of range: 1

Error log:

ava.lang.StringIndexOutOfBoundsException: String index out of range: 1
        at java.lang.String.substring(String.java:1963)
        at org.argus.amandroid.core.parser.ManifestParser.loadManifestEntry(ManifestParser.scala:198)
        at org.argus.amandroid.core.parser.ManifestParser.$anonfun$loadClassesFromTextManifest$7(ManifestParser.scala:114)
        at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:156)
        at org.argus.amandroid.core.parser.ManifestParser.$anonfun$loadClassesFromTextManifest$4(ManifestParser.scala:112)
        at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:156)
        at org.argus.amandroid.core.parser.ManifestParser.loadClassesFromTextManifest(ManifestParser.scala:90)
        at org.argus.amandroid.core.appInfo.AppInfoCollector$.analyzeManifest(AppInfoCollector.scala:38)
        at org.argus.amandroid.core.appInfo.AppInfoCollector$.collectInfo(AppInfoCollector.scala:213)
        at org.argus.amandroid.alir.componentSummary.ApkYard.loadApk(ApkYard.scala:43)
        at org.argus.amandroid.plugin.TaintAnalysisTask.$anonfun$run$1(TaintAnalysisTask.scala:41)
        at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
        at scala.collection.immutable.Set$Set1.foreach(Set.scala:95)
        at scala.collection.TraversableLike.map(TraversableLike.scala:234)
        at scala.collection.TraversableLike.map$(TraversableLike.scala:227)
        at scala.collection.AbstractSet.scala$collection$SetLike$$super$map(Set.scala:47)
        at scala.collection.SetLike.map(SetLike.scala:101)
        at scala.collection.SetLike.map$(SetLike.scala:101)
        at scala.collection.AbstractSet.map(Set.scala:47)
        at org.argus.amandroid.plugin.TaintAnalysisTask.run(TaintAnalysisTask.scala:37)
        at org.argus.saf.cli.TaintAnalysis$.$anonfun$taintAnalyze$1(TaintAnalysis.scala:54)
        at org.argus.saf.cli.TaintAnalysis$.$anonfun$taintAnalyze$1$adapted(TaintAnalysis.scala:47)
        at scala.collection.immutable.Set$Set1.foreach(Set.scala:95)
        at org.argus.saf.cli.TaintAnalysis$.taintAnalyze(TaintAnalysis.scala:47)
        at org.argus.saf.cli.TaintAnalysis$.apply(TaintAnalysis.scala:39)
        at org.argus.saf.Main$.cmdTaintAnalysis(Main.scala:241)
        at org.argus.saf.Main$.$anonfun$new$1(Main.scala:141)
        at org.argus.saf.Main$.$anonfun$new$1$adapted(Main.scala:135)
        at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
        at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
        at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:191)
        at org.argus.saf.Main$.delayedEndpoint$org$argus$saf$Main$1(Main.scala:135)
        at org.argus.saf.Main$delayedInit$body.apply(Main.scala:22)
        at scala.Function0.apply$mcV$sp(Function0.scala:34)
        at scala.Function0.apply$mcV$sp$(Function0.scala:34)
        at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
        at scala.App.$anonfun$main$1$adapted(App.scala:76)
        at scala.collection.immutable.List.foreach(List.scala:389)
        at scala.App.main(App.scala:76)
        at scala.App.main$(App.scala:74)
        at org.argus.saf.Main$.main(Main.scala:22)
        at org.argus.saf.Main.main(Main.scala)