Frida开发和调试环境搭建

xiaoeryu Lv5

本章记录在kali上配置Frida开发和调试环境,这个环境配置真的相当麻烦,不同版本很容易碰到不兼容的问题需要多注意一下。

下面的安装流程仅限于kali 2023.3版本

安装kali虚拟机

直接下载Get Kali | Kali Linux 的VMware压缩包省去安装流程

默认账号密码都是kali

打开之后先设置一下root密码、修改一下默认字体大小(kali默认的字体都太小了修改一下 ), 安装的时候使用kali账户安装不要使用root账户

检查一下时间如果不对的话也修改一下sudo dpkg-reconfigure tzdata

安装配置clash

这里选择安装桌面版

前两天clash删库了,回头可能还得换v2ray

下载解压到/opt/clash/目录下运行

./cfw

  • 有时候网络环境不好订阅地址下载失败的话,可以直接把主机的配置文件拷贝一份导入进去也行
浏览器科学上网配置:修改浏览器代理为手动
终端科学上网配置:这是临时的关闭终端就没有了

export http_proxy=http://127.0.0.1:7890

export https_proxy=http://127.0.0.1:7890

clash配置好了,开始配置Frida开发调试环境

配置调试环境

网络配置

依次执行下列命令,一个一个执行。

更新apt

sudo apt update

sudo apt upgrade	# 这个可以不用安装太慢了,不影响使用

2023自带的有中文字符集可以不用安装, 其它版本可能还需要安装中文字符集

安装中文字体
sudo apt install xfonts-intl-chinese
安装微软雅黑
sudo apt install ttf-wqy-microhei

安装htop性能监测工具
sudo apt install htop
安装网络检测工具
sudo apt install jnettop

设置代理

sudo nano /etc/proxychains4.conf

需要注释掉这几行

#socks4 127.0.0.1 9050

#proxy_dns

#strict_chain

需要去掉这行注释

dynamic_chain

增加一行

socks5 {IP} 1080 #这里是给jnettop使用

如果需要VPN代理,可以再下面依次写入,会自动切换不能使用的代理。clash这种订阅链接的话不用设置

安装pyenv

安装依赖

sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses-dev \
xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git

安装pyenv

curl https://pyenv.run | bash

执行完之后还需要手动配置一下环境变量

pyenv 添加到你的 shell 配置文件中(例如 ~/.bashrc~/.zshrc):

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

重新加载shell配置

source ~/.bashrc # 或 source ~/.zshrc

检查一下是否安装成功

pyenv versions
which pyenv
pyenv的常用命令

pyenv version # 查看当前系统使用的python版本

pyenv versions # 查看当前系统拥有的python版本(system代表当前系统的python版本号)!!!

pyenv install –list # 查看可以安装的版本 !!!

pyenv install 3.8.0 # 安装版本3.8.0 ,可以使用-v看详细输出 !!!

pyenv uninstall 3.8.0 # 卸载

pyenv local 3.8.0 # local仅对当前目录及其子目录生效,告诉目录使用版本3.8.0 !!!

pyenv global 3.8.0 # 告诉全局环境使用3.8.0 ,为了不破坏系统默认环境, 不建议使用global命令

pyenv rehash # 重建环境变量,每当你增删python版本或增删带可执行性的包(如pip)以后,都应该执行一次本命令

pyenv which # 显示pyenv在运行给定命令时将调用的可执行文件的绝对路径

PS:使用pyenv install XXX命令安装python的时候可能会显示缺少一些库文件,需要先安装了之后再安装python

安装frida自动提示补全

git clone https://github.com/oleavr/frida-agent-example.git
cd frida-agent-example/
npm install

安装frida、objection、frida-dexdump

pip install frida==12.8.0
pip install frida-tools==5.3.0
pip install objection==1.8.4
pip install frida-dexdump

安装adb

sudo apt install google-android-platform-tools-installer

安装VSCODE

导入 Microsoft GPG 密钥: 运行以下命令导入 Microsoft 的 GPG 密钥:

wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg

