android分析apk函数引用关系,Androguard使用androlyze.py进行交互分析

Androguard使用androlyze.py进行交互分析

本文只是一个Androguard使用的Deamon,所使用的例子是检测某apk是否存在启动就通过网络泄露用户手机号的行为。

1.使用命令/usr/share/androguard/androlyze.py -s 进入交互分析状态。

fc21402fed312f0deeb0299f92dc9de6.png

2.使用AnalyzeAPK()来编译出apk,class.dex,analyzed class.dex对象。

f04e6e7ac4a5f6b9c1835723a596901f.png

3.查看一下apk所使用的权限

ed04c49438971566280369ed987a2068.png

4.知道权限知道后就可以对analyzed class.dex对象进行show_Permissions()操作来查询哪些函数使用到了这些权限

由于内容比较多,只截取涉及READ_PHONE_STATE的部分。

a18626a1feeee94b9c27b0da317676ad.png

从中可以看出,有三处使用到TelephonyManager.getLine1Number()

5.使用show_xref()查看函数调用关系

38343edfb0a674023db1b44159004fc9.png

其中F表示调用该函数的函数,T表示该函数调用那些函数。当然可以继续查找下去。

从这里可以看出实在是比较多,好消息是已经知道在哪里取Phone Number了,这个时候通过修改smali文件重新编译apk进行动态的调试,

就可以确定在启动时调用的是哪一支。

【Android数据库优化】利用注解实现SQLite通用框架抽取

在开发Android应用的过程中,少不了要用到SQLite数据库操作,各种增删查改。。。一般看来,对于不同的实体类的数据库操作,貌我们只能使用不同的增

Android 自定义控件 优雅实现元素间的分割线 (支持3.0以下)

1、概述话说,随着AndroidSDK版本的升级,很多控件增加了新的属性方便我们的使用,比如LinearLayout中多了:divider、showDividers等,用于为其内部元素添加

Android SurfaceView实战 带你玩转flabby bird (上)

1、概述哈,记得以前写过AndroidSurfaceView实战打造抽奖转盘,同属于SurfaceView系列,基本可以从这篇博文中学习到SurfaceView的用法,以及利用SurfaceView做抽

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值