第0个问题:
从哪里找测试集?
http://user.informatik.uni-goettingen.de/~darp/drebin/
第1个问题:
现在已经有的字段中
- apkName
- invokeAPI
- args
- return
哪几个在监测中是有用的?
第1.1个问题:
是否有必要上传至服务器上?
优点:
1. 从网站上可以及时看到log内容
2. 有利于之后进行多人协作。可以开放api。
缺点:
1. 毕设的当务之急并不是这些,而是计算出数据
第2个问题:
假设第一个问题已经得到了解答。
那么,我们应该将log记录怎样发送到服务器上?
方案一:每一条log记录都发送到服务器上,并且入库(从技术上来讲最快)。缺点是所用app必须有联网权限。(会不会造成不准确)
方案二:将log文件保存到本地,之后发送到服务器上
(也可以先导出所有的本地数据)
如果选用方案二,目前已知的问题有:
1.上传的文件命名规则
命名规则姑且不去管,只照原名即可。
2.上传文件的时机
问题3:
还有一个和以上问题无关的问题:
需要一个脚本,将所有的已经安装的非系统应用都跑一遍。以方便之后的测试。
目前的方式是:
这个问题可以分解成两个问题:
1.重新设置
使用shell设置prop ignore_uids,这个值可以使得low忽略掉configure中的设置。
2.如何得到所有的非系统应用?
- 方法一:所有的非系统应用保存在了一个list文件中。在每一次打开appListActivity时保存。
- 方法二:使用shell
public static void monkeyApp(int randomTimes){
String cmd = "for app in $(ls /data/data)\ndo\nmonkey -p $app -v " + randomTimes + "\ndone";
execSuCmd(cmd);
}
经过测试可用。
问题4
(未解决)
需要一个虚拟机来跑。自己的手机不可能一直跑这个。
==========