开源静态分析工具androguard体验(二)

逆向分析dex的话,个人还是比较中意VTS,JEB(穷人买不起),IDA等。之前有尝试使用过androguard,感觉还是不咋习惯,虽然基于其基础上演变的一些项目挺有吸引力。不过作为项目的基础,androguard确实再适合不过了。至少静态分析很多功能直接调用或者在其上修改效果倒是事半功倍。也正因为这个目的,才有了第二篇体验。

其实官网的wiki写的很详细了,包括一些使用方法,api参考,都挺丰富的。但是官网提供的demo不多,我觉得通过对androlyze.py的一些常见功能的使用,可以帮助我们完善程序demo。这一篇主要内容正是介绍androlyze.py的一些使用样例,官网 wiki http://code.google.com/p/androguard/wiki/RE

这次采用的样本还是之前第一篇分析的。这次借助分析触发sendsms的条件作为例子,记录一下关于androlyze.py部分的一些常用函数。

首先,./androlyze.py -s 进入交互分析界面

1. apk, d, dx = AnalyzeAPK("./sampleapk/ee6bcd35c.apk",decompiler="dad") 开启分析模式吧,接着先查看对应apk使用了哪些权限,可以采用 apk.get_permissions() 获取权限

2.知道可能使用的权限之后,我们接下来看看对应权限时候有使用吧,这时候可以用 show_Permissions(dx) 查看对应权限的使用点

内容比较多,我就列出SENDSMS的部分

根据输出我们可以知道,Lcom/zsh/RegService;->sendSms()V 是对应SEND_SMS权限使用点。

3.这时候可以使用d.CLASS_Lcom_zsh_RegService.METHOD_sendSms.source() 查看对应源代码,确实使用了发短信的函数。

4.接下来我们就要根据这个使用点找到之前的调用点,一步一步回溯找到触发这个时间的入口点可以使用 d.CLASS_Lcom_zsh_RegService.METHOD_sendSms.show_xref() 查找这个函数的调用关系,有的步骤直接省略了,组后找到是由MainTask线程触发的。

那么最后是那个函数调用了这个线程呢,由于这是了run,写过代码都知道,一般是创建了线程对象之后,start开始的,这是后run才启用,那么我们就找一下创建该线程对象的调用点吧。

确定了是由这个服务的回调产生的,那么确定一下这个类是不是真的是服务吧。

这么一条命令可以查看对应的类信息。可以看出确实是继承Service的。

5.走到这一步了,剩下就是考虑是那个intent触发这个service的,从androidmenifest开始吧,使用命令,可以通过 x = apk.xml xml = x['AndroidManifest.xml'] 以及

In [109]: for e in xml.getElementsByTagName('service'):
.....: print e.toxml() 获取service信息

6.可以想象会有一个intent,他的action为com.zsh.action.regservice,那么我们就开始查找对应的字符串引用吧 z = dx.tainted_variables.get_string('com.zsh.action.regservice')

7.最后我们发现 apk.get_main_activity() 正是入口

那么我们关于这个程序的短息调用路径大致摸清楚了~

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Cobot是一个开源的软件协作机器人平台,为开发人员提供了强大的工具来设计、构建和测试各种机器人应用程序。在Cobot平台上,静态分析工具可以用来检测和分析代码中的潜在错误和缺陷。 要下载Cobot的静态分析工具,首先需要访问Cobot的官方网站。在网站上,可以找到有关Cobot平台的详细信息,以及各种工具和资源的下载链接。 在下载静态分析工具之前,需要确保满足以下系统要求。首先,需要有一个兼容的操作系统,例如Windows、Linux或Mac OS X。其次,需要安装必要的软件和依赖项,以支持静态分析工具的运行。这些软件和依赖项可能包括编译器、解释器、开发工具链等。 一旦满足了系统要求,就可以通过Cobot官方网站上的下载链接下载静态分析工具。下载链接可能提供不同版本的工具,根据个人需求选择适合的版本进行下载。 下载完成后,可以按照工具的安装说明进行安装。通常,安装过程包括解压缩下载的文件、设置环境变量和配置相关选项等步骤。 安装完成后,就可以使用Cobot的静态分析工具了。根据工具的用途和功能,可以采取相应的操作和设置,运行分析工具对代码进行检测和分析。 总之,下载Cobot的静态分析工具需要访问Cobot官方网站,满足系统要求,选择合适的工具版本进行下载,并按照安装说明进行安装和配置。下载完成后,就可以使用静态分析工具来检测和分析代码中的潜在错误和缺陷。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值