# Frida Boot：二进制插桩入门工作坊

> leonjza 编写的 Frida 二进制插桩入门工作坊，课程页面由一个 Docker 容器离线提供，容器内已预装带 GEF 的 gdb 和 frida-tools。三个章节从一个小型 Linux C 程序、LD_PRELOAD 钩子以及库函数调用如何经由 PLT 和 GOT 解析讲起，再到用 Frida 的 Interceptor 读取参数和修改返回值、用 NativeFunction 调用程序自身的函数、编写 Python 注入工具、RPC 导出、TypeScript 代理，以及 frida-server 和 frida-gadget。课程有意不涉及 Frida 在移动应用上的用法，所有练习都针对工作坊自带的示例程序。

- 类型：学习资源
- 目标：二进制
- 类别：学习资源
- 关联：学习资源
- 来源复核于：2026-10-20
- 收录于：2026-11-02
- 原始资源：<https://github.com/leonjza/frida-boot>
- 一手来源：<https://github.com/leonjza/frida-boot/blob/73d1adf76275dd20a3da81bbc310cae58db78bfb/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/frida-boot-workshop/>
- 记录 JSON：<https://awesomerea.org/resources/frida-boot-workshop/record.json>
- 英文版：[English](https://awesomerea.org/resources/frida-boot-workshop/index.md)

## 使用条件与局限

- 所审阅的 master 提交日期为 2021-04-28，没有发行版或标签；Docker Hub 上预构建的 leonjza/frida-boot 镜像（latest 标签，仅 amd64）也于同日最后更新。README 附有工作坊的 YouTube 录像链接，slides/ 中保存了幻灯片的 PDF。
- 需要装有 Docker 的主机。docker.sh 拉取或构建镜像，以 SYS_PTRACE 权限启动容器，在 localhost:9999 提供课程页面，并把本地代码文件夹挂载到容器中。Dockerfile 基于 Debian bullseye-slim，下载 linux-x86_64 版 frida-server 和 frida-gadget 12.9.4，但 frida-tools、GEF 和 frida-agent-example 项目均未固定版本，因此现在重新构建无法重现 2021 年的工具版本。
- 练习编译并插桩工作坊自带的 software/ 中的 C 示例：一个随机休眠循环、一个用于 LD_PRELOAD 的 fake_sleep 库，以及一个 PIN 校验程序，课程会从 Frida 直接调用其中的 test_pin 函数；每一步都配有编号的 JavaScript、TypeScript 和 Python 代码片段。不包含也不需要任何第三方目标二进制；内容针对 x86_64 Linux 用户态进程。
- 仓库没有许可证文件，GitHub 也未识别出许可证；随附的 docsify 脚本和主题保留各自的许可证，Frida、GEF 和基础镜像按各自条款下载。

## 一手来源

1. <https://github.com/leonjza/frida-boot/blob/73d1adf76275dd20a3da81bbc310cae58db78bfb/README.md>
2. <https://github.com/leonjza/frida-boot/blob/73d1adf76275dd20a3da81bbc310cae58db78bfb/course/README.md>
3. <https://github.com/leonjza/frida-boot/blob/73d1adf76275dd20a3da81bbc310cae58db78bfb/course/_sidebar.md>
4. <https://github.com/leonjza/frida-boot/blob/73d1adf76275dd20a3da81bbc310cae58db78bfb/Dockerfile>
5. <https://github.com/leonjza/frida-boot/blob/73d1adf76275dd20a3da81bbc310cae58db78bfb/docker.sh>
6. <https://github.com/leonjza/frida-boot/blob/73d1adf76275dd20a3da81bbc310cae58db78bfb/course/1-chapter-1/internals.md>
7. <https://github.com/leonjza/frida-boot/blob/73d1adf76275dd20a3da81bbc310cae58db78bfb/course/2-chapter-2/repurposing.md>
8. <https://github.com/leonjza/frida-boot/blob/73d1adf76275dd20a3da81bbc310cae58db78bfb/course/3-chapter-3/operating-modes.md>
9. <https://github.com/leonjza/frida-boot/tree/73d1adf76275dd20a3da81bbc310cae58db78bfb/software>
10. <https://hub.docker.com/r/leonjza/frida-boot>

## 同分区更多条目：文档与学习资源

- [Embedded Hacking 嵌入式逆向课程（mytechnotalent）](https://awesomerea.org/zh/resources/mytechnotalent-embedded-hacking/index.md) · 学习资源
- [逆向分析蓝牙雷达测速预警器协议](https://awesomerea.org/zh/resources/cobra-irad-bluetooth-protocol-walkthrough/index.md) · 学习资源
- [Link Pi ENCx 编码器非官方逆向文档](https://awesomerea.org/zh/resources/linkpi-encx-unofficial-docs/index.md) · 学习资源
- [ReverseJS AST 反混淆配套资料](https://awesomerea.org/zh/resources/reversejs-ast-deobfuscation-materials/index.md) · 学习资源
- [MCP 逆向数据集（mrexodia）](https://awesomerea.org/zh/resources/mcp-reversing-dataset/index.md) · 学习资源
- [ICSim 汽车仪表盘 CAN 总线模拟器](https://awesomerea.org/zh/resources/icsim/index.md) · 学习资源

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
