Больше программ — в полном каталоге курсов по Reverse Engineering
Смежная область — кибербезопасность: там тоже востребованы специалисты с навыками анализа кода.

Но иногда представители Reverse Engineering идут криминальным путем, ломая и выкладывая бесплатно лицензионный софт, выпуская различные keygen (генератор ключей), модифицируя популярные программы так, чтобы они вредили пользователям и т. п. Естественно, за такую деятельность их можно привлечь к административной и уголовной ответственности, так что заниматься нарушением авторских прав и нанесением вреда другим людям настоятельно не рекомендую.
В общем, здесь та же ситуация, что и со специалистами по кибербезопасности, которые могут своей работой нести и пользу, и вред людям. Хотя за принесение пользы реверс-инженерам хорошо платят, так что на стороне хороших быть не просто приятно, но еще и очень выгодно!
Что нужно знать и уметь?
- В первую очередь нужно познакомиться с языковым семейством Ассемблер (assembler).
- Затем требуется освоить внутреннее устройство популярных операционных систем. Ну, или хотя бы досконально выучить, как работает Windows.
- В обязательном порядке необходимо освоить системное программирование, отличительной чертой которого выступает создание софта, взаимодействующего с компьютерным «железом».
- Выработать навыки обратной разработки программ.
- Знать особенности x86/x86-64 и ARM-архитектуры.
- Уметь работать с дизассемблерами (IDA Pro).
- Полезно овладеть C# и Python.

По поводу того, что нужно уметь, хочется привести слова Михаила Филиппова, реверс-инженера из российской частной компании Parallels, занимающейся созданием софта: «Тут дело не в каких-то тайных знаниях. Даже профильное IT-образование тут не нужно, достаточно пройти базовые курсы. Все дело в личности инженера, которого должен увлекать процесс освоения новых знаний. Сильнейшими сторонами реверс-инженера выступают: внимательное отношение к деталям, способность отыскать неочевидные причинно-следственные связи и развитое воображение, позволяющее воссоздать целиком даже очень сложные системы».
Какими личностными качествами нужно обладать?
Реверс-инженер – это человек, который постоянно что-то ищет, исследует и чему-то учится. Будьте готовы к тому, что с каждым новым заданием вам придется узнавать что-то новое о работе машин и программ. Поэтому эта профессия для людей, готовых оставаться вечными студентами, которые не довольствуются достигнутым и способны по 40 часов в неделю рассматривать строки кода.
В общем, нужно иметь:
- математический склад ума;
- развитое логическое мышление;
- усидчивость;
- высокую работоспособность;
- желание неустанно развиваться.

Разговор о личностных качествах хочу подытожить словами Михаила Жданова, еще одного реверс-инженера из Parallels: «Если вас тянет изучать каждую новую фичу, ковырять программы, разбирать форматы их файлов, пытаться взломать новую игрушку, написав для нее бота или чит, то это ваше. Если же не ощущаете в себе такой тяги, то никакое обучение вам не поможет. В Reverse Engineering от вас требуется страсть к тому, что вы делаете, и большой запас терпения!»
Где и кем можно работать?
У реверс-инженеров несколько очевидных путей, по которым можно пойти:
- податься в одну из антивирусных компаний, чтобы бороться с вредоносными программами (malware);
- пойти в сферу промышленной безопасности, где происходит поиск уязвимостей, реверс используемых корпоративных протоколов, прошивок;
- устроиться на работу в спецотдел какой-то компании по разработке ПО, где нужно исследовать степень защищенности выпускаемых программных продуктов;
- достичь мастерства и зарабатывать участием в Bug Bounty, выступлением на digital-конференциях, преподаванием.
Преимущества и недостатки профессии Реверс инженера
- удовлетворение от решения нестандартных задач ничем не описать;
- довольно высокий уровень оплаты труда, даже для новичков без большого опыта.
- работа требует усидчивости и способности подолгу концентрироваться на рутинных задачах;
- основные работодатели сосредоточены в городах-миллионниках.
Сколько зарабатывают реверс-инженеры
По данным hh.ru, зарплата реверс-инженера в России:
- начинающий специалист — от 100 000 ₽;
- уверенный специалист с опытом 2–3 года — 150–250 000 ₽;
- senior-инженер в Москве и СПб — 300–500 000 ₽.
Реверс-инженерия — одна из немногих IT-специальностей, где даже джуниор-уровень оплачивается выше среднего по рынку: спрос на специалистов стабильно превышает предложение.
Ищете обзор инженерной профессии? Разложили все 12 направлений инженерии в одной таблице — зарплаты, софт, маршруты входа через вуз, колледж или переподготовку за 8-12 месяцев.
Как стать реверс-инженером?
Вариантов ответа на этот вопрос два:
- Первый состоит в том, чтобы получить классическое IT-образование в вузе. Отдельной специальности Reverse Engineering там нет, но можно подобрать что-нибудь очень близкое к ней. Только вот делать этого не стоит, т. к. учеба в наших вузах – это долго, дорого и малоэффективно.
- Если хотите сэкономить кучу денег и времени, то лучше записаться на → специальные курсы, где успешные реверс-инженеры не только научат всему необходимому, но также поделятся бесценным опытом и позволят поработать над проектами, которые не стыдно сразу добавить в свое портфолио.
Больше программ — в полном каталоге курсов по Reverse Engineering




