<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Hi Shikun.
<div class=""><br class="">
</div>
<div class="">From a first glimpse, your options seem to be reasonable. Have you tried using the `<span style="font-family: monospace; font-size: medium; orphans: 2; widows: 2;" class="">-process-multiple-dex</span>` option? The app might contain multiple dex
files which you skip without this option. </div>
<div class="">Soot should also print how many classes it found in a specific dex file at start-up.</div>
<div class=""><br class="">
</div>
<div class="">Best,</div>
<div class="">Manuel</div>
<div class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">Am 01.01.2019 um 00:16 schrieb shikun zhang <<a href="mailto:shikun1102@163.com" class="">shikun1102@163.com</a>>:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="line-height: 1.7; font-size: 14px; font-family: Arial;" class=""><span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">Dear all,</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">I am using soot to instrument apks. I followed the tutorial on </span><a href="https://github.com/Sable/soot/wiki/Instrumenting-Android-Apps-with-Soot" target="_blank" style="padding: 0px; margin: 0px; color: rgb(54, 82, 93); cursor: pointer; text-decoration-line: none; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">https://github.com/Sable/soot/wiki/Instrumenting-Android-Apps-with-Soot</a><span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> and
it works well for android API16. But I got one problem for apks of API 26.</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">The following is the code:</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">public static void main(String[] args) {</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> Options.v().set_allow_phantom_refs(true);</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> Options.v().set_src_prec(Options.src_prec_apk);</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> Options.v().set_output_format(Options.output_format_dex);</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> Options.v().set_debug(true);</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> Options.v().set_verbose(true);</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> Options.v().set_whole_program(true);</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> Options.v().set_android_jars(“C:\\Users\\Mike58\\AppData\\Local\\Android\\Sdk\\platforms”);</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> //apk of API 16</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> Options.v().set_process_dir(Collections.singletonList("DroidBench-develop/DroidBench- develop/apk/InterAppCommunication/SendSMS.apk”));</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> //apk of API 26</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> //Options.v().set_process_dir(Collections.singletonList("FeatureChecking\\API26\\benchmark\\apks\\ InterAppEnd1.apk”));</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> Scene.v().addBasicClass("java.io.PrintStream",SootClass.SIGNATURES);</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> Scene.v().addBasicClass("java.lang.System",SootClass.SIGNATURES);</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> PackManager.v().getPack("wjtp").add(new Transform("jtp.myInstrumenter", new SceneTransformer() {</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> @Override</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> protected void internalTransform(String phaseName, Map<String, String> options) {</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> System.out.println(Scene.v().getApplicationClasses());</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> }</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> }));</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class=""> soot.Main.main(new String[] { "-whole-program" });</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">}</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">This is a very simple example, when I run it on apks of API 16, the program can print all the application classes and one apk file is generated
under sootOutput directory. But when I run the code for apk of API 26, there is no error but the result of Scene.v().getApplicationClasses() is empty. In addition, in sootOutput directory there is only one classes.dex file generated. The Android platform I
am using is the latest one and soot does not complain about the platform, so I think the platform is not a problem. Now I am really confused, am I using soot in a wrong way? Thanks a lot for any help!</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">Cheers,</span><br style="padding: 0px; margin: 0px; font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">
<span style="font-family: Menlo, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace; font-size: 12px;" class="">Shikun Zhang</span></div>
<br class="">
<br class="">
<span title="neteasefooter" class="">
<div class=""> <br class="webkit-block-placeholder">
</div>
</span>_______________________________________________<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>