O que é o formato de ficheiro RPA?
O arquivo .rpa é um Ren'Py Archive - um formato de contêiner binário usado pelo motor de visual novel Ren'Py para agrupar os scripts compilados e recursos de um jogo em um único pacote distribuível. Jogos Ren'Py compilados normalmente vêm com um ou mais arquivos .rpa (comumente chamados de archive.rpa, images.rpa ou scripts.rpa) dentro da pasta game/.
O formato abre com uma linha de cabeçalho ASCII declarando a versão - seja RPA-2.0 ou a atual RPA-3.0 - seguida por um deslocamento hexadecimal para o índice do arquivo e, no RPA-3.0, uma chave de ofuscação XOR hexadecimal. O índice é armazenado como um dicionário Python «pickled» e comprimido com zlib que mapeia caminhos internos para pares de deslocamento/comprimento dentro do arquivo. O RPA-3.0 ofusca levemente esses deslocamentos com a chave do cabeçalho, mas isso não é criptografia real e é trivialmente reversível.
Os arquivos contidos - scripts .rpyc compilados, imagens, áudio e vídeo - são armazenados de forma bruta sem nova compressão, já que cada tipo de recurso normalmente já está comprimido. O arquivo substitui os scripts de origem .rpy legíveis por humanos, que não são incluídos nas versões de lançamento.
Arquivos .rpa não são arquivos ZIP ou RAR padrão e não podem ser abertos por ferramentas de uso geral como 7-Zip ou WinRAR. A extração requer um utilitário compatível com Ren'Py, como o rpatool ou UnRen.
Segurança e proteção
RISCO: MEDIUMO contêiner de arquivo em si são dados inertes, mas um jogo Ren'Py empacotado em um .rpa contém scripts compilados (.rpyc) que são lógica executável para o motor Ren'Py e podem incluir Python completo - portanto, EXECUTAR um jogo Ren'Py não confiável (ou instalar um mod cujo .rpa você não inspecionou) pode executar código arbitrário em sua máquina. Obtenha jogos e mods de fontes respeitáveis e, se extrair um .rpa para modificá-lo, revise quaisquer scripts descompilados antes de executá-los. A «ofuscação» no RPA-3.0 não é criptografia e não oferece segurança; nunca dependa dela para proteger segredos. Extrair um arquivo é seguro; executar seu código é a parte com a qual se deve ter cuidado.
Detalhes do formato
em resumo- RIB iTWO Project Archive - O software de construção/BIM RIB iTWO salva arquivos de projeto como .rpa - abertos apenas com o RIB iTWO; uma pequena minoria de arquivos .rpa (~9%) em comparação com o significado dominante do Ren'Py.
- RoboHelp / 'project archive' genérico - Algumas ferramentas legadas usaram .rpa para dados de projeto empacotados não relacionados; raro hoje em dia.
Programas que abrem arquivos RPA
Detalhes técnicos
especificação profunda| Assinatura do arquivo (magic bytes) | Cabeçalho ASCII começando com `RPA-3.0 ` (hex `52 50 41 2D 33 2E 30 20`) no deslocamento 0; `RPA-2.0 ` para a variante legada |
| Estrutura do cabeçalho | Linha única de texto ASCII contendo: tag de versão, deslocamento hexadecimal para o índice e (apenas RPA-3.0) uma chave de ofuscação XOR hexadecimal, terminada por um caractere de nova linha |
| Codificação do índice | Dicionário Python `pickle` comprimido com zlib mapeando caminhos de arquivos internos para tuplas (deslocamento, comprimento, prefixo) |
| Ofuscação de índice | O RPA-3.0 ofusca via XOR o deslocamento e o comprimento armazenados de cada entrada com a chave declarada na linha do cabeçalho; trivialmente reversível, não é criptografia real |
| Armazenamento de arquivos contidos | Os arquivos são concatenados de forma bruta após o cabeçalho sem compressão adicional aplicada; os recursos (PNG, OGG, WEBM, RPYC) já estão comprimidos na origem |
| Tipos de recursos suportados | Scripts compilados (`.rpyc`, `.rpymc`), imagens (PNG, JPEG, WEBP), áudio (OGG, MP3), vídeo (WEBM) e arquivos de dados de jogo arbitrários |
| Limite de entradas no índice | Sem limite fixo; o índice é um `dict` Python serializado cujo tamanho é limitado apenas pela memória disponível |
| Verificação de integridade | Nenhum checksum por arquivo é armazenado; o formato depende da integridade inerente dos arquivos de recursos contidos |
| Declaração de versão | A versão do formato é autodeclarada na linha de cabeçalho em texto simples (`RPA-2.0` ou `RPA-3.0`); as ferramentas detectam a variante no momento da análise sem um manifesto separado |
| Tamanho típico do arquivo | De alguns MB a vários GB, dependendo do volume de imagens, áudio e vídeo agrupados no jogo |
| Plataformas de destino | Windows, macOS, Linux, Android, iOS - todas as plataformas oficialmente suportadas pelo motor Ren'Py |
| Nomes de arquivo típicos | `archive.rpa`, `images.rpa`, `scripts.rpa` - encontrados dentro do diretório `game/` de um título Ren'Py compilado |
| Compatibilidade de contêiner | Não é uma variante de ZIP, TAR ou RAR; compactadores de uso geral (7-Zip, WinRAR) não podem abrir arquivos `.rpa` |
| Desenvolvedor / mantenedor | Tom Rothamel e o projeto de código aberto Ren'Py; o formato evoluiu com o motor (lançado pela primeira vez em 2004) |
| Lançado | Ren'Py engine archive format; RPA-3.0 is the long-standing version used by modern Ren'Py |
| Versão mais recente | RPA-3.0 (current); legacy RPA-2.0 exists; format header line declares the version |
| Padrão aberto | Sim · livre de royalties |
| Especificação | www.renpy.org |
Conversões de RPA
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos RPA.