module
Rubellite::Docs::B_ADVANCED_FEATURES::R2_FORENSICS
Overview
Binary Forensics & ABI Auditing via Radare2
To prevent subtle runtime segmentation faults caused by mismatched Ruby versions or
missing exported symbols, Rubellite integrates directly with radare2 (r2).
Through Rubellite::Diagnostics::R2, developers can inspect shared libraries,
disassemble exported functions, and verify ABI compatibility automatically.
Executive Summary & Key Topics
| Topic | Method / Anchor | Description |
|---|---|---|
| Automated ABI & Symbol Auditing | .topic_01_r2_auditing |
Using radare2 to verify Ruby binary exports and detect symbol collisions. |
Related Guides & Source References
- src/rubellite/diagnostics/r2.cr
- examples/07_r2_binary_forensics.cr
- src/rubellite_cli.cr
Defined in:
rubellite/docs/b_advanced_features/r2_forensics.crClass Method Summary
-
.topic_01_r2_auditing : Nil
Automated ABI & Symbol Auditing: Using radare2 to verify Ruby binary exports and detect symbol collisions.
Class Method Detail
Automated ABI & Symbol Auditing: Using radare2 to verify Ruby binary exports and detect symbol collisions.
Rubellite's doctor suite performs automated binary forensics:
| Check | Command | Details |
|---|---|---|
| **Environment Audit** | `rubellite doctor` | Audits Ruby binary, r2 engine, and exported symbols |
| **ABI Compatibility** | `r2.audit_environment` | Confirms all required C-API entry points exist |
| **Disassembly** | `r2.disassemble_symbol(sym)` | Disassembles MIPS, x86_64, or ARM64 routines |
Working Examples
require "rubellite"
report = Rubellite::Diagnostics::R2.audit_environment
puts "Ruby Binary Path: #{report.ruby_dll_path}"
puts "Total Symbols Found: #{report.total_symbols_found}"
puts "ABI Compatible: #{report.abi_compatible?}"
Common Pitfalls & Safety Caveats
- Warning: Ensure radare2 (
r2) is installed in PATH for detailed symbol disassembly output.
Frequently Asked Questions (FAQ)
- Q: Can Rubellite run if radare2 is not installed? A: Yes, radare2 is utilized for forensics and diagnostics; core evaluation functions normally.