А какие есть отладчики программ, написанных для дотнета, если нет исходников этих программ, а есть только бинарник?
Что-то типа SoftICE (кто помнит) или OllyDbg.
Никогда этим не занимался, но тут потребовалось, возможно есть шанс разобраться сходу с одним вопросом. Не получится — фиг с ним, но шанс хочется проверить.
Навскидку нужно: запуск под отладчиком бинарника, навигация по коду, ставить точки останова, поиск строк в загруженном бинарнике.
Здравствуйте, x-code, Вы писали: XC>А какие есть отладчики программ, написанных для дотнета, если нет исходников этих программ, а есть только бинарник?
Может тебе нужен все-таки декомпилятор? Если код не обфусцировали то вполне себе читаемо. Ну и там же не бинарник, там IL код.
XC>Что-то типа SoftICE (кто помнит) или OllyDbg.
VS может.
Всё, что нас не убивает, ещё горько об этом пожалеет.
Здравствуйте, x-code, Вы писали:
XC>А какие есть отладчики программ, написанных для дотнета, если нет исходников этих программ, а есть только бинарник? XC>Навскидку нужно: запуск под отладчиком бинарника, навигация по коду, ставить точки останова, поиск строк в загруженном бинарнике. dnSpy может подойти
Здравствуйте, Ромашка, Вы писали:
Р>Может тебе нужен все-таки декомпилятор? Если код не обфусцировали то вполне себе читаемо. Ну и там же не бинарник, там IL код.
Последняя IDA не смогла декомпилировать, вываливается множество непонятных сообщений об ошибках. Скорее всего код обфусцирован.
Кстати, а есть какие-то анализаторы, которые могли бы определить обфускацию и запаковку кода?
Здравствуйте, x-code, Вы писали: XC>Последняя IDA не смогла декомпилировать, вываливается множество непонятных сообщений об ошибках. Скорее всего код обфусцирован.
Это как стрелять из пушки по воробью, а потом жаловаться что от воробья ничего для изучения не осталось.
Поставь VisualStudio и посмотри что там внутри.
XC>Кстати, а есть какие-то анализаторы, которые могли бы определить обфускацию и запаковку кода?
Да это просто видно. Если у тебя не получится читаемого кода то да, обфусцировали.
Всё, что нас не убивает, ещё горько об этом пожалеет.
Здравствуйте, Xander Zerge, Вы писали:
XZ>dnSpy может подойти
Данная прога помогла, спасибо.
Бинарник конечно оказался обфусцированный (и судя по всему, dnSpy не умеет показывать локальные переменные в методах обфусцированных классов), но к счастью dll (тоже дотнетовская сборка), которая нужна софтине, оказалась необфусцированная. Поставил там точку останова и увидел то что хотел.
Здравствуйте, x-code, Вы писали:
XC>А какие есть отладчики программ, написанных для дотнета, если нет исходников этих программ, а есть только бинарник?
Тебе нужны dotPeak и связка WinDbg+SOS. Ещё пригодится SOSex и Netex. Посмотреть msil можно и с помощью ildasm.
Если сборка только с .net и на подпись плевать, то можно пойти таким путём: декомпилить с помощью dotPeak, пересобрать а потом дебажить как обычно.
Если на подпись не плевать, то придётся смотреть в dotPeak и параллельно дебажить с помощью WinDbg+SOS.
Да, муторно, но реально: понять что делается внутри можно.
Всё сказанное выше — личное мнение, если не указано обратное.