Изменение кода в сборке - PullRequest
1 голос
/ 05 мая 2011

У меня файл dll написан на C #, я открыл файл через Reflector, файл с кодом

if (a! = 5)
{
}

Как я могу изменить код на

if (a == 5)
{
}

У меня все еще есть плагин Reflexil

Ответы [ 3 ]

1 голос
/ 05 мая 2011

Хотя ответ об изменении IL верен, вы также можете использовать плагин Дениса Бауэра для отражателя , чтобы разобрать код и создать из него новый проект. Затем вы можете перекомпилировать этот проект для создания новой библиотеки DLL.

Это позволяет вам вносить изменения в более знакомую среду, а не иметь дело с IL. Вы также можете выбрать язык, на котором хотите внести изменения.

Если сборка должна быть подписана, у вас могут возникнуть проблемы с загрузкой.

1 голос
/ 05 мая 2011

Другими альтернативами являются ILSpy или Resharper 6.0, который также содержит дизассемблер.

1 голос
/ 05 мая 2011

Вы можете сделать это с помощью MSIL Disassembler

Декомпилировать с помощью этого инструмента, применить изменения в IL и снова скомпилировать, используя MSIL Assembler

Это будет работать гладко, если скомпилированное приложение не защищено.

...