DroidRA java.lang.RuntimeException:主类没有主方法

时间:2019-07-11 01:39:07

标签: java android reflection static-analysis soot

我正在一个项目上,该项目使用SPARK转换构建Android应用程序的调用图(以APK格式),以进行指针分析。为了使Pointer Analysis更加准确,还需要考虑apk内部的反射调用。因此,我遇到了DroidRA工具,该工具可用于创建增强版本的APK,并在其中内置反射调用。

在大多数APK上,DroidRA源代码的main()方法中的init(...)方法可以成功生成DummyMainClass及其虚拟main()方法。但是,当ReflectionAnalysis()方法运行时,DummyMainClass神秘地从Scene.v()中消失,显示以下错误消息:

enter image description here

使用相同的DroidRA源代码,我可以成功地检测和创建数据集中很小一部分APK的增强版本。使用这些APK,我可以使用断点观察到,当运行ReflectionAnalysis()方法时,DummyMainClass不会消失。但是,我相信可以做一些事情-可能是对选项或某些参数的调整-使它更加一致地工作。

在DroidRA中是否可以探索任何特殊的选项/参数,或者是否需要对源代码进行任何必要的更新以分析最新的APK,因为自从上次更新源代码以来已有好几年了?

0 个答案:

没有答案