本文使用源码搭建的方法。
1.环境搭建
主要工具和环境为:
java 1.8+maven3.6.1+eclipse2019-3
只要JDK版本为1.8即可,maven必须配置好!!
maven环境配置:https://www.runoob.com/maven/maven-setup.html
maven本地仓库配置:https://www.runoob.com/maven/maven-repositories.html
2.下载FlowDroid源码
GitHub下载地址:https://github.com/secure-software-engineering/FlowDroid
CSDN下载地址:https://download.csdn.net/download/leslieducy123/12175040
3.FlowDroid所需环境搭建
变量名一定要一致
①变量名:droidbench
②变量名:ANDROID_JARS
4.将项目导入eclipse
①将得到的soot-infoflow和soot-infoflow-android文件依次导入
②检查两个pom文件的配置是否正确
编译器版本为1.8 ;
maven输出路径改为target/classes和target/testclasses;
③soot-infoflow-android缺少的EasyTaintWrapperSource.txt文件可以直接从soot-infoflow文件中直接复制
④右键soot-infoflow-android项目
选择Run As>Maven build编译项目
⑤提示成功后继续右键soot-infoflow-android项目
选择Run As>Maven test编译本项目的测试文件夹
⑥提示成功后继续右键soot-infoflow-android项目
选择Run As>Maven install项目
⑥如果上三步都成功的话,本项目就搭建完成啦!
接着就可以使用eclipse运行测试文件。
4.使用FlowDroid
DroidBench测试文件夹所需APK下载地址:
GitHub下载地址:https://github.com/secure-software-engineering/FlowDroid
CSDN下载地址:https://download.csdn.net/download/leslieducy123/12242144
下载后放在soot-infoflow-android项目>test>droidBench> 下
soot-infoflow-android项目>test>droidBench文件夹,里面的每个都可以进行JUnit Test。
演示soot-infoflow-android项目>test>droidBench>CallbackTests ;
右键测试 *runTestButton1()*后结果如下