首页
社区
课程
招聘
[原创]Frida使用文档(一)安装、启动、运行、关闭
发表于: 2022-3-31 00:21 6447

[原创]Frida使用文档(一)安装、启动、运行、关闭

2022-3-31 00:21
6447

<table><tr><td bgcolor=orange>本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!</td></tr></table>


Frida使用文档(一)安装、启动、运行、关闭

操作环境

  • win10
  • Google nexus5x
  • Python3.9
  • frida==14.2.17
  • frida-tools==9.2.4

    安装Frida

PC安装frida和frida-tools

注意frida和python frida-tools的版本匹配,Frida与Frida-tools对应关系

1
2
pip install frida==14.2.17
pip install frida-tools==9.2.4

请添加图片描述

手机安装frida-server

在 官方github页面的release标签里,找到对应版本的frida-server,注意要匹配系统和架构,比如armarm64就不能搞错

  • 查看手机CPU 架构类型

    1
    2
    3
    4
    5
    6
    PS C:\Users\Administrator> adb devices
    List of devices attached
    00eda37121888c2c        device
    PS C:\Users\Administrator> adb shell
    bullhead:/ $ getprop ro.product.cpu.abi
    arm64-v8a

    请添加图片描述

  • 根据frida版本和手机CPU版本下载对应的frida-server
    请添加图片描述
    下载完成后进行解压,获得linux原生的可执行文件,我们将它重命名为frida-server

  • 将frida-server安装至手机

    使用adb命令将其推送到手机上去

    1
    $ adb push frida-server /data/local/tmp/

    然后使用adb shell命令进入到手机中去,执行以下命令:

    1
    2
    3
    4
    5
    6
    7
    8
    $ adb shell
    bullhead:/ $ su
    bullhead:/ # whoami
    root
    bullhead:/ # cd /data/local/tmp/
    bullhead:/data/local/tmp # chmod 755 /data/local/tmp/frida-server
    bullhead:/data/local/tmp # ./frida-server &
    [1] 6669

    frida-server运行成功。

运行Frida

启动frida-server服务

电脑新开一个shell,执行如下命令

1
2
3
4
5
6
7
8
PS C:\Users\Administrator> adb shell
bullhead:/ $ su
bullhead:/ # cd /data/lo
local/       lost+found/
bullhead:/ # cd /data/local/tmp/
bullhead:/data/local/tmp # ./frida-server &
[1] 8610
bullhead:/data/local/tmp #

请添加图片描述

 

此时在电脑上新开一个shell,运行frida-ps -U命令,即可显示手机中正在运行的进程。

 

请添加图片描述

 

frida-server服务端启动成功!

关闭frida-server服务

查看frida进程

1
ps | grep frida

杀死进程

1
kill -9 进程id

请添加图片描述

常用命令

端口转发

1
adb forward tcp:27042 tcp:27042

常见问题

Frida hook某些App,明明包名写对了,却找不到进程

1
2
3
4
5
6
7
#查看进程中的信息
#process = frida.get_usb_device().enumerate_processes()
#print(process)
 
1.新开一个shell输入命令:
adb shell am monitor
2.启动需要获取包名的应用

请添加图片描述


 

<table><tr><td bgcolor=orange>本文仅供学习交流使用,如侵立删!</td></tr></table>



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 2
支持
分享
最新回复 (3)
雪    币: 205
活跃值: (334)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
坐等楼主后续实战教程
2022-3-31 17:03
0
雪    币: 614
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
下文呢大佬啊
2022-5-10 20:43
0
雪    币: 2784
活跃值: (2559)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
wx_ytt 下文呢大佬啊[em_28]
最近有点忙,没时间更新,
2022-5-10 20:49
0
游客
登录 | 注册 方可回帖
返回
//