Hvorfor konvertere DLL til C?
En DLL (Windows PE-format) inneholder kompilert binærkode - originale variabelnavn, kommentarer og struktur kastes av kompilatoren. Utviklere dekompilerer DLL-filer når kildekoden er tapt eller utilgjengelig, ved revisjon av tredjepartsbiblioteker for sikkerhet, eller ved portering av funksjonalitet til en annen plattform.
Hvordan konvertere DLL til C
dotPeek FREE
For .NET DLL-filer: dra .dll-filen over til dotPeek, bla i navneromstreet, høyreklikk deretter på et navnerom og velg «Export to Project» for å skrive .cs-kildekofiler til en mappe.
ILSpy OPEN-SOURCE
For .NET DLL-filer: åpne via «File > Open», velg typer i assembly-treet, og deretter «File > Save Code» for å eksportere dekompilerte C#-filer.
Ghidra OPEN-SOURCE
For native DLL-filer: importer filen, kjør auto-analyse, bla gjennom eksporter i «Symbol Tree», og se C-lignende pseudokode i «Decompiler»-panelet; eksporter via «File > Export Program > C/C++».
Om disse formatene
En DLL (Dynamic Link Library) er en Windows-biblioteksfil som inneholder kompilert kode som programmer laster mens de kjører, så det er ikke noe du åpner ved å dobbeltklikke. Hvis en app…
Åpne .DLL-detaljer →En .c-fil er C-kildekode - ren tekst som en programmerer skriver, som en kompilator gjør om til et kjørbart program. Åpne den for lesing i et hvilket som helst tekstredigeringsprogram…
Åpne .C-detaljer →Kvalitet og hva du bør passe på
- .NET DLL-filer inneholder CIL-bytekode og dekompileres nesten perfekt til C#; native DLL-filer kompilert fra C eller C++ produserer kun omtrentlig pseudokode med autogenererte navn som
param_1oglocal_8. - dotPeek og ILSpy produserer C# (eller VB.NET), ikke ren C; hvis du spesifikt trenger C, må du oversette utdataene manuelt.
- Originale variabelnavn, kommentarer og kodestruktur mangler fra både dekompilert .NET og disassemblert native utdata - kompilatoren fjerner disse.