radare2 r2pipe — authorized lab overview
r2pipe lets labs drive radare2 (radareorg/radare2) from scripts. Use it on binaries you are authorized to examine — never as a pirate “auto crack” harness.
Snapshot
| Field | Value |
|---|---|
| Host | radare2 (r2) |
| Form | External pipe / language bindings |
| In-process sibling | radare2 plugins |
| Peers | r2 vs rizin vs Cutter, r2ghidra, rizin scripting |
Allowed framing
- Batch-printing function lists for student-built ELF/PE samples into a course CSV.
- Teaching reproducible notebooks that spawn
r2 -q0style sessions your lab already allows. - Comparing pipe automation with GUI work in Cutter when the syllabus covers both.
Scope we will not cover
- No exploit / shellcode emission cookbooks via r2pipe.
- No crack/keygen automation.
- No claiming r2pipe silently equals rizin rz-pipe.
- No malware weaponization framed as “pipeline tips.”
Beginner path (authorized only)
- Install an official radare2 build your lab approves; open a tiny binary you own interactively first.
- Run one documented r2pipe “open → cmd → quit” example; save stdout as Evidence.
- Prefer read-only commands in early labs (
aaa-class analysis only when the syllabus says so and time allows). - For in-process features, evaluate plugins instead of growing a fragile pipe soup.
- If the course standardizes on Rizin, switch to rizin scripting rather than forcing r2pipe APIs.
- Use r2pipe to automate authorized radare2 sessions from notebooks and batch jobs.
- Prefer plugins for lasting in-process r2 features.
- Refuse exploit, crack and DRM-bypass automation framing.
For legal, authorized and educational use only.
FAQ
What is r2pipe?
r2pipe is the common name for radare2's pipe/API bindings so external programs (often Python) can drive r2 commands against a session — useful for batch labs and reproducible notebooks on binaries you may analyze.
How is this different from radare2 plugins?
Plugins extend r2 inside its process. r2pipe drives r2 from the outside (spawn/pipe or native bindings). Pick pipe automation for course notebooks; pick plugins for in-process features.
Does r2pipe work with rizin?
Rizin is a related but separate project with its own scripting story — see rizin vs radare2 and the batch18 rizin scripting page. Do not assume APIs are drop-in identical.
Is every PyPI “r2pipe” build trustworthy?
Prefer bindings and install paths documented by radareorg for your r2 version. Pin versions in classroom images; treat unknown wheels as code execution.
Does this teach exploit automation or crack scripts?
No. Authorized automation and education only — BinBench will not supply exploit PoCs, crack/keygen or DRM-bypass r2pipe cookbooks.