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