# Frida Boot: a beginner binary instrumentation workshop

> A beginner workshop by leonjza on binary instrumentation with Frida, served as offline pages from a Docker container that has gdb with GEF and frida-tools preinstalled. Three chapters move from a small Linux C program, LD_PRELOAD hooks and how library calls resolve through the PLT and GOT, to Frida’s Interceptor for reading arguments and changing return values, NativeFunction for calling a program’s own functions, Python injector tools, RPC exports, TypeScript agents, frida-server and frida-gadget. It deliberately leaves out Frida’s mobile-app uses, and every exercise targets sample programs shipped with the workshop.

- Type: Learning resource
- Targets: Binary
- Category: Learning resources
- Relationship: Learning resource
- Sources reviewed: 2026-10-20
- Added to the catalog: 2026-11-02
- Original resource: <https://github.com/leonjza/frida-boot>
- Primary source: <https://github.com/leonjza/frida-boot/blob/73d1adf76275dd20a3da81bbc310cae58db78bfb/README.md>
- Catalog page: <https://awesomerea.org/resources/frida-boot-workshop/>
- Record JSON: <https://awesomerea.org/resources/frida-boot-workshop/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/frida-boot-workshop/index.md)

## Requirements & limits

- The reviewed master commit dates from 2021-04-28, with no releases or tags; the prebuilt leonjza/frida-boot image on Docker Hub (tag latest, amd64 only) was last updated the same day. The README links a YouTube recording of the workshop and keeps a PDF of the slides in slides/.
- Needs a host with Docker. docker.sh pulls or builds the image and starts it with the SYS_PTRACE capability, serving the course at localhost:9999 and mounting a local code folder into the container. The Dockerfile builds on Debian bullseye-slim and downloads frida-server and frida-gadget 12.9.4 for linux-x86_64, but installs frida-tools, GEF and the frida-agent-example project unpinned, so a fresh build will not reproduce the 2021 tool versions.
- Exercises compile and instrument the workshop’s own C samples in software/: a random sleep loop, a fake_sleep LD_PRELOAD library and a PIN-check program whose test_pin function the lessons call directly from Frida, with numbered JavaScript, TypeScript and Python snippets for each step. No third-party target binaries are included or needed; the material covers x86_64 Linux user-space processes.
- The repository has no license file and GitHub detects none; the bundled docsify scripts and themes keep their own licenses, and Frida, GEF and the base image are fetched under theirs.

## Primary sources

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>

## More in References and learning

- [Embedded Hacking (mytechnotalent)](https://awesomerea.org/resources/mytechnotalent-embedded-hacking/index.md) · Learning resource
- [Reverse-Engineering a Bluetooth-Enabled Radar Detector](https://awesomerea.org/resources/cobra-irad-bluetooth-protocol-walkthrough/index.md) · Learning resource
- [Link Pi ENCx encoders (unofficial documentation)](https://awesomerea.org/resources/linkpi-encx-unofficial-docs/index.md) · Learning resource
- [Supplementary AST-Based Deobfuscation Materials](https://awesomerea.org/resources/reversejs-ast-deobfuscation-materials/index.md) · Learning resource
- [MCP Reversing Dataset (mrexodia)](https://awesomerea.org/resources/mcp-reversing-dataset/index.md) · Learning resource
- [ICSim (Instrument Cluster Simulator)](https://awesomerea.org/resources/icsim/index.md) · Learning resource

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
