
Base de datos de paquetes para r2pm, el gestor de paquetes de radare2, que proporciona hooks de instalación y paquetes binarios para plugins de radare2, scripts y utilidades relacionadas de ingeniería inversa.
Este repositorio es obtenido por r2pm -U y proporciona la base de datos de paquetes.
Estos paquetes se instalan en el directorio home del usuario y pueden ser plugins/scripts para radare2 o incluso utilidades/programas relacionados con r2.
Véase https://github.com/radareorg/radare2 para r2pm
$ r2pm -U
$ r2pm -ci r2frida
export R2PM_DBDIR="$PWD/db"
# export R2PM_GITDIR="/path/to/the/root/folder/of/the/local/repository"
# export R2PM_USRDIR="/path/to/usr/dir"
Los hooks de instalación y desinstalación de Windows usan sintaxis batch nativa. Deténgase explícitamente
en caso de fallo con command || exit /b 1; esto también detecta códigos de salida negativos.
Use call helper.cmd || exit /b 1 al invocar otro archivo batch para que la ejecución
regrese al hook. Los cambios de entorno persisten entre líneas; los bloques multilínea
if/else y las continuaciones con ^ siguen las reglas normales de CMD.
Use r2pm -bi r2frida para instalar un binario publicado sin clonar ni compilar
las fuentes. R2V selecciona la versión y por defecto usa la versión de radare2 instalada:
R2V=6.2.2 r2pm -bi r2frida
Opcionalmente declare los sistemas operativos, runtimes o objetivos exactos compatibles con
R2PM_PLATFORMS:
R2PM_PLATFORMS "linux darwin windows"
# Para un script r2js portable en su lugar:
R2PM_PLATFORMS "r2js"
# Para un paquete restringido a Linux x86 de 32 bits en su lugar:
R2PM_PLATFORMS "linux-x86-32"
Las etiquetas separadas por espacios controlan el filtrado de búsqueda de paquetes y rellenan el
array platforms en r2pm -sj. Otras etiquetas, como termux, pueden declararse
cuando sean compatibles. La declaración es opcional: los paquetes sin ella, o con un
valor vacío, conservan la inferencia de plataforma a partir de sus hooks de instalación y mantienen su
comportamiento de instalación existente. Las tripletas exactas os-arch-bits se comparan con
r2pm -H R2PM_TRIPLET, incluyendo la arquitectura y el número de bits. Las entradas múltiples
son alternativas, por lo que añadir linux junto a una tripleta permite todas las arquitecturas
de Linux. El JSON también expone binary: true cuando existe un hook R2PM_BINSTALL*;
los scripts listos para usar también cuentan como instalaciones binarias. Las etiquetas de plataforma
no garantizan un binario para cada versión.
Los paquetes proporcionan R2PM_BINSTALL() para comandos de shell de Unix y
R2PM_BINSTALL_WINDOWS() para comandos de Windows. Estos hooks se ejecutan sin un
checkout de fuentes, reciben R2V, R2PM_OS (linux, darwin, windows, ...),
R2PM_ARCH (x86, arm, ...), R2PM_BITS (32 o 64) y R2PM_TRIPLET
(<os>-<arch>-<bits>, por ejemplo linux-x86-64), e instalan en
los directorios habituales R2PM_PLUGDIR, R2PM_BINDIR y otros directorios de r2pm. -g selecciona
el directorio de plugins del sistema y proporciona R2PM_SUDO en Unix.
Los hooks binarios deben seleccionar la versión y el objetivo exactos, gestionar sus propias herramientas
y dependencias de runtime, respetar R2PM_OFFLINE y devolver un valor distinto de cero si el
binario no está disponible o la instalación falla. R2PM_NEEDS y R2PM_DEPS son
requisitos previos de compilación desde fuentes y se omiten. No hay fallback a fuentes: r2pm
informa del error y pide al usuario que vuelva a ejecutar sin -b.
Los hooks de r2frida extraen los assets de las versiones .deb de Linux, .pkg de macOS y .zip de Windows
en los directorios de r2pm. La disponibilidad depende de la versión seleccionada;
las arquitecturas o versiones faltantes fallan en lugar de usar una versión diferente.