Собственно вопрос, есть ли польза в изучении IDA Pro и реверсинга не для борьбы с вирусами или наоборот их создания, а для отладки программ. Поясню более подробно, я занимаюсь программированием на с++, java но вся отладка заключается в print-ах, распечатке exception, и в особа тяжелых случаях запуске встроенных дебагеров и раскрутке стека вызовов при ошибке. На данный момент для 3+ лет опыта это покрывает все мои запросы в дебаге с лихвой. Но человек растет растут вместе с ним и его знания в связи с этим вопрос стоит ли браться за изучение IDA что бы приобрести навыки более "виртуозной отладки приложений" и поиска багов. Или это я замечтался и IDA не поможет в этом вопросе, и мне так сказать по другому адресу.
Надо помнить, что ида не самый лучший отладчик. Для реверса агрегат номер один, но для отладки не два и даже не три. Просто потому что не очень удобно. И к тому же если не имеешь привычки воспринимать именно ассемблерный листинг программы, ничем тебе это не поможет в отладке своих приложений. Возможности декомпиляции при наличии отладочной информации тоже не пришей рукав. Только препятствий дополнительных создашь.
По существу для ТС. Не трать время. Для отладки своего софта не надо. Бэктрейс понимаешь что такое и этого достаточно для прикладного кодера (ну если багрепорт тебе отчеты о краше слать будет и чтоб ты понял где там и что).
как бы gdb вполне умеет дебажить сишный код (как и скажем питон и аду и другие языки), как и отладчик из студии... отлаживать оптимизированный код в принципе не правильно, если у тебя баг в релизе, но все работает как швейцарские часы в дебаге, то тут всего два варианта... первый - ты гавнокодер и не знаешь язык на достаточном уровне... второй - твой компиль гавно, тк из-за оптимизации меняется семантика кода... писать многопоточные приложения тож надо уметь и понимать консептв, не надо тут про многопоточность загонять...
M0rg0t, Популярный дби, раньше очень активно обсуждался к примеру на конфе r4. Так как мне это не интересно я этим не интересовался, так что не могу сказать. Думаю это наверно неплохо допилили до рабочего состояния.
Список заявленных архитектур там даже ширше чем у иды, кажется круто, пока дело не дойдет до выяснения какие это наборы инструкций. Плугины/скрипты есть (вроде как даже питон с нормальным апи есть), хорошая задумка базы хранить в виде скриптов (что-то вроде idc), количество команд такое, что его наверное годами можно изучать. Адресных пространств и указателей как я понял там нету, концепция такая что база-скрипт объявляет данные/код/перекрестные ссылки и это натягивается на бинарник. Штука интересная, можно было бы написать километр скриптов и попробовать попользоваться, но по архитектурам не дотягивает и общая задумка как это должно работать вызывает сомнения.
f13nd, Когда была активная фаза разработки этого, все это пытались использовать и считали каким то чудом, этот инструмент. Он мог графы отображать в гуе и тп. Но это было довольно давно. Даже если это хорошо допилено, то всё равно ничем вам не поможет. Такое не может работать на апп с защитой(не тот уровень), те протекторах, а иначе это не нужно.
Да там примерно такая же ситукция что и с идой. Делают в основном в направлении интела, остальное по остаточному принципу. Вероятно оно автоматом неплохо PE разберет (как и ида), шаг в сторону и садись пиши все сам, ничего там никому не надо. Шут бы с этими графами, я только xrefs to/xrefs from использую, это при желании можно сделать и самому, пройдясь по хрефам и вывалив .dot-файл (что ида и делает). Базовый функционал слабей иды. Верней то, что в иде базовый функционал, прога сильно по концепции отличается и наверное там много полезных штук, но там наверное должны понимать, что их публика это публика иды, можно было бы в общих чертах и повторить ее.
f13nd, Норм инструменты работают на низком уровне, они либо ядерные либо нэйтивные. Всякие скриптовые поделки норм выполняют работу и задачи, для которых созданы. Эти все иды с радарами годятся для статического анализа, причём самых простых апп. А сейчас всё накрыто протекторами. Там в динамике нужно разбирать. Это всё устарело есчо до разработки
При чем здесь казалось бы дизассемблеры. Программы, накрытые протекторами, это маленький плевок, плавающий в океане других программ, в том числе программ не для виндовс и программ, интерес к которым не только починить лицензионную защиту. Было бы смешно, если бы ида позиционировалась как сугубо крякерский инструмент, у крякеров есть неприятное свойство не платить за программы, поэтому целевая аудитория у иды другая.
f13nd, Так как ида поддерживает разные архитектуры, то используется как дизасм для контроллеров. Но по большей части для нт, в линуксах ничего не реверсят. Именно по этой причене эта ось всерьёз не воспринимается, допусти туда шарящего человека на анализ и пойдёт лента косяков и уязвимостей. Это кривое говно ставится на мобилки и прочие девайсы, только что бы как то работало.
неплохой дизасм... вроде внутрях использует кепстоун, который в свою очередь запилен на базе кода из ллвм... к сожалению пока нет хорошей гуишки и хорошего декомпиля в псевдоси или какое-то другое высокоуровневое представление... а так да, юзабельно... как альтернативу иде рекомендую еще ознакомиться с бинари ниндзей и коппером...