有没有办法使用Mono.Cecil将exe转换为DLL,(删除图标和其他不需要的数据,删除EntryPoint)
AssemblyDefinition sourceAssembly = AssemblyDefinition.ReadAssembly(file);
sourceAssembly.EntryPoint = null;
sourceAssembly.Write(outputFile);
Run Code Online (Sandbox Code Playgroud)
似乎没有任何影响..
要将托管.exe转换为.dll,您可以使用:
var file = "foo.exe";
var module = ModuleDefinition.ReadModule (file);
module.Kind = ModuleKind.Dll;
module.EntryPoint = null;
module.Write (Path.ChangeExtension (file, ".dll"));
Run Code Online (Sandbox Code Playgroud)
从Cecil 0.9.5开始,尚未实现的一件事是您无法以编程方式删除Win32图标.这是错误#3.
有趣的事实:.net框架的某些.dll确实有一个入口点.