Hur öppnar man en DLL-fil? Guide på svenska

Vad är en DLL-fil och varför kan man behöva öppna den?

En DLL-fil, eller Dynamic Link Library, är en typ av körbar fil som används i Windows för att lagra kod, data och resurser som flera program kan dela på. Istället för att varje program har all kod inbäddad i sig, kan de anropa gemensamma funktioner från DLL-filer. Detta sparar plats och gör uppdateringar enklare. Men ibland uppstår situationer där du behöver öppna en DLL-fil, till exempel för att felsöka ett problem, kontrollera vilka funktioner ett bibliotek exporterar, eller helt enkelt för att se vad som finns inuti. Att öppna en DLL-fil är inte alltid rakt fram för en vanlig användare, eftersom filen inte är avsedd att läsas direkt som till exempel en textfil. I den här guiden går vi igenom flera metoder för att både visa innehållet i en DLL-fil och hantera den i Windows-miljö.

Använd en textredigerare för enkel visning

Det enklaste sättet att öppna en DLL-fil är med en textredigerare som Anteckningar i Windows. Högerklicka på DLL-filen, välj "Öppna med" och sedan "Anteckningar" eller någon annan grundläggande textredigerare. Det du ser på skärmen är dock inte den egentliga källkoden i ett läsbart programmeringsspråk. Istället visas en ström av binär data och tecken som inte går att tolka. Detta beror på att DLL-filer är kompilerade från högnivåspråk som C++ eller C# till maskinkod eller mellankod. Denna metod är därför endast användbar för att snabbt kontrollera om filen innehåller några textsträngar, till exempel felmeddelanden eller namn på exporterade funktioner. För att faktiskt förstå innehållet krävs en dedikerad programvara. Om du försöker ändra något i textredigeraren riskerar du att göra filen obrukbar och därmed skada program som är beroende av den. Metoden rekommenderas alltså inte för modifiering, endast för enkel inspektion.

Hur öppnar man en DLL-fil? Guide på svenska - 1

Använd en dekompilator för att se källkod

För att verkligen kunna läsa och analysera koden som en DLL-fil innehåller behöver du en dekompilator. Ett av de mest populära verktygen för detta är dotPeek från JetBrains, som är gratis och lätt att använda. Andra alternativ är ILSpy och .NET Reflector. Dessa program kan öppna DLL-filer som är skrivna i .NET-språk som C# och visa en representation av den ursprungliga källkoden. Gör så här: ladda ner och installera dotPeek. Öppna programmet och klicka på "File" och sedan "Open". Välj din DLL-fil. Programmet analyserar filen och visar en trädstruktur med namnrymder, klasser och metoder. Du kan klicka dig fram och se koden i en läsbar form. Det är viktigt att komma ihåg att koden du ser är en dekompilering och inte exakt samma som utvecklaren från början skrev, men den kan fortfarande ge dig en god förståelse för hur biblioteket fungerar. För DLL-filer som är skrivna i C++ eller andra språk som kompileras direkt till maskinkod är dekompilering mer komplext och kräver en disassembler istället. I sådana fall kan verktyg som Ghidra eller IDA Pro användas, men de har en brantare inlärningskurva.

Registrera DLL-filen i systemet

Ibland behöver du inte öppna en DLL-fil för att läsa innehållet, utan snarare för att göra den tillgänglig för andra program. Detta kallas att registrera en DLL. Windows har ett kommandoradsverktyg som heter regsvr32. Det används för att registrera eller avregistrera DLL- och OCX-filer i registret. För att registrera en DLL-fil, öppna kommandotolken som administratör. Navigera till mappen där DLL-filen finns med kommandot cd. Skriv sedan regsvr32 "filnamn.dll" och tryck på Enter. Om registreringen lyckas visas en bekräftelsedialog. Denna metod används ofta när ett program kräver att en viss DLL är registrerad för att fungera korrekt. Tänk på att regsvr32 endast fungerar med DLL-filer som är utformade för att vara COM-bibliotek. Om du försöker registrera en vanlig DLL utan COM-stöd, kommer du att få ett felmeddelande. Att registrera en DLL är alltså inte samma sak som att öppna den för visning, men det är en viktig åtgärd om du behöver åtgärda problem med ett program som inte hittar en nödvändig DLL.

Hur öppnar man en DLL-fil? Guide på svenska - 2

Använd dumpbin för att visa beroenden och exporter

För en mer teknisk analys av en DLL-fil kan du använda dumpbin, ett kommandoradsverktyg som ingår i Microsofts Visual Studio Build Tools. Med dumpbin kan du visa en lista över vilka andra DLL-filer en viss DLL är beroende av, samt exportera funktioner. För att använda det, öppna utvecklarkommandotolken eller en vanlig kommandotolk där sökvägen till dumpbin är tillgänglig. Skriv dumpbin /DEPENDENTS "filnamn.dll" för att se alla beroenden. Detta är användbart om du försöker felsöka varför ett program inte startar – du kan snabbt se om någon DLL i kedjan saknas. Skriv dumpbin /EXPORTS "filnamn.dll" för att se en tabell över alla funktioner som DLL-filen exponerar utåt. Varje funktion har en ordning och ett minnesadress. Denna information är mycket värdefull för utvecklare eller avancerade användare som vill förstå hur ett bibliotek kan anropas. dumpbin är ett avancerat verktyg och kräver viss vana vid kommandoraden. Det är dock ett av de mest pålitliga sätten att få exakt information om en DLL-fils inre struktur utan att använda en grafisk dekompilator.

Kontrollera om DLL-filen är korrupt

Om du misstänker att en DLL-fil är skadad eller korrupt finns det några enkla sätt att kontrollera det. För det första kan du högerklicka på filen och välja "Egenskaper". Gå till fliken "Detaljer" där du ser filversion, storlek och eventuell digital signatur. Om fältet "Filtyp" visas som "DLL-fil" och storleken är rimlig är chansen stor att filen inte är helt korrupt. En korrupt DLL har ofta en storlek på 0 byte eller en mycket avvikande storlek jämfört med originalfilen. För en mer grundlig kontroll kan du använda systemverktyget System File Checker i Windows. Öppna kommandotolken som administratör och skriv sfc /scannow. Detta kommandot genomsöker alla systemfiler, inklusive viktiga DLL-filer, och ersätter korrupta versioner med en kopia från Windows-cachen. Denna metod är dock begränsad till systemets egna filer. För tredjeparts DLL-filer får du istället lita på en jämförelse med en känd bra kopia, till exempel från installationsmediet för programmet ifråga.

Hur öppnar man en DLL-fil? Guide på svenska - 3

Återställ DLL-filer genom att installera om programmet

En mycket vanlig orsak till problem med DLL-filer är att filen av misstag har raderats eller skadats i samband med en avinstallation eller ett programfel. Det enklaste sättet att lösa detta är att installera om det program som använder DLL-filen. När du kör installationsprogrammet på nytt, läggs alla nödvändiga filer tillbaka på sina ursprungliga platser. Detta gäller även DLL-filer. Om du letar efter en specifik DLL och inte vet vilket program den tillhör, kan du söka på internet efter DLL-filens namn. Många webbplatser erbjuder nedladdning av individuella DLL-filer, men det är en riskabel metod eftersom filerna kan vara föråldrade eller innehålla skadlig kod. Den säkraste vägen är alltid att hämta filen från den officiella källan, det vill säga programtillverkarens installationspaket. Om ingen installation finns tillgänglig kan du kontrollera om något annat program på ditt system har en kopia av samma DLL, men var då mycket noggrann med versioner och arkitektur (32-bitars eller 64-bitars).

Lista över användbara verktyg för att öppna DLL-filer

Här följer en lista över de vanligaste verktygen som kan användas för att öppna, inspektera eller hantera DLL-filer:

Hur öppnar man en DLL-fil? Guide på svenska - 4
  • Anteckningar (Windows) – för enkel textvisning, inte för att läsa eller ändra kod
  • dotPeek (JetBrains) – gratis dekompilator för .NET DLL-filer
  • ILSpy – öppen källkodsdekompilator för .NET
  • .NET Reflector – kommersiell dekompilator med avancerade funktioner
  • dumpbin (Visual Studio) – kommandoradsverktyg för att visa beroenden och export
  • regsvr32 – för att registrera DLL-filer i Windows registret
  • Ghidra – avancerad disassembler för icke .NET DLL-filer
  • PE Explorer – kommersiellt verktyg för att granska PE-huvuden och resurser
  • Resource Hacker – för att visa och extrahera resurser som ikoner och dialoger i DLL-filer

Valet av verktyg beror på vad du vill göra. För en snabb kontroll av beroenden är dumpbin ofta tillräckligt. För att läsa C#-kod är dotPeek det bästa gratiskravet. Och för att åtgärda registreringsproblem använder du regsvr32.

Jämförelse av metoder för att öppna DLL-filer

För att ge dig en överblick över när de olika metoderna är lämpliga, presenteras här en jämförelsetabell:

Hur öppnar man en DLL-fil? Guide på svenska - 5
Metod Verktyg Användningsområde Svårighetsgrad Rekommenderas för
Textredigerare Anteckningar, Notepad++ Enkel visning av textsträngar Låg Nybörjare som vill göra en snabb check
Dekompilator dotPeek, ILSpy Läsa .NET-källkod, analysera strukturer Medel Utvecklare och avancerade användare
Registrering regsvr32 Göra DLL tillgänglig för andra program (COM) Medel Användare som felsöker programfel
Kommandoradsanalys dumpbin Visa export och beroenden Hög Avancerade tekniska användare
Systemkontroll sfc /scannow Reparera system-DLL-filer Låg (kräver admin) Alla som misstänker systemkorruption
Ominstallation Programinställning Återställning av saknade DLL-filer Låg Alla användare när andra metoder misslyckas

Tabellen visar att det inte finns en universallösning för att öppna DLL-filer. Din strategi beror på situationen: vill du bara veta vilka funktioner som finns, eller behöver du ändra något? Tänk på att modifiering av DLL-filer ofta kräver mycket erfarenhet och att du arbetar i en säker miljö.

Att tänka på vid hantering av DLL-filer

DLL-filer är en central del av Windows ekosystem och många program är beroende av dem. En felaktig ändring eller borttagning kan leda till att flera program slutar fungera. Innan du öppnar eller ändrar en DLL-fil, skapa alltid en säkerhetskopia. Det är också viktigt att du har rätt verktyg för uppgiften. Om du försöker dekompilera en DLL som inte är av .NET-typ med ett .NET-verktyg, kommer du inte att få meningsfull information. Använd i så fall en disassembler som Ghidra eller IDA Pro, men var medveten om att dessa verktyg kräver en god förståelse för assembler och datastrukturer. För de flesta användare räcker det att veta hur man registrerar en DLL eller kontrollerar om den är korrupt. Avancerad analys överlåter du lämpligen till utvecklare.

Sammanfattning

Att öppna en DLL-fil kan göras på flera olika sätt, från enkla textredigerare till avancerade dekompilatorer och kommandoradsverktyg. Vilken metod du väljer beror på dina kunskaper och vad du vill uppnå. För en snabb kontroll räcker Anteckningar, men för att se verklig kod behövs en de

dll-fil Windows systemfiler filformat guide
Observera DLL-filer är systemfiler. Öppna och ändra dem endast om du vet vad du gör.
Författare

Stefano Barcellos

Bidragsgivare på Visite Barbados.

« Föregående inlägg
Så kopierar du filer till surfplatta enkelt och snabbt

Relaterade inlägg