Mono.Cecil конвертировать.exe в dll?

Есть ли способ использовать Mono.Cecil для преобразования exe в dll (удаление значка и других ненужных данных, удаление EntryPoint)

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

кажется, не имеет никакого эффекта вообще..

1 ответ

Решение

Для преобразования управляемого.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.

Забавный факт: некоторые.dll фреймворка.net имеют точку входа.

Другие вопросы по тегам