星火出海是您的WhatsApp业务解决方案提供商
埃及、利比亚、突尼斯、阿尔及利亚、摩洛哥、亚速尔群岛(葡)、马德拉群岛(葡)、加那利群岛(西)、苏丹、南苏丹、埃塞俄比亚、厄立特里亚、索马里、吉布提、肯尼亚、坦桑尼亚、乌干达、卢旺达、布隆迪、塞舌尔,乍得、中非、喀麦隆、赤道几内亚、加蓬、刚果共和国、刚果民主共和国、圣多美和普林西比,毛里塔尼亚、塞内加尔、冈比亚、马里、布基纳法索、几内亚、几内亚比绍、佛得角、塞拉利昂、利比里亚、科特迪瓦、加纳、多哥、贝宁、尼日尔、尼日利亚 、西撒哈拉(摩洛哥实际控制),赞比亚、安哥拉、津巴布韦、马拉维、莫桑比克、博茨瓦纳、纳米比亚、南非、斯威士兰、莱索托、马达加斯加、科摩罗、毛里求斯、留尼汪岛(法)、圣赫勒拿岛(英)、马约特(法)
Frida是个轻量级别的hook框架是Python API,但JavaScript调试逻辑
Frida的核心是用C编写的,并将Google的V8引擎注入到目标进程中,在这些进程中,JS可以完全访问内存,挂钩函数甚至调用进程内的本机函数来执行。
使用Python和JS可以使用无风险的API进行快速开发。Frida可以帮助您轻松捕获JS中的错误并为您提供异常而不是崩溃。关于frda学习路线了,Frida的学习还是蛮简单的,只需要了解两方面的内容:
主控端和目标进程的交互(message)
Python接口和js接口(查文档)
frida框架分为两部分:
一部分是运行在系统上的交互工具frida CLI。
另一部分是运行在目标机器上的代码注入工具 frida-serve。
Windows10 X64 Python 3.7 Google pixel Anroid 7.1 Frida官网:https://www.frida.re/ Frida源码:https://github.com/frida
Frida通过其强大的仪器核心Gum提供动态检测,Gum是用C语言编写的。因为这种检测逻辑很容易发生变化,所以通常需要用脚本语言编写,这样在开发和维护它时会得到一个简短的反馈循环。这就是GumJS发挥作用的地方。只需几行C就可以在运行时内运行一段JavaScript,它可以完全访问Gum的API,允许您挂钩函数,枚举加载的库,导入和导出的函数,读写内存,扫描模式的内存等
Frida的安装很简单,需要在windows安装frida客户端和在安卓安装frida服务端。
windows安装python37安装,打开cmd,使用命令pip3.7.exe install frida
在安装frida-toolspip3.7.exe install frida-tools
查看frida版本frida --version
查看Android手机设备设置getprop ro.product.cpu.abi
根据cpu版本去下载相应frida-server,手机是arm64-v8a的,找到相应的服务器server,如下
将frida-server下载下来,加压出来,为了简单,重命名为frida-server,将放到手机,并进行端口转发,运行frida
执行以下命令将服务端推到手机的/data/local/tmp目录 adb push frida-server /data/local/tmp/frida-server
执行以下命令修改frida-server文件权限 adb shell chmod 777 /data/local/tmp/frida-server
运行frida
./frida-server
如果运行不了,关闭liunx的SELinux: echo 0 > /sys/fs/selinux/enforce
。
另打开一个cmd,查看frida-server是否运行成功。
工具总体概述,Frida提供了四个工具,frida-trace,frida-ps,frida,frida-discover,这些工具都位于python的Scripts路径下
pip3 install -U frida
pip3 install -U frida-tools