1

有没有办法使用Mono.Cecil将exe转换为dll,(删除图标和其他不需要的数据,删除EntryPoint)

    AssemblyDefinition sourceAssembly = AssemblyDefinition.ReadAssembly(file);
    sourceAssembly.EntryPoint = null;
    sourceAssembly.Write(outputFile);

好像一点效果都没有。。

4

1 回答 1

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 确实有一个入口点。

于 2011-09-09T06:56:06.830 回答