学习资源

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 的使用。

关于此条目

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · leonjza/frida-boot · 修订 73d1adf
  2. course/README.md GitHub · leonjza/frida-boot · 修订 73d1adf
  3. course/_sidebar.md GitHub · leonjza/frida-boot · 修订 73d1adf
  4. Dockerfile GitHub · leonjza/frida-boot · 修订 73d1adf
  5. docker.sh GitHub · leonjza/frida-boot · 修订 73d1adf
  6. course/1-chapter-1/internals.md GitHub · leonjza/frida-boot · 修订 73d1adf
  7. course/2-chapter-2/repurposing.md GitHub · leonjza/frida-boot · 修订 73d1adf
  8. course/3-chapter-3/operating-modes.md GitHub · leonjza/frida-boot · 修订 73d1adf
  9. software GitHub · leonjza/frida-boot · 修订 73d1adf
  10. https://hub.docker.com/r/leonjza/frida-boot

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

文档与学习资源分区全部 54 项资源