Rizin scripting — authorized lab overview
Rizin (rizinorg/rizin, LGPL-compatible project licensing — confirm per component) exposes scripting and pipe automation so labs can batch-analyze binaries they may examine. Prefer official book.rizin.re docs for your release.
Snapshot
| Field | Value |
|---|---|
| Host | Rizin (rizin, rz-* tools) |
| Form | Command scripts + rz-pipe-style bindings |
| In-process sibling | rizin plugins |
| radare2 cousin | r2pipe overview |
| GUI | Cutter — plugins overview |
Allowed framing
- Batch-exporting imports/strings for course-built samples into Evidence JSON your rubric already expects.
- Teaching students why Rizin ≠ radare2 when copying old r2pipe snippets.
- Pairing CLI automation with Cutter GUI labs without mixing plugin APIs.
Scope we will not cover
- No exploit / weaponized shellcode pipelines.
- No crack/keygen automation.
- No pretending every radare2 script runs unchanged on Rizin.
- No DRM bypass cookbooks.
Beginner path (authorized only)
- Install Rizin from official project channels; open a tiny binary you own in the interactive shell.
- Run one documented scripting/rz-pipe “open → command → quit” example; archive stdout.
- Keep early labs read-oriented; escalate analysis passes only when the syllabus budgets time.
- For persistent native features, evaluate rizin plugins.
- If the course is radare2-standardized, use r2pipe rather than forcing incompatible snippets.
- Use Rizin scripting / rz-pipe to automate authorized analysis with version-pinned bindings.
- Prefer plugins for lasting in-process Rizin features; Cutter for GUI courses.
- Refuse exploit, crack and DRM-bypass scripting framing.
For legal, authorized and educational use only.
FAQ
What scripting options does Rizin expose?
Rizin supports command scripting inside rizin / rz- tools and external pipe/bindings commonly discussed as rz-pipe in docs and language ecosystems. Confirm the exact binding package for your Rizin version in official docs — names and install paths evolve.
Scripting vs rizin plugins?
Plugins extend Rizin in-process. Scripting/rz-pipe drives analysis from notebooks or batch jobs. Start with scripts for class demos; use plugins when you need persistent native contributions.
Is rz-pipe the same as r2pipe?
No. Rizin forked/evolved separately from radare2 — see rizin vs radare2. Treat r2pipe and rz-pipe as sibling ideas, not guaranteed drop-in APIs.
Where does Cutter fit?
Cutter is the Qt GUI on Rizin. GUI plugin notes live under cutter-plugins; this page is CLI/pipe automation oriented.
Does this teach exploit or crack automation?
No. Authorized automation and education only — BinBench will not supply exploit PoCs, crack/keygen or DRM-bypass scripting cookbooks.