[Soot-list] setapp(true) causes dexopt failed error and instrumenting trycatchblock

Steven Arzt Steven.Arzt at cased.de
Fri Apr 25 14:13:43 EDT 2014


Hi aditya,

 

I’m not Eric, but I can try to answer your questions as well.

 

1.       What is the reason for enabling application mode using set_app(true)? This will make all classes in your process dir application classes and will thus write all of them out into your final APK file. Without knowing more about your code and configuration, it’s hard to tell whether that is a problem or not. In any case, using this option together with Android is usually unnecessary unless you have a very specific use case.
If the problem still persists without set_app(true), please provide a small code sample that helps us reproduce the issue. Also the details of the dexopt error (which you will see in logcat right before you get the dexopt error in adb) would be very helpful.

2.       A good example on how to move around traps can be found in Soot’s TrapSplitter class. It checks for overlapping traps and splits them which shows how new traps can be created, existing ones can be removed, and start/end units of traps can be changed. Note that labels only exist in pretty-print. In a Jimple body, trap start and end units are always units, there is no concept of a label in Jimple. It only gets inserted to make life easier when reading Jimple code.

 

Best regards,

  Steven

 

 

M.Sc. M.Sc. Steven Arzt

Secure Software Engineering Group (SSE)

European Center for Security and Privacy by Design (EC SPRIDE) 

Mornewegstraße 32

D-64293 Darmstadt

Phone: +49 61 51 16-75426

Fax: +49 61 51 16-72118

eMail:  <mailto:steven.arzt at ec-spride.de> steven.arzt at ec-spride.de

Web:  <http://sse.ec-spride.de/> http://sse.ec-spride.de

 

 

 

 

Von: soot-list-bounces at CS.McGill.CA [mailto:soot-list-bounces at CS.McGill.CA] Im Auftrag von Satyaditya Munipalle
Gesendet: Freitag, 25. April 2014 20:04
An: soot-list at cs.mcgill.ca
Betreff: [Soot-list] setapp(true) causes dexopt failed error and instrumenting trycatchblock

 

Hi Mr. Eric,

                   While instrumentation of android apps I had noticed that when the external classes are set as application classes when loaded via  forceload method or tryloadclass method  if the options.v().set_app(true) is used with whole-program-mode enabled ,  the validation succeeds while running soot ,but the  android OS throws [dex_opt_failed] error . Can you tell me why this option causes the dex optimzation to fail?

 

2.how to  change the position of the try statement in the function block, I am not able to match the try 'label' with any type of statements defined in the  soot? though  I am able to create a new label using the setBeginUnit method declared in the trap interface, I was not able to remove the existing try statement.

 

 

Regards,

aditya

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20140425/04ad4ea9/attachment.html 


More information about the Soot-list mailing list