Frida三板斧的安装配置与基本使用

tags: [‘frida’,‘jnitrace’,‘objection’]
categories: ‘经验教程’
# Frida
面向开发人员、逆向工程师和安全研究人员的动态检测工具包。
frida 文档:https://frida.re/docs/home/
# 对应版本
frida&frida-tools 版本对应查看 :frida-releases
找到你使用 frida 的版本,查看其版本下 frida-tools 的版本,它们就是对应版本。(建议多准备几个 Python 与 firda 的版本,因为它并不稳定)
12pip install frida==14.2.13pip install frida-tools==9.2.1
# frida-server
安卓手机需要安装 frida-server,版本与 frida 版本需一致,根据设备架构选择 x86 或 arm 等。
解压文件
17x x frida-server.xz
启动 frida-server
1234adb rootadb push frida-server /data/local/tmp/adb shell "chmod 755 /data/local/tmp/frida-server"adb shell "/data/local/tmp/frida-server"
测试服务
1frida-ps -U // 查看正在运行进程
显示如下内容则表示服务启动,手机重启后需要再次执行命令启动。
1234 PID NAME 1590 com.xxx.xxx13194 com.xxxx.xxxxx…
# 常用命令
1frida -FU packagename -l hookscript.js
# Jnitrace
JNItrace 是一个基于 Frida 框架的Hook jni方法的库。https://github.com/chame1eon/jnitrace
Python 安装
1pip install jnitrace // 需要frida版本14以上
# 依赖:
arm、arm64、x86 或 x64 Android 设备
Frida 安装在 Android 设备上
Frida 支持 > 14
使用 Python 3 和 pip 的 Linux、Mac 或 Windows 主机
# 启动命令:
两个参数分别为待分析的 SO 与 APP 包名。-l 参数可以多次使用 -l libname.so -l libname1.so ...
1jnitrace -l libname.so packagename
默认使用 spawn 启动,可以通过 -m attach 设置通过 attach 启。
1jnitrace -m attach -l libname.so packagename
>> 导出 log 日志保存至文件,控制台将不输出 log。
例: jnitrace -l libname packagename >> jnitrace.txt
# objection
# 安装
官方安装教程:https://github.com/sensepost/objection/wiki/Installation
1pip3 install -U objection
在内存中所有已加载的类中搜索包含特定关键词的类
1android hooking search classes
hook java 方法
1android hooking watch class_method
hook java 类
1android hooking watch class
列出进程所有的 activity
1android hooking list activities
许可协议
本文采用 署名 - 非商业性使用 - 相同方式共享 4.0 国际 许可协议,转载请注明出处。
分享文章