Hvorfor konvertere DLL til C?
En DLL (Windows PE-format) indeholder kompileret binær kode - originale variabelnavne, kommentarer og struktur kasseres af compileren. Udviklere dekompilerer DLL-filer, når kildekoden er gået tabt eller utilgængelig, ved revision af tredjepartsbiblioteker for sikkerhed, eller når funktionalitet skal porteres til en anden platform.
Sådan konverterer du DLL til C
dotPeek FREE
For .NET DLL-filer: træk .dll-filen over i dotPeek, gennemse namespace-træet, højreklik derefter på et namespace og vælg «Export to Project» for at skrive .cs kildekodefiler til en mappe.
ILSpy OPEN-SOURCE
For .NET DLL-filer: åbn via «File > Open», vælg typer i assembly-træet, og derefter «File > Save Code» for at eksportere dekompilerede C#-filer.
Ghidra OPEN-SOURCE
For native DLL-filer: importer filen, kør auto-analyse, gennemse exports i «Symbol Tree», og se C-lignende pseudokode i «Decompiler»-ruden; eksporter via «File > Export Program > C/C++».
Om disse formater
En DLL (Dynamic Link Library) er en Windows-biblioteksfil, der indeholder kompileret kode, som programmer indlæser, mens de kører, så det er ikke noget, du åbner ved at dobbeltklikke. Hvis…
Åbn .DLL detaljer →En .c-fil er C-kildekode - almindelig tekst, som en programmør skriver, og som en compiler omdanner til et kørbart program. Åbn den for at læse den i enhver teksteditor (Notepad++, VS Code,…
Åbn .C detaljer →Kvalitet & hvad man skal være opmærksom på
- .NET DLL-filer indeholder CIL-bytecode og dekompileres næsten perfekt til C#; native DLL-filer kompileret fra C eller C++ producerer kun omtrentlig pseudokode med autogenererede navne som
param_1oglocal_8. - dotPeek og ILSpy producerer C# (eller VB.NET), ikke ren C; hvis du specifikt har brug for C, skal du manuelt oversætte outputtet.
- Originale variabelnavne, kommentarer og kodestruktur mangler i både dekompileret .NET og disassembleret native output - compileren fjerner dem.