Open HP-Allen opened 10 months ago
Sorry for the APK file is too big to upload. I found another apk, which could also trigger error even though the error information is not same as top. Importantly, it can also be fixed with the above modifications.
apk file:
debug information:
Exception in thread "main" java.lang.IllegalStateException: No body for method <bykvm_19do.bykvm_19do.bykvm_if122.bykvm_19do.bykvm_long108.b: void <clinit>()>
at soot.toolkits.graph.ExceptionalUnitGraph.buildHeadsAndTails(ExceptionalUnitGraph.java:626)
at soot.toolkits.graph.ExceptionalUnitGraph.initialize(ExceptionalUnitGraph.java:231)
at soot.toolkits.graph.ExceptionalUnitGraph.<init>(ExceptionalUnitGraph.java:127)
at soot.toolkits.graph.ExceptionalUnitGraphFactory.newExceptionalUnitGraph(ExceptionalUnitGraphFactory.java:55)
at soot.toolkits.graph.ExceptionalUnitGraphFactory.createExceptionalUnitGraph(ExceptionalUnitGraphFactory.java:50)
at soot.dexpler.DexReturnValuePropagator.internalTransform(DexReturnValuePropagator.java:58)
at soot.BodyTransformer.transform(BodyTransformer.java:52)
at soot.BodyTransformer.transform(BodyTransformer.java:56)
at soot.dexpler.DexBody.jimplify(DexBody.java:740)
at soot.dexpler.DexMethod$1.getBody(DexMethod.java:117)
at soot.SootMethod.retrieveActiveBody(SootMethod.java:447)
at soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processNewMethod(OnFlyCallGraphBuilder.java:797)
at soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processReachables(OnFlyCallGraphBuilder.java:293)
at soot.jimple.toolkits.callgraph.CallGraphBuilder.build(CallGraphBuilder.java:108)
at soot.jimple.toolkits.callgraph.CHATransformer.internalTransform(CHATransformer.java:54)
at soot.SceneTransformer.transform(SceneTransformer.java:36)
at soot.Transform.apply(Transform.java:105)
at soot.RadioScenePack.internalApply(RadioScenePack.java:64)
at soot.jimple.toolkits.callgraph.CallGraphPack.internalApply(CallGraphPack.java:61)
at soot.Pack.apply(Pack.java:118)
at soot.PackManager.runWholeProgramPacks(PackManager.java:619)
at soot.PackManager.runPacksNormally(PackManager.java:500)
at soot.PackManager.runPacks(PackManager.java:425)
at org.example.Main.main(Main.java:32)
Hope above information are satisfying.
gradle:
java code:
debug information:
I found that it analysed dex file that exists in the assets folder:
After I remove the assets/notplugmapnaveinfoox111.dex file, there was no error anymore:
Modified code in soot.dexpler.DexFileProvider.mappingForFile: