Hva er en CLSID-registernøkkel?
CLSID eller klasseidentifikator er en streng av alfanumeriske (både tall og alfabettegn) symboler som brukes til å representere en spesifikk forekomst av en komponentobjektmodell eller COM-basert program. Den lar operativsystemer og programvare, spesielt for Windows, oppdage og få tilgang til programvarekomponenter uten å identifisere dem ved navn. Selv om Microsoft har faset ut bruken av COM til fordel for .NET-infrastrukturen, er COM fortsatt i bruk som en viktig komponent for mange ofte brukte programmer og har ingen planer om å bli avviklet.
Eksempler på objekter som bruker COM og en tilsvarende CLSID inkluderer ActiveX, Min datamaskin-katalogen og Windows Start-menyen. En typisk CLSID i Windows-registret kan se slik ut:
{48E7CAAB-B918-4E58-A94D-505519C795DC}
Ditt mest sannsynlige møte med CLSID er når et nettsted ber deg om å oppdatere ActiveX eller et annet program. Nettleseren din oppdager versjonen av programvaren din ved å sjekke dens CLSID, og overfører denne informasjonen til nettstedet uten å kompromittere datamaskinen din.
Imidlertid brukes falske medieoppdateringer ofte til å distribuere skadelig programvare og andre PC-trusler, og du bør unngå å laste ned oppdateringer fra nettsteder du ikke stoler på implisitt.
Når en god CLSID-oppføring blir dårlig
Hvis CLSID er ødelagt, kan PC-en oppleve problemer relatert til programmet CLSID er koblet til; et vanlig problem er en skade CLSID som resulterer i at programvare ikke kan verifisere sin egen versjon og oppdatere seg selv. Som en lett-å-implementer løsning, avinstallerer og reinstallerer programvaren vanligvis dette problemet.
Det vanligste problemet knyttet til en register CLSID-oppføring er et programs manglende evne til å slette sin CLSID fra registeret når resten av programmet er avinstallert. Selv om dette er en dårlig programmeringspraksis som roter opp PC-ens register med meningsløse tekstoppføringer, vil en ubrukt CLSID-oppføring sannsynligvis ikke skade datamaskinen din. Noen registerrensere og andre systemvedlikeholdsprogrammer spesialiserer seg imidlertid på å fjerne dette CLSID-baserte "søppelet". I svært ekstreme omstendigheter, for eksempel med en datamaskin med lave systemressurser, kan et register med for mange ubrukte CLSID-oppføringer forårsake ytelsesproblemer.
Hvis du er interessert i å korrigere CLSID-registeroppføringer manuelt, bør du utvise høy grad av forsiktighet. Endringer i registeret ditt kan skade operativsystemet ditt på mange måter, spesielt ved at det ikke klarer å gjenkjenne kritiske komponenter og programmer. Uansett om du er interessert i å gjøre endringer i datamaskinens CLSID-oppføringer eller ikke, anbefales det i alle tilfeller å ha en sikkerhetskopi av Windows-registeret via et systemgjenopprettingspunkt eller en annen metode.
Den forsvinnende CLSID
Selv om CLSID vanligvis er en permanent tekstoppføring i registeret ditt – i det minste inntil du avinstallerer programmet som det er koblet til – kan midlertidige mapper og filer også vise CLSID-oppføringer i navnene deres. Dette er ofte forårsaket av programinstallasjonsprogrammer som dekomprimerer filer som skal brukes til installasjon før de fjernes. De fleste slike filer og mapper bør slette seg selv automatisk etter at installasjonen er fullført. I tilfeller av dårlig koding eller avbrutt installasjon, kan det hende du må slette disse objektene selv, selv om de ikke skal skade datamaskinen.
Ikke alle CLSID-brukende programmer er tvunget til å skrive CLSID-oppføringene inn i Windows-registeret. RegFree eller Registration-Free COM-komponenter er i stand til å lagre CLSID-oppføringene sine i sine egne EXE-filer eller i separate XML-filer. Dette har visse fordeler, for eksempel at et program kan installeres flere ganger som flere forskjellige versjoner. RegFree COM-støtte er imidlertid mer begrenset og noen ganger (i tilfeller av systemomfattende programmer som DirectX) helt utilgjengelig.
Forskjellen mellom CLSIDs COM og resten av COM-universet
COM-grensesnittet med CLSID er en Component Object Model, en grensesnittmetode som bruker den objektorienterte programmeringsfilosofien (eller OOP). Det har ikke et direkte forhold til webdomene-suffikset .COM, som betyr et "kommersielt" domene på toppnivå.
På samme måte er CLSIDs COM-komponenter ikke relatert til .COM-filer, som er en undertype av kjørbar eller EXE-fil. Selv om noen Windows-komponenter og andre programmer bruker .COM, krever dette utdaterte filformatet MS-DOS-emulering som ikke er inkludert (som standard) på 64-biters Windows-operativsystemer.
CLSIDs plass i skadelig programvareindustrien
CLSID-oppføringer kan brukes til å kjøre skadelige programmer, så vel som trygge. Rootkits, trojanere, ondsinnede nettleserhjelpeobjekter og andre typer skadelig programvare kan alle bruke CLSID-systemet for å starte seg selv automatisk eller når visse forhold utløses. Flertallet av kompetente anti-malware-programmer vil oppdage og slette ondsinnede CLSID-oppføringer sammen med skadelig programvare som er knyttet til dem. I likhet med vanlige CLSID-oppføringer kan imidlertid ikke slettede CLSID-malwareoppføringer for programmer som er fjernet, forårsake skade på datamaskinen din.
Malware-programmer har også vært kjent for å bruke CLSID-oppføringer for å ringe til andre programmer (som Internet Explorer). Disse programmene kan vise synlige indikasjoner på at de er åpne, men i de fleste tilfeller bør du kunne oppdage det åpne programmets minneprosess via Task Manager og lignende verktøy. Slike angrep kan brukes til å utføre ulike onlineangrep uten PC-brukerens viten. Selv om kunnskap om CLSID er unødvendig for tilfeldig PC-bruk, kan en fungerende bevissthet om dens muligheter og begrensninger bidra til å løse programvare- og registerrelaterte feil med et minimum av frustrasjon.