<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi Xinxin,<div class=""><br class=""></div><div class="">as far as I remember Jimple has no equivalent of annotations. They can be stored using the -xml-attributes or the -print-tags command line parameters. Within Soot you have to query the tags [1] to find the annotations you are interested in.</div><div class=""><br class=""></div><div class="">Regards, Bernhard</div><div class=""><br class=""></div><div class="">[1] <a href="https://ssebuild.cased.de/nightly/soot/javadoc/soot/tagkit/Host.html" class="">https://ssebuild.cased.de/nightly/soot/javadoc/soot/tagkit/Host.html</a><br class=""><div><blockquote type="cite" class=""><div class="">Am 05.10.2016 um 18:22 schrieb Xinxin Jin <<a href="mailto:xinxinjin89@gmail.com" class="">xinxinjin89@gmail.com</a>>:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Hi !</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br class=""></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I need to parse the java annotation from Android application and generate bytecode according to the parsed annotation.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br class=""></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">In the android source code, the annotation is defined like this. <span style="font-family:arial,sans-serif" class="">RetentionPolicy.RUNTIME means the annotation will be preserved in bytecode. </span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br class=""></div><font face="monospace, monospace" class=""><b class="">@Retention(RetentionPolicy.RUNTIME)<br class="">public @interface<div class="gmail_default" style="font-family:arial,helvetica,sans-serif;display:inline"> </div><div class="gmail_default" style="display:inline">MyAnnotation</div> {<br class=""><br class="">}</b></font><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br class=""></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Then I use Soot to transform the android APK to Jimple using this command: <br class=""></div><div class="gmail_default"><div class="gmail_default"><font face="monospace, monospace" class=""><b class="">java -classpath ${JAVA_CLASSPATH} soot.Main -android-jars $ANDROID_JARS_PATH -allow-phantom-refs -src-prec apk -ire -f J MyTest.apk</b></font></div></div><div class=""><br class=""></div><div class=""><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I checked the generated Jimple files, but found no code annotated with @<b style="font-family:monospace,monospace" class=""><div class="gmail_default" style="display:inline">MyAnnotation</div></b></div><br class=""></div><div class=""><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Can anyone tell me if Soot can't read the annotation in the bytecode or I applied incorrect command?</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br class=""></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Thank you very much !!!</div><br class=""></div><div class=""><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;display:inline"><br clear="all" class=""><div class=""><br class=""></div>-- <br class=""><div class="gmail_signature" data-smartmail="gmail_signature"><font face="arial, helvetica, sans-serif" class="">Xinxin</font></div>
<br class=""></div><div class=""><br class=""></div></div>
</div>
_______________________________________________<br class="">Soot-list mailing list<br class=""><a href="mailto:Soot-list@cs.mcgill.ca" class="">Soot-list@CS.McGill.CA</a><br class="">https://mailman.CS.McGill.CA/mailman/listinfo/soot-list<br class=""></div></blockquote></div><br class=""></div></body></html>