[Soot-list] Soot problem with DEX files

Khaled ElWazeer khalid.alwazeer at gmail.com
Wed Jun 5 12:32:47 EDT 2013


Hello,

I am trying to run soot (with the recent support for DEX format) on some
APK files. I get this error very frequently on many APKs. Any idea what
might be causing this and how to fix it.


Exception in thread "main" java.lang.ClassCastException: soot.RefType
cannot be cast to soot.ArrayType

at
soot.jimple.toolkits.typing.integer.ConstraintCollector.caseAssignStmt(ConstraintCollector.java:237)

at soot.jimple.internal.JAssignStmt.apply(JAssignStmt.java:221)

at
soot.jimple.toolkits.typing.integer.ConstraintCollector.collect(ConstraintCollector.java:48)

at
soot.jimple.toolkits.typing.integer.TypeResolver.collect_constraints_1(TypeResolver.java:227)

at
soot.jimple.toolkits.typing.integer.TypeResolver.resolve_step_1(TypeResolver.java:180)

at
soot.jimple.toolkits.typing.integer.TypeResolver.resolve(TypeResolver.java:140)

at
soot.jimple.toolkits.typing.fast.TypeResolver.inferTypes(TypeResolver.java:144)

at
soot.jimple.toolkits.typing.TypeAssigner.internalTransform(TypeAssigner.java:102)

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:538)

at soot.dexpler.DexMethod$1.getBody(DexMethod.java:236)

at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:89)

at soot.SootMethod.retrieveActiveBody(SootMethod.java:322)

at soot.PackManager.retrieveAllBodies(PackManager.java:1042)

at soot.PackManager.runPacksNormally(PackManager.java:375)

at soot.PackManager.runPacks(PackManager.java:335)

at soot.Main.run(Main.java:198)

at soot.Main.main(Main.java:141)

at RewriterWithInstrumentation.main(RewriterWithInstrumentation.java:63)





I use the following options in my code:

              Options.*v*().set_src_prec(Options.*src_prec_apk*);


              Options.*v*().set_output_format(Options.*output_format_dex*);

              Options.*v*().set_soot_classpath("httpcomponents-client-4.2.5-bin\\httpcomponents-client-4.2.5\\lib\\httpclient-4.2.5.jar;httpcomponents-core-4.2.4-bin\\httpcomponents-core-4.2.4\\lib\\httpcore-4.2.4.jar;
ant.jar;android-4.2.2_r1.jar;
framework_intermediates-classes-full-debug.jar;
dacapo-9.12-bach.jar;GoogleAdMobAdsSdk-6.4.1.jar;AXMLPrinter2.jar;LearningSoot\\opengl-api-gl1.1-android-2.1_r1.jar;greystripe-android-sdk-2.1.jar"
);

              Options.*v*().set_force_android_jar("android-4.2.2_r1.jar");

              Options.*v*().set_allow_phantom_refs(*true*);

              Options.*v*().set_prepend_classpath(*true*);



Any ideas?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20130605/690abf11/attachment.html 


More information about the Soot-list mailing list