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做抽

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