Нужен небольшой сампл как использовать ILReader.dll, как получить дизассемдлированный листинг при помощи него.
Еще кстати такой вопросик, а может ли ILReader выводить значения опкодов ?
Буду очень признателен за помощь.
Здравствуйте, a_x_l, Вы писали:
__>Нужен небольшой сампл как использовать ILReader.dll, как получить дизассемдлированный листинг при помощи него. __>Еще кстати такой вопросик, а может ли ILReader выводить значения опкодов ? __>Буду очень признателен за помощь.
См \Commands\MSILFormatter.cs — это форматтер вывода MSIL правда недоделанный но принципы понять можно (кстати можно доделать )
используется класс Phoenix.Reflection.AssemblyProvider
вот так например:
{
using Phoenix.Reflection;
class Test
{
void DimpAssembly()
{
AssemblyProvider asmProv = new AssemblyProvider();
IAssembly asm = asmProv.Load("c:\....");
// далее скачеш по типам в сборке и натравливаеш форматтерforeach (IType tp in asm.GetTypes())
{
MSILFormatter fmt = new MSILFormatter();
fmt.WriteClass(type);
string dump = fmt.ToString();
}
}
}
}
Спасибо за помощь. Да желание приобщиться к чему то большому и светлому ввиде вашего есть, боюсь только знаний пока нехватает .
Если вдруг добавлю какой полезный код, сразу пришлю .
Кстати такой вопрос, а проект то вообще развивается дальше, а то на фороме тишина, да и вообщем то описание уже совсем не отражает действительность.
И вопросик по приведенному выше вами коду, у меня он не компилится (только сильно не пинайте за этот вопрос) пишет:
на строку
AssemblyProvider asmProv = new AssemblyProvider();
следующее
No overload for method 'AssemblyProvider' takes '0' arguments
и на эту строку
fmt.WriteClass(type);
следующее
The name 'type' does not exist in the current context
Здравствуйте, a_x_l, Вы писали:
__>Спасибо за помощь. Да желание приобщиться к чему то большому и светлому ввиде вашего есть, боюсь только знаний пока нехватает . __>Если вдруг добавлю какой полезный код, сразу пришлю .
__>Кстати такой вопрос, а проект то вообще развивается дальше, а то на фороме тишина, да и вообщем то описание уже совсем не отражает __> действительность.
Очень медленно — занятость практически постоянная — рук не хватает
ПРошу прощения, писал с ходу так что все может быть M>
M>{
M> using Phoenix.Reflection;
M> class Test
M> {
M> void DimpAssembly()
M> {
M> AssemblyProvider asmProv = new AssemblyProvider(null);
M> IAssembly asm = asmProv.Load("c:\....");
M> // далее скачеш по типам в сборке и натравливаеш форматтер
M> foreach (IType tp in asm.GetTypes())
M> {
M> MSILFormatter fmt = new MSILFormatter();
M> fmt.WriteClass(tp);
M> string dump = fmt.ToString();
M> }
M> }
M> }
M>}
M>
Здравствуйте, a_x_l, Вы писали:
__>Не планируется добавление функционала для анализа (частичного деобфусцирования) обфусцированных сборок ?
По деобсфукации глянь сюда Deobfusticator
Здравствуйте, a_x_l, Вы писали:
__>Спасибо большое, уже скачал себе этот код __>А может есть еще какие-нибудь интересные ссылки по этой теме
Разве что название полезной книги Re[8]: Декомпилятор на ЯФП как задачка для изучения ФП