Android APP渗透测试(2)-Objection

简介

objection是基于Frida的一个工具,可以方面我们直接找出apk中的需要HOOK的方法,还可以答应函数的参数,返回值以及栈调用等等,是我们在写Frida脚本的一个不错的辅助工具;

安装

因为Frida的安装通常需要Python3.7及以上,所以这里objection也使用Python3.7进行安装;
如果运气好的话直接使用pip就可以安装:

sudo pip3.7 install objection

如果有一些报错的话,需要安装依赖再重新编译安装Python3.7,比如:
报错一:

ModuleNotFoundError: No module named '_sqlite3'

这个报错直接运行:

sudo apt-get install libsqlite3-dev zlib zlib-devel

报错二:

ModuleNotFoundError: No module named '_lzma'

下载xz源码:

https://sourceforge.net/projects/lzmautils/files/xz-5.2.5.tar.gz/download

编译安装:

./configure
make -j8
sudo make install

下载python3.7源码:

wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tar.xz

编译安装:

./configure --prefix=/usr/local/python3.7
make -j8
sudo make install

根据需要建立软连接:

ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python3.7
ln -s /usr/local/python3.7/bin/pip3.7 /usr/bin/pip3.7

安装好之后重新执行:

sudo pip3.7 install objection

成功安装objection后效果:
objection

使用

同样手机端启动frida-server,然后用objection附加上我们需要调试的apk包:
这里我们的包名为com.android.chrome
frida-ps

objection -g com.android.chrome explore

objection启动

提取内存信息

memory list modules

memory_list
这里如果输出太多的话,我们还可以使用--json参数将数据导入文件中;
知道有那些库之后,我们可以获取其中库的导出函数:

memory list exports liblog.so

exports

列出内存中所有的类

android hooking list classes

classes
输出的结果很多,可以通过添加要查找的关键字进行过滤:

android hooking search classes chrome

search

列出内存中所有的方法

同样我们可以列出内存中所有的方法:

android hooking search methods chrome

但是需要花费的时间比较长:
methods

列出类的所有方法

我们还可以列出某一个类中的所有方法:

android hooking list class_methods com.google.android.apps.chrome.compositor.Invalidator

class_methods

直接生成hook代码

android hooking generate simple com.google.android.apps.chrome.compositor.Invalidator

simple
但是这只是生成了一个简单的框架,对于参数却没有填上去,需要我们自己添加;

hook类的所有方法

android hooking watch class com.google.android.apps.chrome.C
hromeBrowserProvider

watch
可以通过点击程序触发相应的方法;

hook方法的参数、返回值和调用栈

android hooking watch class_method com.google.android.apps.c
hrome.ChromeBrowserProvider.hasWriteAccess --dump-args --dump-backtrace --dump-return 

watch_method

事件删除

通过jobs list可以列出事件,jibs kill +job_id可以删除事件:
jobs

暴力搜内存

这个可以用于脱壳,搜索文件头:

memory search "64 65 78 0a 30"

dex
还可以将其dump下来:

memory dump from_base 0xcd20bd72 6666 /home/cc-sir/deskto
p/xx.dex

dump

总结

frida配合objection使用可以很好提高我们的分析效率.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值