hook学习-frida
编写APK
在android studio上编写好程序后,可以用ADB把APK传到在手机上然后调试,首先需要在手机的开发者选项中开启usb调试模式才能连接ADB。
也可以用android studio写好程序后,在菜单栏-build选择build APK,然后在APP\fridatest\app\build\outputs\apk\debug文件下找到APK,放到手机上安装。
安装frida
最简单、最顺利的方法是pip install frida和pip install frida-tools
如果运行失败,麻烦点的就是在 https://pypi.org/project/frida/#files 下载frida-12.6.16-py2.7-linux-x86_64.egg放到home目录,然后下载frida-12.6.16.tar.gz解压,执行
1 | python setup.py install |
frida-tools就直接pip install frida-tools
之后执行
1 | frida-ps --version |
查看版本,能看到版本就说明安装成功了
如果安装失败可以直接pip uninstall frida卸载,重安
遇到的坑
在kali上安装好frida和frida-tools后,在https://github.com/frida/frida/releases下载对应机型架构的frida-server,然后adb push到手机/data/local/tmp(这里要注意的是frida版本和frida-server版本要对应)
我尝试了两部手机
第一部是nexus 5X ,安卓8.0.0系统,arm64,尝试运行load.py时遇到了
1 | Traceback (most recent call last): |
使用命令
1 | frida -U -f com.example.fridatest.fridatest --no-pause |
后出现了
1 | ____ |
网上没有找到相似问题,我只好更换另一部手机,Nexus 6,安卓8.1.0系统
运行load.py又出现了问题
1 | Traceback (most recent call last): |
依旧未能解决
最后在 https://blog.csdn.net/cjx529377/article/details/95802532 找到问题可能的原因,就是我的frida以前安装了12.2.16版本,而我下载的frida-server是12.6.16版本,两者版本不对应导致。
评论加载中