Androguard使用androlyze.py进行交互分析
本文只是一个Androguard使用的Deamon,所使用的例子是检测某apk是否存在启动就通过网络泄露用户手机号的行为。
1.使用命令/usr/share/androguard/androlyze.py -s 进入交互分析状态。
2.使用AnalyzeAPK()来编译出apk,class.dex,analyzed class.dex对象。
3.查看一下apk所使用的权限
4.知道权限知道后就可以对analyzed class.dex对象进行show_Permissions()操作来查询哪些函数使用到了这些权限
命令:show_Permissions(dx)
由于内容比较多,只截取涉及READ_PHONE_STATE的部分。
从中可以看出,有三处使用到TelephonyManager.getLine1Number()
5.使用show_xref()查看函数调用关系
其中F表示调用该函数的函数,T表示该函数调用那些函数。当然可以继续查找下去。
从这里可以看出实在是比较多,好消息是已经知道在哪里取Phone Number了,这个时候通过修改smali文件重新编译apk进行动态的调试,
就可以确定在启动时调用的是哪一支。