android studio连接夜神模拟器
启动夜神模拟器或者逍遥模拟器通过命令 adb devices
查看USB连接的设备时查看不到。需要将 环境变量下的path 对应的 adb.exe 与夜神模拟器或者逍遥模拟器 安装路径下 的adb.exe保持 一致 。
前言
初步使用frida hook的python和Js代码
https://frida.re/docs/examples/android/
frida hook与xposed类似,都是用于hook安卓系统对应的进程。
配置需要Hook的机器
建议使用模拟器 https://www.yeshen.com/ ,安装夜神模拟器中的android 7。低版本安卓系统会导致有些应用运行不了。
不建议root手机开始,root手机流程复杂会耽误很多时间,在后续hook能力提高很多后再使用真正的硬件设备。
安装frida
配置python,使用3.x以上的python,如果你使用2.x的,那么在环境变量中path替换成3.x即可;替换内容就是python安装地址。
pip安装frida
pip3 install frida
即可,这个过程会非常慢(下载慢和安装慢)。解决下载慢,需要将pip下载镜像换成国内清华源镜像
在C:\Users\xxxx\目录下新建pip 文件夹,然后在pip文件内新建 pip.ini 文件,文件内容填入
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
这个过程执行完成后,进行 pip3 install frida
速度会提高很多。注意:这个过程可能出现错误,根据它提示的错误下载对应的依赖。
pip安装frida-tools
pip install frida-tools
查看手机型号,下载系统对应版本的 frida-server
adb shell getprop ro.product.cpu.abi
可能你的连接设备有很多,需要执行adb devices,然后根据设备号执行如下命令
adb -s 设备号 shell getprop ro.product.cpu.abi
知道手机型号后 https://github.com/frida/frida/releases 下载frida-server;注意不要选择错了。下载完成后需要解压,解压后是个可执行文件,需要把它推送到安卓机器上去。
推送到安卓机上
adb push frida-server-12.2.27-android-arm64 /data/local/tmp/frida-server
,推送到手机上同理需要选择设备号 adb -s 设备号 xxxxx
进入安卓设备执行刚刚推送上去的可执行文件
,执行完毕后为运行状态。
adb shell
su
cd /data/local/tmp
chmod 755 frida-server
./frida-server
保留此窗口 shell,以保证服务运行,关闭该shell 或者停止ctrl+c 则服务关闭。接下来的操作可另起shell 或该步骤命令另起 shell 执行。
执行如下命令,验证frida是否安装成功
PS D:\Users\chenrui> frida-ps -U
PID Name
---- ------------------------------------------
1751 adbd
2434 android.ext.services
2468 android.process.media
1811 audioserver
1812 cameraserver
将一个脚本注入到Android目标进程
frida -U -l exampleHook.js com.xxx.xxxx
参数解释:
-U 指定对USB设备操作
-l 指定加载一个Javascript脚本
最后指定一个进程名,如果想指定进程pid,用-p选项。正在运行的进程可以用frida-ps -U命令查看。
使用现在的例子
初步使用frida hook的python和Js代码
https://frida.re/docs/examples/android/