Che cos'è il formato di file OCX?
I file .ocx sono associati al modulo di controllo ActiveX per il sistema operativo Microsoft Windows. Il formato è nato nel 1994 come OLE Custom Controls ed è stato rinominato ActiveX Controls nel 1996. Strutturalmente, un file .ocx è un binario Windows PE compilato - a tutti gli effetti una .dll che inizia con l'intestazione magic MZ ed espone interfacce di controllo COM, inclusa l'esportazione obbligatoria DllRegisterServer.
ActiveX è un framework software per la gestione di componenti utilizzati da applicazioni sviluppate in linguaggi di programmazione quali:
- Visual Basic,
- C++,
- Delphi,
- PowerBuilder.
I controlli memorizzati nei file .ocx consentono uno scambio di dati rapido ed efficiente tra varie applicazioni in esecuzione su Windows. Facilitano la trasmissione di informazioni tra gli elementi e permettono uno sviluppo rapido delle applicazioni. Ogni controllo viene registrato nel Registro di sistema di Windows eseguendo regsvr32 file.ocx; per annullare la registrazione, usa regsvr32 /u file.ocx. I controlli possono anche essere utilizzati per eseguire componenti in vari ambienti - ad esempio, come applet per browser web all'interno delle pagine - sebbene questo uso sia ora considerato obsoleto poiché il supporto ActiveX è stato rimosso in Microsoft Edge e ritirato con Internet Explorer nel 2022-2023. Una libreria di tipi .tlb incorporata nella sezione .rsrc descrive le interfacce del controllo agli strumenti host.
Si consiglia di disabilitare ActiveX a causa dei noti rischi di sicurezza a cui espone il sistema. La disattivazione di ActiveX impedisce il caricamento dei file .ocx da parte dei browser o delle applicazioni host legacy. Per il nuovo sviluppo su Windows, i controlli WinForms e WPF hanno effettivamente sostituito il modello ActiveX.
Sicurezza e incolumità
RISCHIO: HIGHUn OCX è codice eseguibile che si registra in profondità in Windows (COM/CLSID), quindi richiede cautela. Rischi: controlli ActiveX malevoli o trojanizzati possono essere eseguiti con i privilegi dell'app host; ActiveX è stato storicamente un importante vettore di attacchi drive-by in Internet Explorer (ora ritirato). I siti di «download OCX» sono un classico canale di malware/PUP e solitamente forniscono un controllo di versione errata che non riparerà comunque l'app. Regole: risolvi gli errori di OCX mancante reinstallando il programma proprietario del controllo, non scaricando l'OCX da siti terzi; se devi ottenere un controllo Microsoft noto (es. MSCOMCTL.OCX), prelevalo dal pacchetto ufficiale Microsoft; controlla la firma digitale di un OCX sconosciuto (Proprietà > Firme digitali) e scansionalo su VirusTotal prima di registrarlo. Non registrare mai file OCX di cui non ti fidi.
Dettagli del formato
in sintesiProgrammi che aprono file OCX
Dettagli tecnici
specifiche approfondite| Struttura del file | Binario PE (Portable Executable) - stesso contenitore di una .dll; stub DOS + intestazione MZ, intestazioni PE/COFF, tabella delle sezioni, sezioni codice/dati e una sezione risorse .rsrc |
| Magic bytes | 0x4D 0x5A («MZ») all'offset 0; firma PE 0x50 0x45 0x00 0x00 all'offset memorizzato nel campo DOS e_lfanew (0x3C) |
| Variante PE | PE32 (x86/32-bit) o PE32+ (AMD64/x64); flag caratteristica DLL (0x2000) impostato nel campo COFF Characteristics |
| Esportazioni richieste | DllRegisterServer, DllUnregisterServer, DllGetClassObject, DllCanUnloadNow - obbligatorie per un server COM con autoregistrazione |
| Meccanismo di registrazione | regsvr32 file.ocx scrive CLSID, ProgID e GUID della libreria dei tipi sotto HKCR\CLSID\{...} nel Registro di Windows; regsvr32 /u li rimuove |
| Interfacce COM (controllo UI) | Deve implementare IUnknown; i controlli UI in-process espongono inoltre IOleObject, IOleControl, IOleInPlaceObject e IDispatch per lo scripting e l'automazione VBA |
| Libreria dei tipi incorporata | Una risorsa libreria di tipi .tlb compilata è tipicamente incorporata nella sezione PE .rsrc, descrivendo le interfacce del controllo agli IDE e agli host VBA |
| Ordine dei byte | Little-endian (nativo Intel/x86) |
| Codifica | Binario (codice nativo compilato - non interpretato o basato su testo) |
| Dimensione tipica del file | 20 KB - 10 MB a seconda del numero di controlli e delle risorse UI incorporate |
| Supporto Authenticode | Firma digitale Authenticode opzionale per la verifica dell'editore; il campo CheckSum dell'intestazione PE fornisce un controllo di integrità di base |
| Tipo MIME | application/octet-stream (non è registrato alcun tipo MIME specifico per .ocx) |
| Dipendenza dall'host | Non può essere eseguito autonomamente; deve essere istanziato da un host compatibile con COM: IDE VB6, applicazione MFC/ATL, modulo utente Office VBA o il legacy Internet Explorer |
| Stato di sicurezza | Considerato ad alto rischio (esecuzione di codice nativo arbitrario nel processo host); rimosso in Microsoft Edge; ritirato con Internet Explorer nel 2022-2023 |
| Formato precedente | Ha sostituito i controlli .vbx (Visual Basic Extension) a 16 bit introdotti con Visual Basic 1.0 nel 1991 |
| Supporto piattaforma | Solo Windows (Win32 / Win64); nessun supporto nativo su macOS o Linux |
| Rilasciato | 1994 (OLE Custom Controls / OCX); rebranded ActiveX Controls in 1996 |
| Ultima versione | N/A (tied to the COM/ActiveX model; effectively frozen, legacy on modern Windows) |
| Specifica | learn.microsoft.com |
Conversioni OCX
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file OCX.