frida hook过程
第一步
1.我这里用的python3.7环境的,直接用pip就可以安装frida
安装两个工具包 如果安装慢就用镜像
国内镜像: 这是链接.
pip install frida
pip install frida-tools
安装好之后可以通过 frida --version调用了
如果无法调用请在我的电脑中配置好anaconda的环境变量
2.在已经root的手机上安装frida-sever
frida-sever下载
查看cpu型号或者版本
Android 设备的CPU类型(通常称为”ABIs”)
armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它.
arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。
armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。x86: 平板、模拟器用得比较多。x86_64: 64位的平板。
查看真实手机的版本
adb shell
R11:/ # cd /proc
R11:/proc # cat cpuinfo
查看模拟器的cpu版本
这个命令应该都可以查
adb shell getprop ro.product.cpu.abi
下载 frida-server:https://github.com/frida/frida/releases
#把服务端推送到手机的指定目录(记得要先解压)
adb push frida-server-12.4.0-android-X86 /data/local/tmp/frida-server
#进入终端
adb shell
cd /data/local/tmp
chmod 777 frida-server
./frida-server
3.新开一个cmd
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043
#列出usb端口的所有进程
frida-ps -U
#列出网络端口的所有进程(我理解为虚拟机)
frida-ps -R
如果有进程出来就说明配置的没问题
4.写一个python程序
import frida
remote_dev = frida.get_remote_device()
print(remote_dev)
#正在运行的进程app
front_app = remote_dev.get_frontmost_application()
print(front_app)
# 枚举所以进程
processes = remote_dev.enumerate_processes()
for process in processes:
print(process)
frida-源码分析/:https://mabin004.github.io/2018/07/31/Mac%E4%B8%8A%E7%BC%96%E8%AF%91Frida/
frida-例子:https://frida.re/docs/javascript-api/
firida-例子:https://frida.re/docs/frida-trace/
参考:
https://blog.csdn.net/feibabeibei_beibei/article/details/89285714
https://blog.csdn.net/tangyuan569/article/details/105396077
https://blog.csdn.net/qingemengyue/article/details/79871926
https://www.cnblogs.com/tjp40922/p/11353808.html
https://www.sohu.com/a/280972623_354899
https://blog.csdn.net/qingemengyue/article/details/80061491
https://www.jianshu.com/p/0e4f2dc0e919
http://www.imooc.com/article/80382
http://www.testclass.net/appium/desired_capabilities
哔哩哔哩视频:https://www.bilibili.com/video/BV1jJ411K7Xx/?spm_id_from=333.788.videocard.0