安装
本页为社区译文;如有疑义,请以英文原文为准。
英文原文
安装 Frida 并做好使用准备应该只需要几分钟。如果这个过程变得麻烦,请提交 issue(或提交拉取请求),说明你遇到的问题,以及我们可以怎样让这个过程更简单。
Frida CLI 工具的要求
安装 Frida 的 CLI 工具简单直接,但开始之前需要确认系统满足以下几项要求。
- Python——强烈建议使用最新的 3.x 版本
- Windows、macOS 或 GNU/Linux
使用 pip 安装
安装 Frida CLI 工具的最佳方式是通过 PyPI:
$ pip install frida-tools如果安装 Frida 时遇到问题,请查看故障排除页面或报告问题,以便 Frida 社区改善所有人的使用体验。
手动安装
你也可以从 Frida 的 GitHub releases 页面获取其他二进制文件。
测试安装
启动一个可供我们注入的进程:
$ cat让它保持运行并等待输入即可。在 Windows 上,你可以改用 notepad.exe。
请注意,此示例无法在 macOS El Capitan 及更高版本上直接运行,因为系统会拒绝针对系统二进制文件的这类操作。详情请参阅此处。不过,如果将 cat 二进制文件复制到 /tmp/cat 等位置,再运行副本,此示例应该就能正常工作:
$ cp /bin/cat /tmp/cat
$ /tmp/cat在另一个终端中创建文件 example.py,内容如下:
import frida
def on_message(message, data):
print("[on_message] message:", message, "data:", data)
session = frida.attach("cat")
script = session.create_script("""
rpc.exports.enumerateModules = () => {
return Process.enumerateModules();
};
""")
script.on("message", on_message)
script.load()
print([m["name"] for m in script.exports_sync.enumerate_modules()])如果你使用 GNU/Linux,请执行:
$ sudo sysctl kernel.yama.ptrace_scope=0以允许对非子进程执行 ptrace。
现在,我们已经可以开始试用 Frida 了!运行 example.py 脚本,见证它的魔力:
$ python example.py输出应该与下面类似(具体取决于你的平台和库版本):
['cat', …, 'ld-2.15.so']