使用flowdroid得到apk的调用关系图

使用flowdroid得到apk的调用关系图

问题描述

直接调用constructCallgraph()得到的调用关系图并不完整,以QKSMS代码为例。

TransactionService.java的部分源码如下所示

使用flowdroid得到apk的调用关系图_第1张图片

 用flowdroid生成的调用关系图,其中onReceive()调用的函数输出如下:

使用flowdroid得到apk的调用关系图_第2张图片

 从运行结果中可以看出得到的调用函数并不完整,getNetworkInfo()、isConnected()、getState()等均为出现。

解决

将soot-infoflow/src/soot/jimple/infoflow/InfoflowConfiguration.java中的第132行CallgraphAlgorithm的值更新为CallgraphAlgorithm.CHA,运行结果如下:

使用flowdroid得到apk的调用关系图_第3张图片

 

 

 

你可能感兴趣的:(flowDroid)