Ошибка .NET Reflector при генерации кода

Я использовал Reflector 6.8 для дизассемблирования бинарника. Он показывает представление дерева классов. Даже объявление методов классов, но «Расширить методы» выдает ошибку, например «Блокировать счетчик операторов, равный 0, во время перевода условного выражения».

Затем я попытался использовать JustDecompile от Telerik (в бета-версии), он отлично работал для 1 из 10-15 сборок, которые у меня есть. А вот на другой сборке просто подскакивает в памяти до 1,5 Гб и зависает.

Есть ли другой стабильный декомпилятор, который я могу использовать для генерации кода C#?


person Munish Goyal    schedule 29.07.2011    source источник


Ответы (3)


Единственный известный мне другой — это IL Spy.

Вы должны сообщать об ошибках в Reflector ребятам из Red Gate.

person Justin    schedule 29.07.2011
comment
Спасибо. я сообщил. и пробовал ILSpy. Кажется, работает хорошо. 1 вещь, которую я заметил, это то, что он генерирует какой-то запутанный вложенный цикл while в начале каждого метода и свойства. Хотя в этом цикле есть разрыв, и он похож на NOP. while(true) { while(!true) {....} break; } :-) - person Munish Goyal; 29.07.2011

Циклы отсутствия операций, вероятно, были добавлены каким-то обфускатором.

person dsrbecky    schedule 30.07.2011

Основываясь на доступной информации, я полагаю, что вы можете использовать запутанную сборку.

Текущая бета-версия Telerik JustDecompile (2011.1.728.1) не поддерживает декомпиляцию запутанных сборок. Тем не менее, он очень эффективен при декомпиляции незапутанных сборок, а занимаемый им объем памяти уменьшается с каждым обновлением. Использование памяти, которое вы наблюдали, необычно. Если вы можете поделиться по электронной почте более подробной информацией об используемой вами сборке, мы постараемся воспроизвести и исправить этот конкретный случай (chris.eargle [at] telerik.com).

Между тем, если вы хотели бы видеть больше поддержки в будущих обновлениях JustDecompile для запутанных сборок, поделитесь своим мнением о JustDecompile UserVoice, чтобы другие могли проголосовать за идею: http://justdecompile.uservoice.com.

person kodefuguru    schedule 03.08.2011