Hvad er 386-filformatet?
.386-filer er Virtual Device Drivers (VxDs) til Windows 386 Enhanced Mode, introduceret med Windows/386 2.x i 1988. En VxD er en kernel-mode binær komponent, der virtualiserer en hardwareenhed eller OS-tjeneste - såsom en timer, tastatur, skærmkort eller diskcontroller - så flere DOS-applikationer, der kører samtidigt, hver især kan tro, at de har eksklusiv adgang til hardwaren.
Internt er en .386-fil en MZ DOS-executable stub efterfulgt af en Linear Executable (LE) header. LE-headeren indeholder en VxD-deskriptorblok, der identificerer enheds-ID, version og indgangspunkter for initialisering, I/O-portvirtualisering og afbrydelseshåndtering (interrupt handling). Windows/386 2.x brugte et tidligere proprietært W386-headerformat, før LE-standarden blev vedtaget.
.386 VxD'er kører udelukkende i Ring 0 (kernel-mode) uden hukommelsesisolering. Dette gjorde dem kraftfulde, men ustabile: en fejlbehæftet driver kunne få hele operativsystemet til at gå ned. Windows NT brugte WDM (Windows Driver Model) med korrekt kernel-isolering fra starten; Windows 98 SE påbegyndte overgangen, og Windows Me var den sidste forbrugerudgave, der understøttede VxD'er. Windows XP og nyere kan slet ikke indlæse .386-filer - VxD-undersystemet blev fjernet.
Den samme rolle som virtuel enhedsdriver udfyldes også af .vxd-filer (funktionelt identiske, anden filendelse brugt til dynamiske VxD'er under Windows 95/98). Kendte eksempler inkluderer VSHARE.386, VFAT.386 og VTDAPI.386. Disse filer indlæses automatisk af Windows-kernen ved boot eller efter behov; de kan og bør ikke åbnes manuelt.
Sikkerhed og tryghed
RISIKO: MEDIUMLegitime .386-filer er Windows-systemdrivere, som er harmløse på moderne Windows (da de ikke indlæses). Dog har malware historisk set brugt .386-filendelsen på Windows 9x/Me til at skjule kernel-mode payloads - på disse operativsystemer kunne Ring 0 VxD'er skjule sig for antivirus. På Windows XP og nyere kan .386-filer ikke indlæses som VxD'er og udgør ingen eksekveringsrisiko. Hvis antivirus flager en .386-fil på et moderne system, er det sandsynligvis en historisk detektionssignatur eller en fil, der er camoufleret med .386-filendelsen.
Formatdetaljer
kort fortalt- Ventura Publisher font-fil - Nogle versioner af Xerox/Corel Ventura Publisher brugte .386 til downloadbare 386-optimerede fontdata - sjældent, før 1995.
Programmer der åbner 386-filer
Tekniske detaljer
dyb specifikation| Kodning | Binær eksekverbar fil (MZ DOS stub + Linear Executable LE body) |
| Byte-rækkefølge | Little-endian |
| Fil-header | MZ-header (4D 5A) ved offset 0 (DOS stub); LE-header (4C 45) ved offset angivet af dword ved 0x3C |
| Tidligste formatvariant | Windows/386 2.x (1988): proprietær W386-header, der går forud for LE-standarden |
| Eksekveringsring | Ring 0 (kernel-mode) - VxD'er kører med fuld hardwareadgang og uden hukommelsesisolering |
| Typisk filstørrelse | 2 KB - 200 KB |
| VxD-deskriptorblok | Identificerer enheds-ID, version og indgangspunkter: initialisering, I/O-porthåndtering, interrupt-virtualisering |
| OS-kompatibilitet | Windows 2.x (Windows/386) til og med Windows Me; kan ikke indlæses på Windows XP eller nyere |
| Efterfølgende teknologi | WDM (Windows Driver Model) introduceret i Windows 98 SE / Windows 2000; drivere bruger filendelsen .sys |
| Dynamisk indlæsning | Understøttet fra Windows for Workgroups 3.11 og frem; tidligere versioner brugte kun statiske VxD'er |
| Bemærkelsesværdige eksempler | VSHARE.386, VFAT.386, VTDAPI.386, EMM386.386, WINA20.386 |
| Udgivet | 1988 (Windows/386 2.x) |
| Seneste version | Used through Windows Me (2000); superseded by WDM in Windows 98 SE / 2000 |
| Specifikation | devblogs.microsoft.com |
386-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om 386-filer.