学习资源
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 在移动应用上的用法,所有练习都针对工作坊自带的示例程序。
- 目标
- 二进制
- 类别
- 学习资源
- 关联
- 学习资源
- 来源复核于
使用条件与局限
- 所审阅的 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 和基础镜像按各自条款下载。本次审阅阅读了课程页面、脚本和 Dockerfile,未构建镜像或运行练习。所审来源未确立 REA 或 AI 的使用。
关于此条目
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · leonjza/frida-boot · 修订 73d1adf
- course/README.md GitHub · leonjza/frida-boot · 修订 73d1adf
- course/_sidebar.md GitHub · leonjza/frida-boot · 修订 73d1adf
- Dockerfile GitHub · leonjza/frida-boot · 修订 73d1adf
- docker.sh GitHub · leonjza/frida-boot · 修订 73d1adf
- course/1-chapter-1/internals.md GitHub · leonjza/frida-boot · 修订 73d1adf
- course/2-chapter-2/repurposing.md GitHub · leonjza/frida-boot · 修订 73d1adf
- course/3-chapter-3/operating-modes.md GitHub · leonjza/frida-boot · 修订 73d1adf
- software GitHub · leonjza/frida-boot · 修订 73d1adf
- https://hub.docker.com/r/leonjza/frida-boot
同分区更多条目:文档与学习资源
- Embedded Hacking 嵌入式逆向课程(mytechnotalent) · 学习资源
- 安装与客户端配置 · 文档
- CLI 与 Evidence · 文档
- MCP 接口约定与生成目录 · 文档
- 原生二进制调查 · 文档
- 跨层 JavaScript 应用工作流 · 文档