使用flowdroid得到apk的调用关系图
直接调用constructCallgraph()得到的调用关系图并不完整,以QKSMS代码为例。
TransactionService.java的部分源码如下所示
用flowdroid生成的调用关系图,其中onReceive()调用的函数输出如下:
从运行结果中可以看出得到的调用函数并不完整,getNetworkInfo()、isConnected()、getState()等均为出现。
将soot-infoflow/src/soot/jimple/infoflow/InfoflowConfiguration.java中的第132行CallgraphAlgorithm的值更新为CallgraphAlgorithm.CHA,运行结果如下: