Хочу стать реверс-инженером. Что изучать для этого?
Появилось огромное желание программировать (прошу, не пишите ничего на этот счёт, типа: да тебе это не надо и тп).
Посмотрел какие есть вообще направления. И вот оно. Ревёрсинг программ.
Ещё давно я видел сайт что-то в стиле crackme и там можно было скачать какую-то программу с формами входа, нужно было её взломать. Естественно, я не знаю как, но идея мне понравилась. Плюс, если я не ошибаюсь, в антивирусные компании требуются ревёрсеры.
Выходит, что вообще отлично! Можно будет устроиться куда-нибудь (я это к чему, я много слышу про веб и его распространение в виде вакансий, видел много про геймдев, энтерпрайз, но почему-то вакансий для антивирусных компаний я не видел).
Итак, нужен какой-то фундамент, чтобы в будущем меня не тормозило отсутствие его. Сейчас учу английский, школьную базу алгебры (на счёт геометрии не уверен, но скорее всего, тоже захвачу).
Что ещё нужно? Кто может подсказать приблизительный план изучения хотя бы в нескольких подробных пунктах, чтобы потом уже, пройдя этот путь, я уже сам мог понимать, что мне дальше нужно и как это изучать?
После школьной, какую дальше математику изучать? Или математику оставить на потом и заняться изучением программирования?
Мне 22 года. Надо торопиться, слишком много времени я потратил впустую ИМХО.
Вообще, наверное, реверс - это некая широкая площадка. Конкретно, я имею в виду написание какого-то антивирусного софта. Но для этого ведь и нужно реверсить те же самые вирусы? Думаю, да.
Жду ответов от всех, кто разбирается. Если Вы занимаетесь реверс-инженирингом - прекрасно.
Может быть вопрос немного размыт от незнания "внутренностей" данной области, если что, задавайте встречные вопросы, я отвечу.
Если Вы занимаетесь реверс-инженирингом - прекрасно.
Да.
Но реверс-инженеров чего именно вы хотите быть?
И зачем? Заработок? Там он эпизодический.
Хобби?
Простите что оскорблю, но если вы уже этим не занимаетесь, то уже все.
Реверс-инжениринг дело такое - что нужно самому доходить, своим умом. В этом и смысл.
phailo, чего именно? Я писал, что пока в этом не разбираюсь, не знаю, что там внутри, и что там конкретно ревёрсят.
Скорбить это ваше дело, я не сужу, но на меня это вряд ли как-то повлияет.
Артём Петренков, мне нравится сама идея. Хочу попробовать, почему нет?
Я и не искал целеноправленно вакансии, я лишь имел в виду, что по каким-то общим запросам типа: программист вакансии, или после просмотра какого-то количества видео про IT, мало упоминаний про обратную разработку, в отличие от других направлений, которые я уже перечислил.
И через сколько сотен лет ваше "хочу" превратится в "начал"?
Вы не созданы для этой профессии.
Вы не обладаете важнейшим (самым важнейшим для этой профессии) навыком - самостоятельные раскопки, разборы трудных ситуаций, в которых не поможет никто, кроме вашего мозга.
Чувак вот тебе ссылка на курс по реверсу https://cloud.mail.ru/public/4aGL/3EFRUMvq6/ преподаватель из лаборатории Касперского, я сам изучаю реверс но пока на этапе получение базовых знаний computer science и языка Ассемблера) И в добавок если не хочешь токсичных ответов лучше не задавать такого рода вопросы , это просто совет на будущее, тем более если ты заявляешь что хочешь быть исследователем)))
Для реверсинга PE файлов вам потребуются следующий минимум:
- Знание PE формата для реверсинга программ под Виндой;
- Знание формата ELF для реверсинга бинарей под линукс;
- Знание ассемблера;
- Умение использовать отладчики (напр. OllyDbg, WinDbg) и дизассемблеры (IDA Pro);
- Снятие пакеров всяких;
- Также стоит выучить С/С++;
- Много часов практики;
Практика:
- Практиковаться можно на crackme программах.
- Если надумаете в АВ индустрию реверсером пойти, то для практики нужно реверсить вирусню и разбирать что они там творят, в основном в АВ компаниях, реверсеры этим занимаются
Начни с Таненбаума.
Архитектура компьютера, Основы сети, Операционные системы.
Зубрить не нужно, просто общее понимание как что работает. Там хорошо все написано, хоть и нет новинок за последние лет 30 (rofl)
Потом краткое знакомство с софтом типа ollydbg, ida pro, вот это все.
Потом берешь простенький crackme и ковыряешь. Потом берешь посложнее, еще сложнее, и так далее. В процессе много гуглишь и задаешь вопросы.
hellow orld, как говаривал Дональд Шимода, "я буду брать мудрость там, где ее увижу". Я, как мне представляется, указал вам на важнейший аспект проблемы.
Вам тут, конечно, накидают рассказов про то, что надо учить ассемблер - но разве вы сами, хоть немного начав (деятельно!) интересоваться темой, не наткнетесь неизбежно на необходимость его изучения?
Хочешь стать мастером спорта, спроси мастера спорта. Можно и другой путь выбрать, но по мне, лучше и быстрее спросить знающих людей, чем, ошибаясь, прорываться самому. Возможность то есть.
А вместо того, чтобы что-то дельное подсказать, как мне видится, вы просто тролите.
hellow orld, "Хочешь стать мастером спорта, спроси мастера спорта."
По той же логике получается, что если хочешь стать богатым, то надо спросить богатого?
Билла Гейтса, Цукерберга, Брина, Безоса, Брэнсона и прочих людей спрашивали как стать богатым, она давали кучу советов и писали книги... И что? Много читателей стали богатыми?
Да и сам Гейтс вряд ли кого-то спрашивал. Он просто вкалывал.
Так и здесь. Не спрашивай, а вкалывай. И собственные ошибки просто должны быть. Если их не будет, то ты что-то делаешь не так и не туда движешься.
bask, корень проблемы именно в том, что ТС не движется. Он просто хочет результата.
Если хочешь стать мастером в беге, надо не спрашивать мастера по бегу, как именно бегать. Надо спрашивать, правильно ли ты бегаешь. Потому что то, что ты бегаешь постоянно, подразумевается само по себе. А вот если бегать не особенно интересно, просто хочется стать мастером... нет, можно и с мастером потрепаться...
hellow orld, вам не подойдет эта профессия.
"прорываться самому" - это ключевое требование.
Самым важным качеством, которым должен обладать взломщик - это умение работать самостоятельно и искать выходы из безвыходных ситуаций.
Это очень тяжёлая работа, тербующая колоссальной концентрации и умения анализировать информацию.
Вы - что совершенно очевидно из самой постановки вопроса - этим качеством не обладаете. Поищите себе более простое занятие, скажем, HTML/CSS верстка. Ей вполне можно научиться, задавая вопросы на форумах
FanatPHP, не будем так буквально переводить "hacker". Реверс-инжиниринг вовсе не обязательно означает что-то противоправное. Например, программистам иногда требуется разобраться в файлах недокументированного формата, чтобы написать конвертер. Или заменить "черный ящик" библиотеки, которая под новой версией ОС не работает, а автор и исходники недоступны. Это все тоже реверс-инжиниринг.
Однако соглашусь в том, что в этой работе не приходится надеяться на интернет. Только собственная голова и воля биться лбом в эту стенку, пока не пробьешь. Обычное программирование не в пример проще. Всеми этими байтиками нужно жить и дышать, чтобы иметь мотивацию, достаточную для наработки хоть какого-нибудь опыта в этой сфере.
Хочешь стать мастером спорта, спроси мастера спорта
Да нет же.
Хочешь быть мастером спорта - начинай уже бегать, отжиматься и пр. и пр.
Выясняй про спорт из открытых источников.
А только потом, подготовившись хоть немножко, получив простейшую базу - спрашивай мастера, а правильно ли ты это делаешь. Может есть методики получше.
Вам верно обозначили проблему - "реверс-инжиниринг" это навык раскапывания. Вы же все "собираетесь начать".
чем "Выясняй про спорт из открытых источников." отличается от "спросить у мастера спорта"? Первое даже вреднее.
Без базы вопрошающий просто не поймет ответа.
Ну вот как и в нашем примере.
Ему все талдычат одно и то же - ни в какую не понимает.
Нужно иметь какой-то минимальный базовый опыт, чтобы уже разговаривать на более-менее одном языке с мастером.
stul5tul, с чего вы взяли, что я что-то не понял? Потому что игнорирую ваши комментарии?
Заметьте, беседа изначально было не с вами, а с товарищем Adamos.
Вы, конечно же, имеете право оставлять любые комментарии, но отвечать на них я не буду.
Я задал вопрос, на который хотел бы получить ответ, и только три человека ответили (Adamos тоже в счёт, пусть и немного не о том, но ВСЁ ЖЕ о нужном), я им благодарен.
Вот мне интересно, вам всем тут просто пообщаться не с кем? Форумные терпилы, которые дают предсказания? Зачем вы все пишите то, что хотите? Ну серьёзно, никто не просил же.
И это не просто отречение от ваших "полезных" и "мудрых" наставлений в силу моей якобы тупости. Нет. Просто это не нужно. Не то, что в заголовке темы. Мусор приходится фильтровать. Извините уж. Отписал так, ради того, чтобы кто-нибудь из вас задумался. Надеюсь дойдёт. Мира, господа.
hellow orld,
- Пгостите, это памятник Сувогову?
- Ага, "СувоГову".
- Ой, таки шо ви мене подгажаете? Ви бы ЕМУ подгажали...
Так вот, не обидами бы вам заниматься...
Вас оскорбили? Мало. Вас бы хорошенько смешать с говнищем и поставить скипидарную клизму. Если, конечно, ваша цель действительно - наверстать упущенное время и стать хоть каким-нибудь компьютерным специалистом.
Впрочем, если вас больше волнует, кто на вас как посмотрел - ну что ж...