首页
社区
课程
招聘
[原创] Frida操作手册-Android环境准备
发表于: 2018-12-9 14:49 28628

[原创] Frida操作手册-Android环境准备

2018-12-9 14:49
28628

emm..好久没发过文章啥的了,正好前几天@roysue对frida特别感兴趣,于是就拉上我开了一个写Frida教程的Gayhub,刚写完半篇就被我ctrl+c ctrl+v给弄过来刷刷存在感了..

教程尽量小白化,希望大家都看得懂~

https://github.com/hookmaster/frida-all-in-one
建议:先把小星星点上,然后把小眼睛也点上,然后就等着收更新邮件吧

在手机硬件的考虑上,首先优选谷歌的“亲儿子”:NexusPixel系列,鉴于官网上测试案例在Nexus 5X手机,系统为Android 8.1.0版本上进行测试,我们也会选用这款手机、和这个系统版本来进行实验。

官网也指出不可能在所有手机和所有ROM上完全进行测试,肯定是具体情况具体分析。

Also note that most of our recent testing has been taking place on a Nexus 5X running Android 8.1.0. Older and newer ROMs may work, but if you’re running into basic issues like Frida crashing the system when launching an app, this is due to ROM-specific quirks. We cannot test on all possible devices, so we count on your help to improve on this. However if you’re just starting out with Frida it is strongly recommended to go with a Nexus device with factory software, or an official 8.x emulator image for arm or arm64. (x86 may work too but has gone through significantly less testing.)

官网上依旧指出,选择Android 8.x系统的模拟器也是没问题的,架构必须选择arm或者arm64x86可能会有crash的情况发生。

Nexus 5X这款手机的硬件参数为:


frida官网指出的factory software就是谷歌的官方工厂镜像网站,打开这个网站可能需要科学上网。网站中间有一些操作指南,右边就是手机型号一览表,在这里我们选择Nexus 5X的型号bullhead

可以看到从安卓6到安卓8均支持,而且最新支持到8.1.0


...

我们使用wget命令来下载最新的8.1.0 (OPM7.181205.001, Dec 2018)版本,这样速度最快。

下载完成后记得校验SHA-256 Checksum,必须得于官网一致,否则下载文件已经损坏,无法使用,必须重新下载。

可见SHA-256 Checksum与官网相同,接下来就是刷入该系统。

首先将手机进入fastboot状态,操作流程如下:

状态如下:

PS:如果手机并没有解锁,也就是DEVICE STATE -显示locked,那手机需要先解锁,得是unlocked,也就是图上的状态,才可以后续刷入recovery等操作。Nexus 5X手机解锁是比较简单的,这里不做演示了。

手机用USB线连上电脑,运行脚本,将系统刷进手机。

刷机完成后,手机会自动重启,重启完成后即可自动进入系统。

recovery相当于Windows PE微型系统,在recovery里我们也可以挂载磁盘,修改系统分区,使用adb命令,等一系列功能。详细的功能列表可以百度或者谷歌。

我们这里只需要下载twrp针对bullhead机型的镜像,刷进去即可。

我们下载最新的twrp-3.2.3-0-bullhead.img镜像文件。

然后将手机设置到fastboot模式,使用fastboot命令将镜像刷进去。

刷完之后,在手机上按两次音量向下键,选择Recovery mode,按电源键进入。

稍等片刻之后,就会进入twrp 3.2.3-0系统。

直接滑开即可。意味着允许修改系统。

可以看到功能非常丰富。

自从SuperSU卖给中国人,并且不再更新之后,大家已经不怎么使用这款root软件了,取而代之的是Magisk

Magisk是由中国台湾省小伙儿topjohnwu开发的一款完全开源的root软件,其github项目托管主页在这里

有关Magisk的详细中文介绍,大家可以看这篇文章,我们只是用Magisk来获取root权限。

github项目主页的release页面,下载最新的卡刷包:Magisk-v17.3.zip

然后使用adb命令将卡刷包上传到手机中去。

然后使用twrp将这个卡刷包安装进手机里。首先点选上一节最后一张图中的Install

然后选择我们刚刚传输进去的Magisk-v17.3.zip卡刷包。

滑动确认安装。

安装完成后直接重启即可,Reboot System

滑动重启。

重启后发现Magisk Manager已经安装好了,并且是作为系统App,卸载不了的。卸载只有安装官网release页面里的Magisk-uninstaller-20181022.zip卡刷包。

打开App可以看到安装成功。

接下来就是使用adb命令进入安卓手机的shell,并且获取root权限,为下一节做好准备。

在手机上找到设置→系统→关于手机→版本号,点击版本号五下,打开开发者选项,然后进入设置→系统→开发者选项,打开USB调试选项。然后USB连接到电脑,使用adb命令连上去。手机上会出现授权,点击接受该指纹的电脑连接。

