Radare2静态分析apk(1)

66 篇文章 7 订阅
4 篇文章 0 订阅

在逆向的世界中,有一个工具叫做IDA,它被称为神器,但是它的价格实在让人望而生畏(土豪例外)。正版的全平台下来估计要20w/年,貌似还是美元。当然了,网上有很多破解版的,这个看个人喜好,我不太习惯使用破解版的,一方面功能不全,另一方面,很不稳定。于是我就找到了一个替代IDA的工具-Radare2。个人认为除了在F5(decompiler)功能上有差距之外,其他地方两者很接近了。

Radare2

破解工具Radare2 中多Radare2进行了介绍,在 深入理解GOT覆写技术 系列文章中对Radare2在Linux平台的使用有所介绍。这篇文章主要介绍使用Radare2对apk进行静态分析。

查看dex文件信息

本文选择某东的apk。
在这里插入图片描述从这里可以看出京东的apk应该是使用了Kotlin,不过无所谓,dex文件反汇编的结果还是smali的。
使用Radare2分析其中的主dex文件classes.dex。

icq # 枚举类名
iiq # imports (external methods)
ic # 枚举类和方法
izq # 列出程序中所有的字符串

举个例子,我想查找带有vip样式的字符串,izq~vip
在这里插入图片描述

检测系统API使用

检查应用程序使用了什么系统API.

rabin2 -qi classes.dex | grep -i -e sms -e bluetooth -e install -e PackageManager -e Datagram -e Telephony -e nfc

在这里插入图片描述

查找引用

查找第一个vip字符串在哪里使用。很遗憾,在当前的dex中没有找到引用的地方。
在这里插入图片描述如果有引用的话,会是这个样子:
在这里插入图片描述

过滤字符串

Radare2使用~作为过滤符号,相当于grep。
有意思的字符串如下(仅共参考):

  • /system /data /bin/su …
  • http://
  • https://
  • .apk
  • %d.%d.%d.%d
  • Install
  • SMS
  • DexClassLoader InjectCall (used for Dalvik code injection)
  • application/vnd.android (mimetype used to spawn .apk installations)
  • == (embedded base64 resources)

在dex文件中,一些字符串会使用base64编码,使用环境变量RABIN2_DEBASE64或者rax -D 在每个字符串上面就可以实现自动解密。

RABIN2_DEBASE64=1 rabin2 -qzz classes.dex
过滤方法

Radare2’s visual mode also supports an interactive heads-up display that will filter out all string, method, and class names from the .dex file. 通过**V_**命令可以进入这种模式。

你可能感兴趣的文本如下:

  • onReceive (used by event handlers)
  • Init (all classes have one of them)
  • Password
  • Install
  • Dex
  • SMS

在这里插入图片描述

反汇编

通过afl命令列出所有的函数。通过v命令进入可视化界面。包括流程图、汇编代码、函数、符号等信息。
在这里插入图片描述

写在最后

What’s the meaning of following command:

dexdump -d | grep ‘“android.’ | cut -d , -f 2 | sort -u

公众号

更多内容,欢迎关注我的微信公众号:无情剑客。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

helloworddm

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值