<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Hi Steven,</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">My code is from an Android app. I use Dexpler to transform the apk to jimple files. </div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Thanks,</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 8, 2015 at 12:54 AM, Steven Arzt <span dir="ltr"><<a href="mailto:Steven.Arzt@cased.de" target="_blank">Steven.Arzt@cased.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="DE" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi Xinxin,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Can you provide a complete test case? From where did you read in your Jimple code? Did you parse jimple files on disk or Java class files, or an Android APK?<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Best regards,<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> Steven<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Von:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> <a href="mailto:soot-list-bounces@CS.McGill.CA" target="_blank">soot-list-bounces@CS.McGill.CA</a> [mailto:<a href="mailto:soot-list-bounces@CS.McGill.CA" target="_blank">soot-list-bounces@CS.McGill.CA</a>] <b>Im Auftrag von </b>Xinxin Jin<br><b>Gesendet:</b> Mittwoch, 8. April 2015 09:07<br><b>An:</b> Bodden, Eric<br><b>Cc:</b> <a href="mailto:soot-list@cs.mcgill.ca" target="_blank">soot-list@cs.mcgill.ca</a><br><b>Betreff:</b> Re: [Soot-list] Soot Body.getUnits() does not get ALL units<u></u><u></u></span></p><div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal"><span style="font-family:"Arial","sans-serif"">It sounds unreasonable to me too, but that is indeed the problem I encountered ... So I'm just wondering if there are some corner cases not handled by Soot or not ?<u></u><u></u></span></p></div></div><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">On Tue, Apr 7, 2015 at 11:40 PM, Bodden, Eric <<a href="mailto:eric.bodden@sit.fraunhofer.de" target="_blank">eric.bodden@sit.fraunhofer.de</a>> wrote:<u></u><u></u></p><p class="MsoNormal">Hi Xinxin.<br><br>I am afraid that does not make much sense. By definition, the units of a body are the ones returned by getUnits(). This is a very strong invariant that should never be broken by Soot.<br><br>Cheers,<br>Eric<u></u><u></u></p><div><div><p class="MsoNormal"><br>> On 08.04.2015, at 08:02, Xinxin Jin <<a href="mailto:xinxinjin89@gmail.com" target="_blank">xinxinjin89@gmail.com</a>> wrote:<br>><br>> Hi there,<br>><br>> I got a weird problem: Sometimes Body.getUnits() does not list all the units of a method. The following is one example:<br>><br>> Simplified code snippet:<br>><br>> void foo() {<br>> ...<br>> BasicHttpClient basicClient = new BasicHttpClient();<br>> ...<br>> }<br>><br>> And in the Jimple file, there are two statements related with "new BasicHttpClient()" :<br>><br>> $r5 = new com.turbomanage.httpclient.BasicHttpClient;<br>> specialinvoke $r5.<com.turbomanage.httpclient.BasicHttpClient: void <init>()>(); <br>><br>> However, when I use retriveActiveBody().getUnits() to print out all the units of foo(), I can only see one statement:<br>> specialinvoke $r5.<com.turbomanage.httpclient.BasicHttpClient: void <init>()>()<br>><br>> I don't know why getUnits() cannot obtain "$r5 = new com.turbomanage.httpclient.BasicHttpClient" ?<br>> What kind of units are ignored by Soot ?<br>><br>> Thanks a lot for any advices !<br>><br>><br>><br>> --<br>> Xinxin<u></u><u></u></p></div></div><p class="MsoNormal" style="margin-bottom:12.0pt">> _______________________________________________<br>> Soot-list mailing list<br>> <a href="mailto:Soot-list@CS.McGill.CA" target="_blank">Soot-list@CS.McGill.CA</a><br>> <a href="https://mailman.CS.McGill.CA/mailman/listinfo/soot-list" target="_blank">https://mailman.CS.McGill.CA/mailman/listinfo/soot-list</a><br><br>--<br>Prof. Eric Bodden, Ph.D., <a href="http://sse.ec-spride.de/" target="_blank">http://sse.ec-spride.de/</a> <a href="http://bodden.de/" target="_blank">http://bodden.de/</a><br>Head of Secure Software Engineering at Fraunhofer SIT, TU Darmstadt and EC SPRIDE<br>Tel: <a href="tel:%2B49%206151%2016-75422" target="_blank">+49 6151 16-75422</a> Fax: <a href="tel:%2B49%206151%20869-127" target="_blank">+49 6151 869-127</a><br>Room B5.11, Fraunhofer SIT, Rheinstraße 75, 64295 Darmstadt<u></u><u></u></p></div><p class="MsoNormal"><br><br clear="all"><u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><p class="MsoNormal">-- <u></u><u></u></p><div><p class="MsoNormal"><span style="font-family:"Arial","sans-serif"">Xinxin</span><u></u><u></u></p></div></div></div></div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><font face="arial, helvetica, sans-serif">Xinxin</font></div>
</div>