Wat is het ASI-bestandsformaat?
.asi is een game-pluginbestand dat wordt gebruikt om aangepaste code in Windows-gebaseerde PC-games te injecteren. Ondanks de extensie is een .asi-bestand technisch gezien een standaard .DLL - een gecompileerd binair bestand in het Windows Portable Executable (PE)-formaat - waarbij de extensie is hernoemd van .dll naar .asi als een conventie binnen de modding-gemeenschap.
.asi-bestanden doen uit zichzelf niets. Ze vereisen een speciale ASI Loader die in de map van het spel wordt geplaatst, meestal vermomd als een systeembibliotheek zoals dinput8.dll, version.dll of vorbisFile.dll. Bij het opstarten van het spel roept de loader LoadLibrary() aan voor elke .asi die hij in de map vindt, waardoor de code van elke plugin rechtstreeks in het actieve spelproces wordt geïnjecteerd.
De conventie ontstond halverwege de jaren 2000 in de modding-scene rond de Grand Theft Auto-serie van Rockstar (GTA III, Vice City, San Andreas) en is sindsdien verspreid naar vele andere PC-titels. Veelgebruikte loaders zijn onder meer Ultimate ASI Loader en Silent's ASI Loader.
Omdat een .asi-plugin willekeurige systeemeigen code uitvoert binnen het spelproces met volledige toegang tot het geheugen en systeem-API's, mogen alleen bestanden van vertrouwde bronnen worden geïnstalleerd. Het bestand begint met de standaard MZ magic bytes (4D 5A) op offset 0 en de PE\0\0-handtekening verderop - identiek aan elke .dll of .EXE. Het kan worden geïnspecteerd met PE-tools zoals CFF Explorer, maar het vereist het doelspel en de bijbehorende ASI Loader om daadwerkelijk te worden uitgevoerd.
Beveiliging & veiligheid
RISICO: HIGHEen .asi is systeemeigen uitvoerbare code (een DLL) die binnen het spel draait met jouw gebruikersrechten, dus het heeft hetzelfde risicoprofiel als het installeren van een onbekende DLL: een kwaadaardige .asi kan alles doen wat jouw account kan. Game „trainers”, „cheats” en .asi-bestanden van illegale mods zijn een bekend kanaal voor malware/PUP's. Installeer alleen .asi-plugins van gerenommeerde bronnen (gevestigde modding-communities, GitHub-releases, de officiële pagina van de mod-auteur), geef de voorkeur aan open-source loaders (Ultimate ASI Loader), scan onbekende bestanden en inspecteer de imports van een .asi in een PE-viewer als je twijfelt. Voer nooit game-mods uit op een account met gevoelige gegevens en vermijd „gratis .asi” downloadportals die gebundeld zijn met adware.
Formaatdetails
in een notendop- Assembly include / bronbestand (Alpha Software, MASM-stijl) - Sommige assembler/IDE-toolchains gebruiken .asi voor een assembly „include” of header-bronbestand (de betekenis die is vastgelegd in de database van deze site, ontwikkelaar „Alpha Software”); het is platte tekst, geen uitvoerbaar bestand.
- Velvet Studio / tracker sample/instrument - Oudere music tracker-tools gebruikten .asi voor een instrument- of samplebestand; dit kan alleen in die tracker worden geopend.
Programma's die ASI-bestanden openen
Technische details
diepe specificaties| Bestandsstructuur | Windows Portable Executable (PE) - een standaard DLL met de extensie hernoemd naar .asi |
| Magic bytes | 4D 5A („MZ”) op offset 0; PE-handtekening 50 45 00 00 op de offset opgeslagen in de MZ-header |
| PE-variant | PE32 (32-bit / x86) of PE32+ (64-bit / x64) afhankelijk van de architectuur van het doelspel |
| Codering | Binair - gecompileerde systeemeigen machinecode (meestal C of C++) |
| Byte-volgorde | Little-endian (Intel x86/x64-conventie, overgenomen van PE-formaat) |
| Typische bestandsgrootte | Tientallen KB tot enkele MB (een gecompileerde systeemeigen plugin) |
| Compressie | Standaard geen in de PE-wrapper; individuele secties kunnen door de auteur zijn ingepakt |
| Code-ondertekening | Optionele Authenticode-handtekening; de meeste door de community gemaakte .asi-plugins zijn niet ondertekend |
| MIME-type | application/x-msdownload (hetzelfde als .dll en .exe) |
| Laadmechanisme | Een ASI Loader (geleverd als dinput8.dll, version.dll, vorbisFile.dll, etc.) roept LoadLibrary() aan voor elke .asi in de gamemap bij het opstarten |
| Uitvoeringscontext | Draait als een DLL binnen het host-spelproces met volledige toegang tot spelgeheugen, threads en Windows-API's |
| Ingangspunt | Standaard DLL-ingangspunt (DllMain); er is geen speciale ASI-specifieke export vereist |
| Laadvolgorde | ASI Loaders injecteren .asi-bestanden doorgaans in alfabetische volgorde vanuit de gamemap |
| Bijbehorend OS | Windows (het PE-formaat is Windows-specifiek) |
| Beveiligingsrisico | Hoog - voert willekeurige systeemeigen code uit met volledige procesrechten; installeer alleen van vertrouwde bronnen |
| Uitgebracht | Early-mid 2000s modding scene (GTA III/Vice City/San Andreas era ASI loaders) |
| Laatste versie | Tied to the Windows PE/DLL format; Ultimate ASI Loader actively maintained (2020s) |
| Specificatie | github.com |