此时是shell权限,权限非常小。我们来切换到root用户:

此时手机上会出现Magisk的超级用户请求,点击允许,com.android.shell即可获取root权限。

点击允许之后,su -这个命令才会返回,然后运行whoami命令,可以看到已经是root了。

这时候就可以用root的权限来做一些事情了。

上一节中刷机,获取root其实倒是蛮复杂的,这一节安装frida-server其实倒是简单很多,我们从官方github页面的release标签里,找到最新版的frida-server,注意要匹配系统和架构,比如armarm64就不能搞错,比如我们这里选择的就是frida-server-12.2.26-android-arm64.xz的版本。

下载完成后进行解压,获得linux原生的可执行文件,我们将它重命名为frida-server

使用adb命令将其推送到手机上去。

然后使用adb shell命令进入到手机中去,执行以下命令:

frida-server即可运行成功。

此时在电脑上新开一个shell,运行frida-ps -U命令,即可显示手机中正在运行的进程。

到这里我们在64位手机Nexus 5X的安卓原生8.1系统上安装frida-server就成功了。

待续...

图片描述

 
 

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2019-1-11 19:31 被kanxue编辑 ,原因:
收藏
免费 9
支持
分享
打赏 + 6.00雪花
打赏次数 2 雪花 + 6.00
 
赞赏  疯子Tear   +1.00 2019/11/03
赞赏  junkboy   +5.00 2018/12/09
最新回复 (21)
雪    币: 11716
活跃值: (133)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
2018-12-9 15:01
0
雪    币: 29183
活跃值: (63656)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
3
666,赞
2018-12-9 18:08
0
雪    币: 607
活跃值: (87)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我的红米note4版本android6.0能正常使用就是在用过hook后手机会死机
2018-12-9 21:14
0
雪    币: 197
活跃值: (1348)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
感谢楼主分享
2018-12-10 09:57
0
雪    币: 3456
活跃值: (14178)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
6
2018-12-10 10:43
0
雪    币: 3907
活跃值: (5822)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
7
2018-12-10 13:22
0
雪    币: 129
活跃值: (427)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
xswakx 我的红米note4版本android6.0能正常使用就是在用过hook后手机会死机
帖子里面推荐使用google亲儿子,Nexus 系列。最起码要Nexus 5。
2018-12-10 14:02
0
雪    币: 2731
活跃值: (1651)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
666
2018-12-10 18:16
0
雪    币: 574
活跃值: (405)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
很详细的教程,适合我们小白学习
2018-12-12 16:13
0
雪    币: 19
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
目前有个 bug。
pixel hook native 函数的时候是没用的。 已经有issue了, 还没修复。https://github.com/frida/frida/issues/609
2019-1-7 20:31
0
雪    币: 198
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
执行这里,出现这个问题,不知道怎么解决呢

2019-1-10 10:03
0
雪    币: 916
活跃值: (3434)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
13
taley 执行这里,出现这个问题,不知道怎么解决呢
你已经起过一个server 进程了
2019-1-11 11:19
0
雪    币: 11716
活跃值: (133)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
#寻宝大战#祝看雪19岁快乐!
2019-1-11 20:08
0
雪    币: 231
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
15
膜拜
2019-4-7 12:10
0
雪    币: 54
活跃值: (705)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
请教一个问题。 使用Nexus5x + android8.10 按照lz步骤都成功了。 但是adb shell不能直接获取root权限。 使用adb root没效果, 通过magiskhide props config 修改ro.secure和ro.adb.secure也没效果。有其他办法么
2019-10-29 10:37
0
雪    币: 3212
活跃值: (828)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
树莓派用pip install frida-tools报错
2019-11-3 13:03
0
雪    币: 2
活跃值: (44)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
18
大佬 我刷的镜像是8.1.0 刷机是成功了 就是反复重启 自动关机 有啥解决办法吗?
2020-1-20 15:55
0
雪    币: 503
活跃值: (2204)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
19
fuckCC 大佬 我刷的镜像是8.1.0 刷机是成功了 就是反复重启 自动关机 有啥解决办法吗?[em_46]
重刷个包
2020-4-8 17:37
0
雪    币: 215
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
20
学习了不错的教程
2020-4-9 10:55
0
雪    币: 148
活跃值: (780)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
实操pixel xl成功了,感谢,不过中间刷twrp的时候失败了,我刷的 https://dl.twrp.me/marlin/twrp-3.1.1-1-fastboot-marlin.img 才成功。
2020-5-1 20:58
0
雪    币: 148
活跃值: (780)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
fuckCC 大佬 我刷的镜像是8.1.0 刷机是成功了 就是反复重启 自动关机 有啥解决办法吗?[em_46]
我之前也遇到你这个问题,重新换了个twrp成功的
2020-5-1 20:59
0
游客
登录 | 注册 方可回帖
返回
//