Рассмотрение входящий в инженерный анализ / дизассемблирование

Принятие достойного понимания блока на общих архитектурах ЦП (например: x86), как можно исследовать потенциальный путь (карьера, забава и прибыль, и т.д.) в поле инженерного анализа? Существуют так мало образовательные руководства там, таким образом, трудно понять то, что использует потенциал, это имеет сегодня (например: поиск использования переполнения буфера все еще распространен, или программы мониторинга стека делают этот obselete?). Я не ищу пошаговой программы, просто немного релевантной информации, такой как подсказки относительно того, как эффективно найти определенную область программы. Основные вещи в торговле. А также что это в настоящее время используется на сегодняшний день.

Таким образом для резюме, к чему текущее использование инженерный анализ приводит сегодня? И как можно найти некоторую основную информацию о том, как изучить торговлю (снова, это не должно быть пошаговым, просто ничто, что может через подсказку быть полезным).

18
задан Zombies 3 May 2010 в 13:59
поделиться

5 ответов

Главный из них, о котором я знаю, как уже говорилось, связан с вредоносным ПО. Одна из основных задач исследователей, работающих на компании-сканеры, - взять образец и отладить его в лаборатории или виртуальной среде.

Кроме того, существует множество областей, связанных с безопасностью, в которых используется обратная разработка/разборка. Компьютерная криминалистика - это область, в которой вы, возможно, захотите разобраться. Конфискованный компьютер может содержать программы управления (но без исходного кода) для различных видов деятельности (командно-управляющий ботнет, программы DoS-атак и т.д.). Обычно гораздо проще обойти схемы защиты данных путем обратной разработки программы защиты, а не подбора пароля или ключа.

DRM/защита безопасности как в аппаратном, так и в программном обеспечении - это большая область реинжиниринга. Обратите внимание, что это может быть с любой "стороны" вопроса (и закона). Рассмотрим программы копирования DVD, снятие защиты, возможность воспроизведения музыки iTunes на других устройствах, возможность запуска домашних программ на Wii, распараллеливание сетки PS3, разблокировку iPhone и т.д. и т.п. Очевидно, что существует также множество нелегальных возможностей (реинжиниринг таймера игрового автомата, аутентификация банкомата и т.д.).

Преобразование унаследованных программ - это огромная возможность во многих областях, особенно в правительстве, финансах, производстве и т.д. Существуют критически важные программы, которые работали в течение 30 лет на древнем мейнфрейме или миникомпьютере, исходного кода которых ни у кого нет. Командам приходится проводить реинжиниринг программы, чтобы преобразовать ее в нечто более новое".

Другие предложения об изучении учебников по Win32 - замечательные. Также, к сожалению, некоторые из лучших опубликованных работ будут посвящены взлому (игр). Наберите в поисковике, и там есть несколько учебников, которые показывают основы. В классе, который я посещал, использовалась книга "Искусство исследования и защиты от компьютерных вирусов" Питера Сзора, но в ней больше внимания уделялось идеям вредоносного ПО, а не точной части разборки.

В зависимости от того, какой путь вы выберете, вам понадобится опыт в других областях, но знание ассемблера будет вашим самым важным навыком. Не только с точки зрения "я понимаю, что этот код в основном делает" - вы должны уметь писать материал с нуля и точно понимать, что делает данный фрагмент кода, а также понимать, как можно написать тот же самый код. Сборка (кодирование) включает в себя поиск одного решения проблемы и его кодирование. Разборка предполагает выяснение того, какое из множества разнообразных решений было использовано изначально для решения проблемы - гораздо сложнее ;)

.
14
ответ дан 30 November 2019 в 08:26
поделиться

Я читал, что обратный инжиниринг используется в области безопасности для понимания внутренней работы вредоносных программ и троянов (не уверен насчет вирусов). Статьи о реверс-инжиниринге, используемом в сфере безопасности, можно найти на www.openrce.org.

Также обратный инжиниринг не всегда подразумевает разборку. Для приложений, написанных на таких языках, как Java или C#, декомпиляторы обычно дают больше информации о коде, чем дизассемблеры.

Поскольку мой личный интерес заключается в реверс-инжиниринге Win32, я могу объяснить свое мнение только для этой конкретной ОС. Тогда не могу помочь вам в реверс-инжиниринге Linux :(

Я считаю бесплатную версию IDA Pro 4.9 отличным дизассемблером. Он определяет системные библиотеки, что позволяет не тратить время на ковыряние в ненужных местах :) В сочетании с отладчиком вроде OllyDbg, вы будете готовы взяться за большинство проектов реверсинга для Win32.

Если вы пойдете по пути Win32, вам в конечном итоге понадобится понять структуру PE, возможно, распаковку и прочее, но сейчас главное - понять ассемблер x86. Разобранный код приложений Win32 относительно легко понять, если вы занимались кодированием Win32 API на таких языках, как C.

Чтобы лучше понять 32-битный ассемблер, либо разберите свои собственные приложения и посмотрите, как ваш исходный код соответствует результату разборки, либо научитесь кодировать приложения Win32 API на языке ассемблера с помощью учебников Iczelion по Win32 Assembly.

5
ответ дан 30 November 2019 в 08:26
поделиться

Одним из самых больших потенциальных применений я вижу проект вроде samba (http://www.samba.org/)

Всегда будут существовать закрытые проприетарные системы вроде этих, и нам всегда нужны инженеры для их реверсирования, чтобы другие тоже могли их использовать.

2
ответ дан 30 November 2019 в 08:26
поделиться

Нынешний сопровождающий FFMpeg начал свою работу с обратной разработки видеокодеков, чтобы заставить видео работать в Linux. Его блог довольно интересен, и у него есть недавняя запись, в которой он говорит о книге, которую он хотел бы иметь, когда начинал.

3
ответ дан 30 November 2019 в 08:26
поделиться

Существует книга "Реверсирование: Секреты реверсивной инженерии", авторы Эльдад Эйлам, Эллиот Чикофски. mybe helpfull four you

2
ответ дан 30 November 2019 в 08:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: