[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