Подтвердить что ты не робот

Принимая во внимание обратное проектирование/разборку

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

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

4b9b3361

Ответ 1

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

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

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

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

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

В зависимости от того, какой маршрут вы возьмете, вам понадобятся фоны в других вещах, но знание сборки будет вашим самым критическим навыком. Не только с точки зрения "Я понимаю, что этот код делает в основном", вы должны иметь возможность писать вещи с нуля и точно понимать, что делает данный бит кода, и понимать другие способы написания того же кода. Сборка (кодирование) включает в себя определение одного решения проблемы и ее кодирование. Демонтаж включает в себя выяснение, какое из множества разнообразных решений было изначально использовано для решения проблемы - БОЛЬШЕ сложнее;)

Ответ 2

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

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

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

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

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

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

Ответ 4

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

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

Ответ 5

Есть книга "Реверсирование: секреты обратной инженерии", написанная Эльдадом Эйламом, Эллиот Чикофски  mybe helpfull four you

Ответ 6

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