Wat is het API-bestandsformaat?
De .api extensie identificeert een Adobe Acrobat plug-in - een binaire uitbreidingsmodule die functies toevoegt aan Adobe Acrobat of Acrobat Reader op Windows. Ondanks de naam hebben .api bestanden niets te maken met het softwareontwikkelingsconcept van een „application programming interface”; de extensie staat simpelweg voor Acrobat Plug-In.
Op Windows is een .api bestand structureel een standaard .DLL (Portable Executable formaat, PE32 of PE32+) hernoemd met een andere extensie. De eerste twee bytes zijn altijd 4D 5A - de ASCII MZ magic header die gebruikelijk is voor alle Windows uitvoerbare bestanden en bibliotheken. Wanneer Acrobat start, scant het de plug_ins submap van de installatiemap, laadt elk gevonden .api bestand in zijn eigen proces en roept het geëxporteerde PlugInMain symbool aan om elke plug-in te initialiseren.
Plug-ins zijn geschreven in ANSI C of C++ tegen de Acrobat SDK Core API en zijn nauw verbonden via de ABI aan een specifieke hoofdversie van Acrobat; een plug-in gecompileerd voor Acrobat DC zal niet correct laden in een aanzienlijk oudere versie. Veelvoorkomende toepassingen zijn aangepaste PDF workflows, panelen voor digitale handtekeningen, integraties voor documentbeheer en DRM-lagen toegevoegd door publicatietools.
Op macOS gebruikt Acrobat .acroplugin bundels in plaats van .api bestanden - er bestaat geen .api bestand op dat platform. De bestanden kunnen een Authenticode digitale handtekening van de uitgever bevatten, maar zijn verder onversleuteld en ongecomprimeerd.
Beveiliging & veiligheid
RISICO: HIGHEen .api plug-in is systeemeigen code die binnen Acrobat draait met dezelfde rechten als Acrobat zelf, dus een kwaadaardige plug-in is even gevaarlijk als elke niet-vertrouwde DLL/EXE. Installeer Acrobat plug-ins alleen van de officiële leverancier of een uitgever die u vertrouwt, geef de voorkeur aan code-ondertekende plug-ins en wees op uw hoede voor „gratis Acrobat plug-in” downloads van advertentieportalen. Let op de naamsverwarring: mensen die zoeken op „open API bestand” verwachten vaak tekst of broncode - dit is een binaire uitbreiding, geen documentatie.
Formaatdetails
in een notendop- Generieke applicatie API / configuratiegegevens - Een paar niet-gerelateerde programma's (bijv. sommige games, MedCalc, bepaalde configuratietools) schrijven .api bestanden als gegevens of instellingen - geen Acrobat plug-ins.
Programma's die API-bestanden openen
Technische details
diepe specificaties| Bestandsstructuur | Standaard Windows PE32/PE32+ DLL binair bestand met .api extensie in plaats van .dll |
| Magic bytes | 4D 5A („MZ”) op offset 0 - de DOS/PE executable stub header aanwezig in alle Windows DLL's en EXE's |
| Bytevolgorde | Little-endian (x86/x64 Portable Executable formaat) |
| Geëxporteerd toegangspunt | PlugInMain - het vereiste geëxporteerde symbool dat Acrobat aanroept om elke plug-in te initialiseren na het laden |
| Laadmechanisme | Acrobat en Reader scannen de plug_ins map bij het opstarten en laden elk gevonden .api bestand in het hostproces |
| API-versiebinding | ABI-gebonden aan een specifieke Acrobat hoofdversie; een plug-in gebouwd voor de ene release zal niet betrouwbaar laden in een aanzienlijk andere versie |
| Ontwikkelingstaal | ANSI C / C++ gecompileerd tegen de Acrobat SDK Core API headers en importbibliotheken |
| MIME-type | application/octet-stream |
| Platformdekking | Alleen Windows - op macOS zijn Acrobat plug-ins verpakt als .acroplugin bundels, niet als .api bestanden |
| Code-ondertekening | Optionele Authenticode digitale handtekening van de plug-in uitgever; PE-checksum opgeslagen in de optionele header |
| Compressie | Ongecomprimeerd PE binair bestand - individuele codesecties kunnen door de compiler zijn geoptimaliseerd, maar het bestand is niet gecomprimeerd als archief |
| Versleuteling | Onversleutelde systeemeigen machinecode; vertrouwen in de uitgever wordt vastgesteld via optionele Authenticode-ondertekening, niet via versleuteling |
| Typische bestandsgrootte | Tientallen KB tot enkele MB, afhankelijk van de complexiteit van de plug-in en de meegeleverde bronnen |
| Veelvoorkomende use-cases | Automatisering van PDF-workflows, panelen voor digitale handtekeningen, DRM-handhaving, integratie van documentbeheer, aangepaste print-pipelines |
| Uitgebracht | 1990s (Acrobat plug-in architecture) |
| Laatste versie | Tracks the Acrobat SDK / Acrobat DC plug-in API |
| Specificatie | opensource.adobe.com |
API conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over API-bestanden.