[Soot-list] (no subject)

Peter Kim chpkim at gmail.com
Thu Feb 26 07:45:58 EST 2015


Hi Steven,

It works now. Thank you so much for fixing this problem!

On Thu, Feb 26, 2015 at 10:26 AM, Steven Arzt <Steven.Arzt at cased.de> wrote:

> Hi Peter,
>
>
>
> That issue should be fixed now. Please update Soot.
>
>
>
> Best regards,
>
>   Steven
>
>
>
> *Von:* soot-list-bounces at CS.McGill.CA [mailto:
> soot-list-bounces at CS.McGill.CA] *Im Auftrag von *Peter Kim
> *Gesendet:* Donnerstag, 26. Februar 2015 02:29
> *An:* Xinxin Jin
> *Cc:* soot-list at cs.mcgill.ca
> *Betreff:* Re: [Soot-list] (no subject)
>
>
>
> I am just running FlowDroid in the standard way, with the first argument
> as "freegemas-android.apk" and second argument as "android.jar". BUT the
> jimple body is correct (RefType) when I use the stub android.jar, and
> incorrect (bottom_type) when I use the full android.jar (
> http://repository.grepcode.com/java/ext/com/google/android/android/4.4.2_r1/android-4.4.2_r1.jar
> ):
>
>
>
> <CORRECT Jimple when using stub android.jar>
>
> void resume() {
>
>         com.badlogic.gdx.backends.android.AndroidGraphics $r0;
>
>         java.lang.Object $r1;
>
>         java.lang.Throwable $r2;
>
>
>
>         $r0 := @this: com.badlogic.gdx.backends.android.AndroidGraphics;
>
>         $r1 = $r0.<com.badlogic.gdx.backends.android.AndroidGraphics:
> java.lang.Object synch>;
>
>         entermonitor $r1;
>
>
>
>      label1:
>
>         $r0.<com.badlogic.gdx.backends.android.AndroidGraphics: boolean
> running> = 1;
>
>         $r0.<com.badlogic.gdx.backends.android.AndroidGraphics: boolean
> resume> = 1;
>
>         exitmonitor $r1;
>
>
>
>      label2:
>
>         return;
>
> }
>
>
>
> <INCORRECT Jimples when using full android.jar>
>
> void resume() {
>
>         com.badlogic.gdx.backends.android.AndroidGraphics $r0;
>
>         bottom_type $r1;
>
>         java.lang.Object $r2;
>
>
>
>         $r0 := @this: com.badlogic.gdx.backends.android.AndroidGraphics;
>
>         $r2 = $r0.<com.badlogic.gdx.backends.android.AndroidGraphics:
> java.lang.Object synch>;
>
>         entermonitor $r2;
>
>
>
>         $r0.<com.badlogic.gdx.backends.android.AndroidGraphics: boolean
> running> = 1;
>
>         $r0.<com.badlogic.gdx.backends.android.AndroidGraphics: boolean
> resume> = 1;
>
>         exitmonitor $r2;
>
>
>
>         return;
>
>
>
>         throw $r1;
>
> }
>
>
>
> The problem is that I want to use the full android.jar. Do you know how to
> solve this problem? Thanks.
>
>
>
> On Wed, Feb 25, 2015 at 9:32 PM, Xinxin Jin <xinxin at cs.ucsd.edu> wrote:
>
> What is your run command please ?
>
>
>
> On Wed, Feb 25, 2015 at 1:08 PM, Peter Kim <chpkim at gmail.com> wrote:
>
> Hi,
>
>
>
> When I run FlowDroid on an app (whose APK is here:
> https://drive.google.com/file/d/0B9KLXcAovVUHRVdaM0t1R01BaHM/view?usp=sharing),
> I get the following error. I'm using recent version of Soot (February 25,
> 2015) and FlowDroid (February 23, 2015). This issue also seems to have been
> raised elsewhere (Issue #358 in Github, Sable/Soot, type of throw statement
> is bottom_type when it should be an actual type). Do you know how I can get
> around this problem? Thanks.
>
>
>
> Exception in thread "main" java.lang.IllegalStateException:
> UnitThrowAnalysis StmtSwitch: type of throw argument is not a RefType! It
> seems that the type of the processed throw statement is bottom_type instead
> of an actual type
>
> at
> soot.toolkits.exceptions.AbstractThrowAnalysis.mightThrowExplicitly(AbstractThrowAnalysis.java:65)
>
> at
> soot.toolkits.exceptions.UnitThrowAnalysis$UnitSwitch.caseThrowStmt(UnitThrowAnalysis.java:706)
>
> at soot.jimple.internal.JThrowStmt.apply(JThrowStmt.java:70)
>
> at
> soot.toolkits.exceptions.UnitThrowAnalysis.mightThrow(UnitThrowAnalysis.java:241)
>
> at
> soot.toolkits.graph.ExceptionalUnitGraph.getExceptionDests(ExceptionalUnitGraph.java:800)
>
> at
> soot.toolkits.graph.ExceptionalUnitGraph.buildHeadsAndTails(ExceptionalUnitGraph.java:763)
>
> at
> soot.toolkits.graph.ExceptionalUnitGraph.initialize(ExceptionalUnitGraph.java:293)
>
> at
> soot.toolkits.graph.ExceptionalUnitGraph.<init>(ExceptionalUnitGraph.java:159)
>
> at
> soot.toolkits.graph.ExceptionalUnitGraph.<init>(ExceptionalUnitGraph.java:193)
>
> at
> soot.jimple.toolkits.base.Aggregator.internalAggregate(Aggregator.java:103)
>
> at
> soot.jimple.toolkits.base.Aggregator.internalTransform(Aggregator.java:86)
>
> at soot.BodyTransformer.transform(BodyTransformer.java:51)
>
> at soot.BodyTransformer.transform(BodyTransformer.java:58)
>
> at soot.BodyTransformer.transform(BodyTransformer.java:63)
>
> at soot.dexpler.DexBody.jimplify(DexBody.java:628)
>
> at soot.dexpler.DexMethod$1.getBody(DexMethod.java:150)
>
> at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:91)
>
> at soot.SootMethod.retrieveActiveBody(SootMethod.java:322)
>
> at
> soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processNewMethod(OnFlyCallGraphBuilder.java:529)
>
> at
> soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processReachables(OnFlyCallGraphBuilder.java:420)
>
> at soot.jimple.spark.solver.OnFlyCallGraph.build(OnFlyCallGraph.java:55)
>
> at
> soot.jimple.spark.solver.PropWorklist.handleVarNode(PropWorklist.java:122)
>
> at soot.jimple.spark.solver.PropWorklist.propagate(PropWorklist.java:52)
>
> at
> soot.jimple.spark.SparkTransformer.internalTransform(SparkTransformer.java:152)
>
> at soot.SceneTransformer.transform(SceneTransformer.java:39)
>
> at soot.Transform.apply(Transform.java:90)
>
> at soot.RadioScenePack.internalApply(RadioScenePack.java:57)
>
> at
> soot.jimple.toolkits.callgraph.CallGraphPack.internalApply(CallGraphPack.java:49)
>
> at soot.Pack.apply(Pack.java:116)
>
> at
> soot.jimple.infoflow.android.SetupApplication.calculateCallbackMethods(SetupApplication.java:352)
>
> at
> soot.jimple.infoflow.android.SetupApplication.calculateSourcesSinksEntrypoints(SetupApplication.java:272)
>
> at
> soot.jimple.infoflow.android.SetupApplication.calculateSourcesSinksEntrypoints(SetupApplication.java:240)
>
> at soot.jimple.infoflow.android.TestApps.Test.runAnalysis(Test.java:505)
>
> at soot.jimple.infoflow.android.TestApps.Test.main(Test.java:208)
>
>
>
>
>
>
>
>
>
> _______________________________________________
> Soot-list mailing list
> Soot-list at CS.McGill.CA
> https://mailman.CS.McGill.CA/mailman/listinfo/soot-list
>
>
>
>
>
> --
>
> Xinxin Jin
>
> Ph.D. student, Computer Science
>
> University of California, San Diego
>
> http://cseweb.ucsd.edu/~x7jin/
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20150226/d6f0f11c/attachment-0001.html 


More information about the Soot-list mailing list