[Soot-list] exception in converting jimple to dex using soot

56 views
Skip to first unread message

Jyoti Gajrani

unread,
Sep 19, 2016, 5:38:26 AM9/19/16
to soot

I have converted a apk file to jimple Intermediate representation using soot below command without any error:

java -Xmx2g -jar soot-trunk.jar soot.Main -w -allow-phantom-refs -android-jars /home/jyoti/Android/adt-bundle-linux-x86_64-20140702/sdk/platforms/ -src-prec apk -f jimple -process-dir Onlytelephony.apk


Now I want to do reverse. I want to convert jimple files to single apk using soot. For this i am using following command:


java -Xmx2g -jar soot-trunk.jar soot.Main -w -allow-phantom-refs -android-jars /home/jyoti/Android/adt-bundle-linux-x86_64-20140702/sdk/platforms/ -src-prec jimple -f dex -process-dir jimple_Onlytelephony/

But this command give me exceptions as follows:

[Thread-2] ERROR heros.solver.CountingThreadPoolExecutor - Worker thread execution failed: null java.lang.NullPointerException at soot.toolkits.graph.UnitGraph.(UnitGraph.java:76) at soot.toolkits.graph.ExceptionalUnitGraph.(ExceptionalUnitGraph.java:158) at soot.jimple.toolkits.scalar.UnreachableCodeEliminator.internalTransform(UnreachableCodeEliminator.java:79) at soot.BodyTransformer.transform(BodyTransformer.java:51) at soot.Transform.apply(Transform.java:105) at soot.JimpleBodyPack.applyPhaseOptions(JimpleBodyPack.java:61) at soot.JimpleBodyPack.internalApply(JimpleBodyPack.java:95) at soot.Pack.apply(Pack.java:125) at soot.jimple.JimpleMethodSource.getBody(JimpleMethodSource.java:49) at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:91) at soot.SootMethod.retrieveActiveBody(SootMethod.java:322) at soot.PackManager$3.run(PackManager.java:1223) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) java.util.concurrent.RejectedExecutionException: Task soot.PackManager$3@2e5e3fd3 rejected from heros.solver.CountingThreadPoolExecutor@2db04d6d[Shutting down, pool size = 3, active threads = 3, queued tasks = 0, completed tasks = 3] at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2048) at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821) at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1372) at heros.solver.CountingThreadPoolExecutor.execute(CountingThreadPoolExecutor.java:51) at soot.PackManager.retrieveAllBodies(PackManager.java:1219) at soot.PackManager.runPacksNormally(PackManager.java:463) at soot.PackManager.runPacks(PackManager.java:396) at soot.Main.run(Main.java:271) at soot.Main.main(Main.java:147)

How can I convert Jimple to dex using soot?

xwli...@gmail.com

unread,
Sep 27, 2016, 10:14:40 AM9/27/16
to soot
Did you use the latest soot edition?
Maybe you can use the latest soot edition to have a try.
Your command is right.

在 2016年9月19日星期一 UTC+8下午5:38:26,Jyoti Gajrani写道:
Reply all
Reply to author
Forward
0 new messages