
Banco de dados de pacotes para o r2pm, o gerenciador de pacotes do radare2, que fornece hooks de instalação e pacotes binários para plugins, scripts e utilitários de engenharia reversa relacionados ao radare2.
Este repositório é obtido por r2pm -U e fornece o banco de dados de pacotes.
Esses pacotes são instalados no diretório home do usuário e podem ser plugins/scripts para o radare2 ou até mesmo utilitários/programas relacionados ao r2.
Veja https://github.com/radareorg/radare2 para o 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"
Os hooks de instalação e desinstalação do Windows usam sintaxe batch nativa. Pare explicitamente
em caso de falha com command || exit /b 1; isso também captura códigos de saída negativos.
Use call helper.cmd || exit /b 1 ao invocar outro arquivo batch para que a execução
retorne ao hook. As alterações de ambiente persistem entre linhas; blocos if/else
multilinha e continuações com ^ seguem as regras normais do CMD.
Use r2pm -bi r2frida para instalar um binário lançado sem clonar ou compilar
os fontes. R2V seleciona a versão e usa por padrão a versão instalada do radare2:
R2V=6.2.2 r2pm -bi r2frida
Opcionalmente, declare sistemas operacionais, runtimes ou alvos exatos suportados com
R2PM_PLATFORMS:
R2PM_PLATFORMS "linux darwin windows"
# Para um script r2js portátil, em vez disso:
R2PM_PLATFORMS "r2js"
# Para um pacote restrito ao Linux x86 de 32 bits, em vez disso:
R2PM_PLATFORMS "linux-x86-32"
As tags separadas por espaço controlam a filtragem da busca de pacotes e preenchem o
array platforms em r2pm -sj. Outras tags, como termux, podem ser declaradas
quando suportadas. A declaração é opcional: pacotes sem ela, ou com um
valor vazio, mantêm a inferência de plataforma a partir de seus hooks de instalação e preservam
seu comportamento de instalação existente. Tripletos exatos os-arch-bits são comparados com
r2pm -H R2PM_TRIPLET, incluindo a arquitetura e o número de bits. Múltiplas entradas
são alternativas, então adicionar linux junto com um triplo permite todas as arquiteturas
Linux. O JSON também expõe binary: true quando existe um hook R2PM_BINSTALL*;
scripts prontos para uso também contam como instalações binárias. As tags de plataforma
não garantem um binário para todas as versões.
Os pacotes fornecem R2PM_BINSTALL() para comandos de shell Unix e
R2PM_BINSTALL_WINDOWS() para comandos do Windows. Esses hooks são executados sem um
checkout de fontes, recebem R2V, R2PM_OS (linux, darwin, windows, ...),
R2PM_ARCH (x86, arm, ...), R2PM_BITS (32 ou 64) e R2PM_TRIPLET
(<os>-<arch>-<bits>, por exemplo linux-x86-64), e instalam nos
diretórios usuais R2PM_PLUGDIR, R2PM_BINDIR e outros diretórios do r2pm. -g seleciona
o diretório de plugins do sistema e fornece R2PM_SUDO no Unix.
Os hooks binários devem selecionar a versão e o alvo exatos, lidar com suas próprias ferramentas
e dependências de runtime, respeitar R2PM_OFFLINE e retornar um valor diferente de zero se o
binário não estiver disponível ou a instalação falhar. R2PM_NEEDS e R2PM_DEPS são
pré-requisitos de compilação a partir do código-fonte e são ignorados. Não há fallback para o código-fonte: o r2pm
relata o erro e pede ao usuário para executar novamente sem -b.
Os hooks do r2frida extraem os assets de lançamento .deb do Linux, .pkg do macOS e .zip do Windows
para os diretórios do r2pm. A disponibilidade depende da versão selecionada;
arquiteturas ou versões ausentes falham em vez de usar uma versão diferente.