Varför konvertera DLL till C?
En DLL (Windows PE-format) innehåller kompilerad binärkod - ursprungliga variabelnamn, kommentarer och struktur kastas bort av kompilatorn. Utvecklare dekompilerar DLLs när källkod har gått förlorad eller är otillgänglig, vid säkerhetsgranskning av tredjepartsbibliotek eller vid portning av funktionalitet till en annan plattform.
Hur man konverterar DLL till C
dotPeek FREE
För .NET DLLs: dra .dll-filen till dotPeek, bläddra i namnrymdsträdet, högerklicka sedan på en namnrymd och välj «Export to Project» för att skriva .cs källkodsfiler till en mapp.
ILSpy OPEN-SOURCE
För .NET DLLs: öppna via «File > Open», välj typer i assemblerträdet, sedan «File > Save Code» för att exportera dekompilerade C#-filer.
Ghidra OPEN-SOURCE
För nativa DLLs: importera filen, kör auto-analys, bläddra bland exporter i «Symbol Tree» och visa C-liknande pseudokod i «Decompiler»-panelen; exportera via «File > Export Program > C/C++».
Om dessa format
En DLL (Dynamic Link Library) är en Windows-biblioteksfil som innehåller kompilerad kod som program läser in medan de körs, så det är inte något du öppnar genom att dubbelklicka. Om en app…
Öppna detaljer för .DLL →En .c-fil är källkod i C - vanlig text som en programmerare skriver och som en kompilator omvandlar till ett körbart program. Öppna den för läsning i valfri textredigerare (Notepad++, VS…
Öppna detaljer för .C →Kvalitet & vad man bör tänka på
- .NET DLLs innehåller CIL-bytecode och dekompileras nästan perfekt till C#; nativa DLLs kompilerade från C eller C++ genererar endast ungefärlig pseudokod med autogenererade namn som
param_1ochlocal_8. - dotPeek och ILSpy genererar C# (eller VB.NET), inte ren C; om du specifikt behöver C måste du manuellt översätta resultatet.
- Ursprungliga variabelnamn, kommentarer och kodstruktur saknas i både dekompilerad .NET och disassemblerad nativ utdata - kompilatorn kastar bort dem.