O que é o formato de ficheiro ASI?
.asi é um arquivo de plugin de jogo usado para injetar código personalizado em jogos de PC baseados em Windows. Apesar de sua extensão, um arquivo .asi é tecnicamente uma .DLL padrão - um binário nativo compilado no formato Windows Portable Executable (PE) - com a extensão renomeada de .dll para .asi como uma convenção de modding.
Arquivos .asi não fazem nada sozinhos. Eles requerem um ASI Loader dedicado colocado no diretório do jogo, normalmente disfarçado como uma biblioteca do sistema, como dinput8.dll, version.dll ou vorbisFile.dll. Na inicialização do jogo, o carregador chama LoadLibrary() em cada .asi que encontra na pasta, injetando o código de cada plugin diretamente no processo do jogo em execução.
A convenção surgiu na cena de modding de meados dos anos 2000 em torno da série Grand Theft Auto da Rockstar (GTA III, Vice City, San Andreas) e desde então se espalhou para muitos outros títulos de PC. Carregadores amplamente utilizados incluem o Ultimate ASI Loader e o Silent's ASI Loader.
Como um plugin .asi executa código nativo arbitrário dentro do processo do jogo com acesso total à memória e APIs do sistema, apenas arquivos de fontes confiáveis devem ser instalados. O arquivo começa com os magic bytes padrão MZ (4D 5A) no deslocamento 0 e a assinatura PE\0\0 mais adiante - idêntico a qualquer .dll ou .EXE. Ele pode ser inspecionado com ferramentas de PE, como o CFF Explorer, mas requer o jogo de destino e seu ASI Loader para realmente ser executado.
Segurança e proteção
RISCO: HIGHUm .asi é um código executável nativo (uma DLL) que roda dentro do jogo com seus privilégios de usuário, portanto, tem o mesmo perfil de risco que instalar qualquer DLL desconhecida: um .asi malicioso pode fazer qualquer coisa que sua conta possa. «Trainers», «cheats» de jogos e arquivos .asi de mods piratas são um vetor conhecido de malware/PUP. Instale apenas plugins .asi de fontes respeitáveis (comunidades de modding estabelecidas, lançamentos no GitHub, página oficial do autor do mod), prefira carregadores de código aberto (Ultimate ASI Loader), verifique arquivos desconhecidos e inspecione as importações de um .asi em um visualizador de PE se não tiver certeza. Nunca execute mods de jogo em uma conta com dados confidenciais e evite portais de download de «.asi grátis» empacotados com adware.
Detalhes do formato
em resumo- Arquivo de inclusão / fonte Assembly (Alpha Software, estilo MASM) - Algumas cadeias de ferramentas de montador/IDE usam .asi para um arquivo de origem de «inclusão» ou cabeçalho de montagem (o significado registrado no banco de dados deste site, dev «Alpha Software»); é texto simples, não um executável.
- Velvet Studio / amostra ou instrumento de tracker - Ferramentas de tracker de música mais antigas usavam .asi para um arquivo de instrumento ou amostra; aberto apenas naquele tracker.
Programas que abrem arquivos ASI
Detalhes técnicos
especificação profunda| Estrutura do arquivo | Windows Portable Executable (PE) - uma DLL padrão com a extensão renomeada para .asi |
| Magic bytes | 4D 5A («MZ») no deslocamento 0; assinatura PE 50 45 00 00 no deslocamento armazenado no cabeçalho MZ |
| Variante PE | PE32 (32 bits / x86) ou PE32+ (64 bits / x64) dependendo da arquitetura do jogo alvo |
| Codificação | Binário - código de máquina nativo compilado (normalmente C ou C++) |
| Ordem dos bytes | Little-endian (convenção Intel x86/x64, herdada do formato PE) |
| Tamanho típico do arquivo | Dezenas de KB a alguns MB (um plugin nativo compilado) |
| Compressão | Nenhuma no wrapper PE por padrão; seções individuais podem ser compactadas pelo autor |
| Assinatura de código | Assinatura Authenticode opcional; a maioria dos plugins .asi feitos pela comunidade não são assinados |
| Tipo MIME | application/x-msdownload (o mesmo que .dll e .exe) |
| Mecanismo de carregamento | Um ASI Loader (enviado como dinput8.dll, version.dll, vorbisFile.dll, etc.) chama LoadLibrary() em cada .asi na pasta do jogo na inicialização |
| Contexto de execução | Executado como uma DLL dentro do processo do jogo anfitrião com acesso total à memória do jogo, threads e APIs do Windows |
| Ponto de entrada | Ponto de entrada padrão de DLL (DllMain); nenhuma exportação especial específica de ASI é necessária |
| Ordem de carregamento | Os ASI Loaders normalmente injetam arquivos .asi em ordem alfabética a partir do diretório do jogo |
| SO associado | Windows (o formato PE é específico do Windows) |
| Nível de risco de segurança | Alto - executa código nativo arbitrário com direitos totais de processo; instale apenas de fontes confiáveis |
| Lançado | Early-mid 2000s modding scene (GTA III/Vice City/San Andreas era ASI loaders) |
| Versão mais recente | Tied to the Windows PE/DLL format; Ultimate ASI Loader actively maintained (2020s) |
| Especificação | github.com |