Hva er OCX-filformatet?
.ocx-filer er assosiert med ActiveX-kontrollmodulen for operativsystemet Microsoft Windows. Formatet oppsto i 1994 som OLE Custom Controls og ble rebrandet som ActiveX-kontroller i 1996. Strukturelt sett er en .ocx-fil en kompilert Windows PE-binærfil - i praksis en .dll som starter med MZ-magisk header og eksponerer COM-kontrollgrensesnitt, inkludert den obligatoriske DllRegisterServer-eksporten.
ActiveX er et rammeverk for administrasjon av komponenter som brukes av applikasjoner utviklet i programmeringsspråk som:
- Visual Basic,
- C++,
- Delphi,
- PowerBuilder.
Kontroller lagret i .ocx-filer muliggjør rask og effektiv datautveksling mellom ulike applikasjoner som kjører på Windows. De forenkler informasjonsoverføring mellom elementer og tillater rask applikasjonsutvikling. Hver kontroll registreres i Windows-registeret ved å kjøre regsvr32 file.ocx; for å avregistrere, bruk regsvr32 /u file.ocx. Kontroller kan også brukes til å kjøre komponenter i ulike miljøer - for eksempel som applets på nettsider - selv om denne bruken nå anses som foreldet siden ActiveX-støtte ble fjernet i Microsoft Edge og pensjonert med Internet Explorer i 2022-2023. Et innebygd .tlb-typebibliotek inne i .rsrc-seksjonen beskriver kontrollens grensesnitt for vertsprogrammer.
Det anbefales å deaktivere ActiveX på grunn av de kjente sikkerhetsrisikoene det utsetter systemet for. Deaktivering av ActiveX forhindrer at .ocx-filer lastes inn av nettlesere eller eldre vertsprogrammer. For ny Windows-utvikling har WinForms- og WPF-kontroller i praksis erstattet ActiveX-modellen.
Sikkerhet og trygghet
RISIKO: HIGHEn OCX er kjørbar kode som registrerer seg dypt i Windows (COM/CLSID), så den bør behandles med forsiktighet. Risiko: ondsinnede eller trojaniserte ActiveX-kontroller kan kjøre med vertsappens rettigheter, og ActiveX var historisk sett en stor kilde til infeksjoner via nettleseren i Internet Explorer (nå pensjonert). «OCX download»-sider er en klassisk kanal for skadelig programvare/PUP og leverer vanligvis en kontroll med feil versjon som uansett ikke vil fikse appen. Regler: fiks feil om manglende OCX ved å reinstallere programmet som eier kontrollen, ikke ved å laste ned OCX-filen fra et tredjepartsnettsted; hvis du må skaffe en kjent Microsoft-kontroll (f.eks. MSCOMCTL.OCX), hent den fra den offisielle Microsoft-pakken; sjekk en ukjent OCX-fils digitale signatur (Egenskaper > Digitale signaturer) og skann den på VirusTotal før du registrerer den. Registrer aldri OCX-filer du ikke stoler på.
Formatdetaljer
i et nøtteskallProgrammer som åpner OCX-filer
Tekniske detaljer
dyp spesifikasjon| Filstruktur | PE (Portable Executable) binær - samme beholder som en .dll; DOS-stub + MZ-header, PE/COFF-headere, seksjonstabell, kode/dataseksjoner og en .rsrc-ressursseksjon |
| Magiske byte | 0x4D 0x5A («MZ») ved offset 0; PE-signatur 0x50 0x45 0x00 0x00 ved offset lagret i DOS e_lfanew-feltet (0x3C) |
| PE-variant | PE32 (x86/32-bit) eller PE32+ (AMD64/x64); DLL-karakteristikkflagg (0x2000) satt i COFF Characteristics-feltet |
| Påkrevde eksporter | DllRegisterServer, DllUnregisterServer, DllGetClassObject, DllCanUnloadNow - obligatorisk for en selvregistrerende COM-server |
| Registreringsmekanisme | regsvr32 file.ocx skriver CLSID, ProgID og type-bibliotek-GUID-er under HKCR\CLSID\{...} i Windows-registeret; regsvr32 /u fjerner dem |
| COM-grensesnitt (UI-kontroll) | Må implementere IUnknown; UI-kontroller i prosess eksponerer i tillegg IOleObject, IOleControl, IOleInPlaceObject og IDispatch for skripting og VBA-automatisering |
| Innebygd typebibliotek | En kompilert .tlb-typebibliotekressurs er vanligvis innebygd i .rsrc PE-seksjonen, og beskriver kontrollens grensesnitt for IDE-er og VBA-verter |
| Byterekkefølge | Little-endian (Intel/x86-nativ) |
| Koding | Binær (kompilert nativ kode - ikke tolket eller tekstbasert) |
| Typisk filstørrelse | 20 KB - 10 MB avhengig av antall kontroller og innebygde UI-ressurser |
| Authenticode-støtte | Valgfri Authenticode digital signatur for utgiververifisering; PE-header CheckSum-feltet gir en grunnleggende integritetssjekk |
| MIME-type | application/octet-stream (ingen spesifikk MIME-type for .ocx er registrert) |
| Vertsavhengighet | Kan ikke kjøre frittstående; må instansieres av en COM-bevisst vert: VB6 IDE, MFC/ATL-applikasjon, Office VBA-brukerskjema eller eldre Internet Explorer |
| Sikkerhetsstatus | Ansett som høyrisiko (vilkårlig nativ kodekjøring i vertsprosessen); fjernet i Microsoft Edge; pensjonert med Internet Explorer i 2022-2023 |
| Forgjengerformat | Erstattet 16-bit .vbx (Visual Basic Extension)-kontroller introdusert med Visual Basic 1.0 i 1991 |
| Plattformstøtte | Kun Windows (Win32 / Win64); ingen nativ støtte på macOS eller Linux |
| Utgitt | 1994 (OLE Custom Controls / OCX); rebranded ActiveX Controls in 1996 |
| Siste versjon | N/A (tied to the COM/ActiveX model; effectively frozen, legacy on modern Windows) |
| Spesifikasjon | learn.microsoft.com |
OCX-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om OCX-filer.