powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Какие есть путевые C#-дизассемблеры, помимо штатного ILDASM ?
12 сообщений из 12, страница 1 из 1
Какие есть путевые C#-дизассемблеры, помимо штатного ILDASM ?
    #32725171
Mr.Buba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
subj
...
Рейтинг: 0 / 0
Какие есть путевые C#-дизассемблеры, помимо штатного ILDASM ?
    #32725333
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anakrino
поднимает текст программы до C# (не всегда корректно, но посмотреть "как сделано" - очень помогает)
...
Рейтинг: 0 / 0
Какие есть путевые C#-дизассемблеры, помимо штатного ILDASM ?
    #32725357
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот пример:

исходный текст программы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
[STAThread]
static void Main(string[] args)
{
  try
  {
    string[] fs=Directory.GetFiles(@"C:\", "*.*");
    ArrayList fa=new ArrayList();
    for(int i=0; i<fs.Length; i++)
    {
      string fl=Path.GetFileName(fs[i]);
      fa.Add(fl);
    }
  }
  catch(Exception ex)
  { string er=ex.ToString();
    int xxx=0;
  }
}

текст программы, восстановленный Anakrino из exe файла
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
[STAThread]
private static void Main(string[] args) {
	string[] local0;
	ArrayList local1;
	int local2;
	string local3;
	Exception local4;
	string local5;
	int local6;

	try {
		local0 = Directory.GetFiles("C:\\", "*.*");
		local1 = new ArrayList();
		local2 = 0;
		while (local2 < (int) local0.Length) {
			local3 = Path.GetFileName(local0[local2]);
			local1.Add(local3);
			local2++;
		}
	}
	catch (Exception local4) {
		local5 = local4.ToString();
		local6 = 0;
	}
}
...
Рейтинг: 0 / 0
Какие есть путевые C#-дизассемблеры, помимо штатного ILDASM ?
    #32725366
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понимаю, это не совсем дизассемблер?
...
Рейтинг: 0 / 0
Какие есть путевые C#-дизассемблеры, помимо штатного ILDASM ?
    #32725372
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или это и нужно было?
...
Рейтинг: 0 / 0
Какие есть путевые C#-дизассемблеры, помимо штатного ILDASM ?
    #32725390
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 hDrummer
это не совсем дизассемблер

в буквальном понимании - нет. это скорее "средство анализа"
а вот то ли это, что требуется - Mr.Buba здесь арбитр - всё зависит от того, что он понимает под "путёвые дизассемблеры".
...
Рейтинг: 0 / 0
Какие есть путевые C#-дизассемблеры, помимо штатного ILDASM ?
    #32725416
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот и я хотел бы уточнить :)
...
Рейтинг: 0 / 0
Какие есть путевые C#-дизассемблеры, помимо штатного ILDASM ?
    #32725433
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе вот ещё толковая вещь есть

http://www.remotesoft.com/salamander
...
Рейтинг: 0 / 0
Какие есть путевые C#-дизассемблеры, помимо штатного ILDASM ?
    #32725495
Mr.Buba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кузя2 hDrummer
это не совсем дизассемблер

в буквальном понимании - нет. это скорее "средство анализа"
а вот то ли это, что требуется - Mr.Buba здесь арбитр - всё зависит от того, что он понимает под "путёвые дизассемблеры".

да все просто, случайно пофиксили исходники ВедСервиса, восстанавливать его с нуля это неделя работы, вот и хотелось бы восстановить хоть какой нибудь код с рабочей версии. Поэтому требуется путевый "дисассемблер" (понятно что для C# это не совсем корректное определение потому как он не генерит ассемблерный код). Я пробовал IDA.Pro и IL DASM, все это чешуя, т.к. приходится долго разбираться в его листинге. Вот.

Для Java, например, есть очень путевый "дисассемблер" - FrontEnd (это я к примеру).
...
Рейтинг: 0 / 0
Какие есть путевые C#-дизассемблеры, помимо штатного ILDASM ?
    #32725505
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь ясно.
...
Рейтинг: 0 / 0
Какие есть путевые C#-дизассемблеры, помимо штатного ILDASM ?
    #32726077
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот еще один продукт
Reflector for .NET

тот же пример, что и выше ("десишарпизация" из exe сборки) - значительно ближе к оригиналу
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
[STAThread]
private static void Main(string[] args)
{
      try
      {
            string[] textArray1 = Directory.GetFiles(@"C:\", "*.*");
            ArrayList list1 = new ArrayList();
            for (int num2 = 0; num2 < textArray1.Length; num2++)
            {
                  string text3 = Path.GetFileName(textArray1[num2]);
                  list1.Add(text3);
            }
      }
      catch (Exception exception1)
      {
            string text4 = exception1.ToString();
            int num3 = 0;
      }
}
...
Рейтинг: 0 / 0
Какие есть путевые C#-дизассемблеры, помимо штатного ILDASM ?
    #32726265
Фотография nex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кузявот еще один продукт
Reflector for .NET


Reflector - штука хорошая. Я с его помощью восстанавливал здоровые куски кода проги примерно в 90K строк. Самая новая версия сорсов ушла в /dev/null вместе с моим harddisk-ом, остались только старые бэкапы и новые dll-ки на тестовом серваке:). Вот я по ним и восстанавливал. Теперь делаю бэкап часто! :-)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Какие есть путевые C#-дизассемблеры, помимо штатного ILDASM ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]