添加 VSCode 存储库: 运行以下命令添加 VSCode 存储库:

sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'

安装 VSCode: 更新包列表并安装 VSCode:

sudo apt update
sudo apt install code

运行 VSCode: 安装完成后,你可以通过命令行运行 code 或者在应用程序菜单中找到 Visual Studio Code 并启动它。

安装frida-server端到手机

安装frida-server最好跟主机上安装的frida版本一致比较好

在官网下载安装包,官网地址 。真机下载frida-server-12.8.0-android-arm64.xz版的,手机需要有root权限,刷机教程可以参考Android刷机+抓包环境配置

将下载的安装包解压,把解压后的文件push到手机/data/local/tmp/目录下

测试是否连接成功

可以安装一个WIFI ADB方便多个终端链接

启动手机端frida-server

┌──(kali㉿kali)-[~]
└─$ adb shell
marlin:/ $ su
marlin:/ # cd /data/local/tmp/                                                                                                        
marlin:/data/local/tmp # ./fs-12 -l 0.0.0.0:8888 &                                                                                    
[1] 28392
marlin:/data/local/tmp # 
测试:通过WIFI ADB连接frida

frida-ps -H 192.168.1.8:8888

测试:js脚本注入
function main(){
    Java.perform(function(){
        console.log("Inside Frida Java Perform !");
    });
}
setImmediate(main);

frida -H 192.168.1.8:8888 -f com.android.settings -l /path/0530.js

┌──(kali㉿kali)-[~/Documents]
└─$ frida -H 192.168.1.8:8888 -f com.android.settings -l 0530.js
     ____
    / _  |   Frida 12.8.0 - A world-class dynamic instrumentation toolkit
   | (_| |
    > _  |   Commands:
   /_/ |_|       help      -> Displays the help system
   . . . .       object?   -> Display information about 'object'
   . . . .       exit/quit -> Exit
   . . . .
   . . . .   More info at https://www.frida.re/docs/home/
Spawning `com.android.settings`...                                      
Inside Frida Java Perform !
Spawned `com.android.settings`. Use %resume to let the main thread start executing!
[Remote::com.android.settings]->  
测试:objection注入
┌──(kali㉿kali)-[~/Documents]
└─$ objection -N -h 192.168.1.8 -p 8888 -g com.android.settings explore
Using networked device @`192.168.1.8:8888`


A newer version of objection is available!
You have v1.8.4 and v1.11.0 is ready for download.

Upgrade with: pip3 install objection --upgrade
For more information, please see: https://github.com/sensepost/objection/wiki/Updating

Agent injected and responds ok!

     _   _         _   _
 ___| |_|_|___ ___| |_|_|___ ___
| . | . | | -_|  _|  _| | . |   |
|___|___| |___|___|_| |_|___|_|_|
      |___|(object)inject(ion) v1.8.4

     Runtime Mobile Exploration
        by: @leonjza from @sensepost

[tab] for command suggestions
com.android.settings on (google: 10) [net] # frid                                                                                                                                                                                  
Unknown or ambiguous command: `frid`. Try `help frid`.
com.android.settings on (google: 10) [net] # frida                                                                                                                                                                                 
--------------------  -----------
Frida Version         12.8.0
Process Architecture  arm64
Process Platform      linux
Debugger Attached     False
Script Runtime        DUK
Script Filename       /script1.js
Frida Heap Size       16.9 MiB
--------------------  -----------
com.android.settings on (google: 10) [net] #  

其它参考链接:

看雪2W课-Frida逆向与利用自动化 Frida开发和调试环境搭建 课时1_frida自动化-CSDN博客

2023:Frida完美安装方案-呆小猴 (daixiaohou.com)

【基础篇】Frida学习环境配置-Kali-2022

  • 标题: Frida开发和调试环境搭建
  • 作者: xiaoeryu
  • 创建于 : 2023-11-04 10:42:31
  • 更新于 : 2024-05-26 23:04:54
  • 链接: https://github.com/xiaoeryu/2023/11/04/看雪2W课-Frida开发和调试环境搭建/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论