0%

Frida ts调试环境搭建(PyCharm)

概述

前文使用的是VSCodeDevTools,需要在两个应用间切换,且需要查找最终位置再下断点,比较麻烦。

于是搭建PyCharm调试环境,可直接在源文件(ts和js)下断点

环境

系统:Windows 10 20H2 x64
软件:PyCharm Professional 2021.2.3Node.js 14.17.4Frida 15.1.11

过程

克隆仓库并安装

1
2
3
git clone https://github.com/XhyEax/frida-script-agent
cd frida-script-agent/
npm install

使用PyCharm打开该目录

安装插件

Ctrl+Alt+S打开插件页面,搜索并安装 Node.js 插件

编写脚本

编辑index.ts,可使用import引入其他模块

开启实时编译(推荐)

1
npm run watch

监听文件变化,自动编译到_agent.js

调试

启动Server

注意:运行前确保已开启实时编译,不然修改不生效

方法一 npm scripts(推荐)

spawn
1
npm run spawn --pkgname=com.android.settings
attach
1
npm run attach --appname=设置

也可添加为PyCharm启动配置,指定Arguments

方法二 命令行

添加--debug --runtime=v8启动参数,附加到app

成功后会在Frida CLI中输出:Chrome Inspector server listening on port 9229

添加配置

添加调试器配置Attaching to Node.js/Chrome,配置默认即可,可勾选自动重连

PS:旧版本Frida可能需要选择Node.js < 8 started with --debug

附加

运行新增的调试器配置,连接成功后,可以在Scripts看到相应的脚本文件

断点调试

源文件下断点调试即可,主动调用同前文,使用rpc.exports导出函数

注意:如果js脚本并未使用frida-compile编译成目标文件,则需要使用DevTools调试,无法使用PyCharm