Vad är en CLSID-registernyckel?
CLSID eller klassidentifierare är en sträng av alfanumeriska (både siffror och bokstäver) symboler som används för att representera en specifik instans av en komponentobjektmodell eller COM-baserat program. Det tillåter operativsystem och programvara, särskilt för Windows, att upptäcka och komma åt programvarukomponenter utan att identifiera dem med deras namn. Även om Microsoft har fasat ut användningen av COM till förmån för .NET-infrastrukturen, fortsätter COM att användas som en viktig komponent för många vanligt använda program och har inga planer på att avvecklas.
Exempel på objekt som använder COM och ett motsvarande CLSID inkluderar ActiveX, katalogen Den här datorn och Windows Start-meny. Ett typiskt CLSID i ditt Windows-register kan se ut så här:
{48E7CAAB-B918-4E58-A94D-505519C795DC}
Ditt mest troliga möte med CLSID är när en webbplats ber dig att uppdatera ActiveX eller ett annat program. Din webbläsare upptäcker versionen av din programvara genom att kontrollera dess CLSID och överför denna information till webbplatsen utan att kompromissa med din dator.
Men falska mediauppdateringar används ofta för att distribuera skadlig programvara och andra PC-hot, och du bör undvika att ladda ner uppdateringar från webbplatser som du inte litar på underförstått.
När en bra CLSID-post blir dålig
Om CLSID är skadat kan din dator uppleva problem relaterade till programmet som CLSID är länkat till; ett vanligt problem är ett skadat CLSID som leder till att programvaran inte kan verifiera sin egen version och uppdatera sig själv. Som en enkel att implementera lösning, avinstallerar och installerar om din programvara vanligtvis det här problemet.
Det vanligaste problemet med en CLSID-post i registret är att ett program misslyckas med att ta bort sitt CLSID från registret när resten av programmet avinstalleras. Även om detta är en dålig programmeringspraxis som belamrar datorns register med meningslösa textposter, är det inte troligt att en oanvänd CLSID-post skadar din dator. Vissa registerrensare och andra systemunderhållsprogram är dock specialiserade på att ta bort detta CLSID-baserade "skräp". Under mycket extrema omständigheter, som med en dator med låga systemresurser, kan ett register med för många oanvända CLSID-poster orsaka prestandaproblem.
Om du är intresserad av att korrigera CLSID-registerposter manuellt bör en hög grad av försiktighet användas. Ändringar i ditt register kan skada ditt operativsystem på många sätt, framför allt genom att få det att misslyckas med att känna igen viktiga komponenter och program. Oavsett om du är intresserad av att göra ändringar i din dators CLSID-poster eller inte, rekommenderas i alla fall att ha en säkerhetskopia av Windows-registret via en systemåterställningspunkt eller annan metod.
Det försvinnande CLSID
Även om CLSID vanligtvis är en permanent textpost i ditt register – åtminstone tills du avinstallerar programmet som det är länkat till – kan temporära mappar och filer också visa CLSID-poster i deras namn. Detta orsakas ofta av programinstallatörer som dekomprimerar filer som ska användas för installation innan de tas bort. De flesta sådana filer och mappar bör raderas automatiskt efter att installationen har slutförts. I fall av dålig kodning eller avbruten installation kan du behöva ta bort dessa objekt själv, även om de inte ska skada din dator.
Inte alla CLSID-användande program tvingas skriva sina CLSID-poster i ditt Windows-register. RegFree eller registreringsfria COM-komponenter kan lagra sina CLSID-poster i sina egna EXE-filer eller i separata XML-filer. Detta har vissa fördelar, som att låta ett program installeras flera gånger som flera olika versioner. RegFree COM-stödet är dock mer begränsat och ibland (i fall av systemomfattande program som DirectX) helt otillgängligt.
Skillnaden mellan CLSID:s COM och resten av COM-universumet
COM-gränssnittet med CLSID är en Component Object Model, en gränssnittsmetod som använder den objektorienterade programmeringsfilosofin (eller OOP). Den har ingen direkt relation med webbdomänssuffixet .COM, vilket betyder en "kommersiell" toppdomän.
På samma sätt är CLSID:s COM-komponenter inte relaterade till .COM-filer, som är en undertyp av körbar eller EXE-fil. Även om vissa Windows-komponenter och andra program använder .COM, kräver detta föråldrade filformat MS-DOS-emulering som inte ingår (som standard) på 64-bitars Windows-operativsystem.
CLSID:s plats i skadlig programvara
CLSID-poster kan användas för att köra skadliga program, såväl som säkra. Rootkits, trojaner, skadliga webbläsarhjälpobjekt och andra typer av skadlig programvara kan alla använda CLSID-systemet för att starta sig själva automatiskt eller när vissa tillstånd utlöses. Majoriteten av kompetenta anti-malware-program kommer att upptäcka och ta bort skadliga CLSID-poster tillsammans med skadlig programvara som är associerad med dem. Men, precis som vanliga CLSID-poster, kan återställda CLSID-skadligprogramposter för program som har tagits bort inte orsaka skada på din dator.
Skadliga program har också varit kända för att använda CLSID-poster för att ringa till andra program (som Internet Explorer). Dessa program kan eller kanske inte visar synliga tecken på att de är öppna, även om du i de flesta fall bör kunna upptäcka det öppna programmets minnesprocess via Aktivitetshanteraren och liknande verktyg. Sådana attacker kan användas för att utföra olika onlineattacker utan PC-användarens vetskap. Även om kunskap om CLSID är onödig för tillfällig PC-användning, kan en fungerande medvetenhet om dess kapacitet och begränsningar hjälpa till att lösa program- och registerrelaterade fel med ett minimum av frustration.