Программирование для .net

Aliens

Меня знают многие ;-)
#1
Интересуют моменты отладки и редактирование непосредственно уже скомпилированных программ для .net
Кто нибудь пишет на IL-коде и занимается его отладкой?
 

Ветер

Гость города
#2
[quote name='Diesell' timestamp='1348672644' post='527134']
Интересуют моменты отладки и редактирование непосредственно уже скомпилированных программ для .net
Кто нибудь пишет на IL-коде и занимается его отладкой?
[/quote]

Обычно загружаю сборки в Рефлектор, вынимаю код а его уже редактирую и потом пересобираю. Сам IL, имхо, не удобочитаем.
 

Ветер

Гость города
#4
[quote name='Diesell' timestamp='1348759958' post='527321']
Расскажи как делаешь? В чем пересобираешь?
[/quote]


Открываю сборку в Рефлекторе (File > Open Assembly)
Далее File > Export Assembly Source Code, или Ctrl + S.
Выбираю папку, в которую сохранить исходники, и жму Start.
Потом полученные исходники добавляю в новый проект Visual Studio (можно просто скопировать их в папку проекта, а потом в Solution Explorer'е выбрать все, что добавлено, и правым кликом сделать Include In Project)
В итоге в самой же Студии редактирую и компилирую полученный проект.


Еще вариант, если все-таки хочется редактировать напрямую IL, то в SDK консольные утилиты ildasm и ilasm - первая декомпилирует в IL (который можно поправить в любом текстовом редакторе вроде Notepad++), а вторая, соответственно, его наоборот собирает, в том числе и с изменениями.
 

skif

Житель центра
#5
[quote name='Diesell' timestamp='1348672644' post='527134']
Интересуют моменты отладки и редактирование непосредственно уже скомпилированных программ для .net
Кто нибудь пишет на IL-коде и занимается его отладкой?
[/quote]
В чем состоит исходная задача? Такое ощущение, что ты пытаешься получить нужный тебе результат не теми средствами.
Сделать чтобы 2х2 равнялось 100500 - сойдет, но на реверс индинеринге далеко не уедешь и рассматривать IL как полноценную платформу для разработки по меньшей мере наивно.
 

Aliens

Меня знают многие ;-)
#6
Интересуют инструменты ре-инжиниринга. Кроме рефлектора и плагина Reflexil может быть есть еще какие нибудь инструменты?
 

Ветер

Гость города
#7
[quote name='Diesell' timestamp='1348774568' post='527363']
Интересуют инструменты ре-инжиниринга. Кроме рефлектора и плагина Reflexil может быть есть еще какие нибудь инструменты?
[/quote]

Как уже упомянул выше, можно использовать ILDASM и ILASM, один из способов описан здесь:
http://blogs.msdn.co...rated-code.aspx
 

Aliens

Меня знают многие ;-)
#8
Посмотрел все что есть, в итоге пришлось рефлексил допилить о нужного функционала... Как говортся: хочешь что то хорошее - сделай это сам. :D
 

Ветер

Гость города
#9
[quote name='Diesell' timestamp='1349029904' post='527744']
Как говортся: хочешь что то хорошее - сделай это сам. :D
[/quote]

Тоже норм вариант.