Mono.cecil konvertieren .exe in dll?
-
28-10-2019 - |
Frage
Gibt es eine Möglichkeit, mit Mono.cecil eine Exe in eine DLL zu konvertieren (Entfernen des Symbols und anderer nicht benötigter Daten, Entfernen des Einstiegspunkts)
AssemblyDefinition sourceAssembly = AssemblyDefinition.ReadAssembly(file);
sourceAssembly.EntryPoint = null;
sourceAssembly.Write(outputFile);
scheint überhaupt keinen Effekt zu haben.
Lösung
Um eine verwaltete .exe in eine .dll umzuwandeln, können Sie verwenden:
var file = "foo.exe";
var module = ModuleDefinition.ReadModule (file);
module.Kind = ModuleKind.Dll;
module.EntryPoint = null;
module.Write (Path.ChangeExtension (file, ".dll"));
Eine Sache, die noch nicht implementiert ist, ist Cecil 0.9.5, dass Sie das Win32 -Symbol nicht programmatisch entfernen können. Das ist Fehler #3.
Lustige Tatsache: Einige .Dll des .NET -Frameworks haben einen Einstiegspunkt.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow