Обращаюсь к присутствующим на форуме профессиональным реверсерам (если таковые есть).
Я хочу попробовать себя в области дизассемблирования ПО (не хакинг), с целью получить работу в этой сфере.
Подскажите, плиз, с чего начать новичку? Есть ли какие-то фирмы, которые возьмут junior'а, или какие-то проекты на которых можно было бы поучиться за минимальную плату(или даже бесплатно), но так, чтобы в дальнейшем этот опыт пригодился? В каком направлении копать (дизассемблирование вирусов, патчей, алгоритмов и т.д.), что полезно почитать?
Здравствуйте, Orister, Вы писали:
O>Доброго времени суток!
приветствую! похоже в нашем полку реверсеров прибыло. как говорится, welcome!
O>Обращаюсь к присутствующим на форуме профессиональным реверсерам (если таковые есть).
это смотря кого считать профессиональным реверсером. вот я по контракту сеньер реверс инженер, а по факту приходится заниматься в основном r&d, хотя ida и hiew для меня это как левая и правая рука
O>Я хочу попробовать себя в области дизассемблирования ПО (не хакинг), с целью получить работу в этой сфере.
тут нужно внесни одно очень небольшое, но крайне существнное уточнее. реверсинг в чистом виде это вирусный аналитик, да и у того дизассемблирование занимает где-то в лучшем случае до 70% времени, не говоря уже о том, что дизассмить вирусы на потоке безумно скучно, если при этом не придумывать новых методов детектирования например или не писать тулз для автоматизации своей деятельности. но это так сказать "низший пилотаж" без перспектив карьерного роста.
дизассемблированием занимается намного больше фирм, чем это кажется на первый взгляд. вот в частности, бывшее ROVI (бывший криптограф ресерч) защищает блю-рэй диски и дизасмит хакерские копировщики, которые ломают защиту.
ACE LAB, занимающаяся восстановлением убитых винтов, дизасит их прошивки, что настолько же сложно, насколько и интересно.
ес-но этой парой фирм список не ограничивается, а только открывается
O>Подскажите, плиз, с чего начать новичку?
с подтягивая своих скилзов, наверное. это можно делать и самому, а можно и устроившись на фирме. у каждого пути есть свои плюсы и минусы. когда ты сам, то у тебя полно времени, чтобы изучать различные аспекты дизасма, углублять и шлифовать знания, опыт и навыки. на фирме же скорее всего придется выполнять рутиную работу. правда, общение с коллегами ускорит обучение в десятки раз, но... бегать придется по кругу. скажем, антивирусная контора навряд ли попросит тебя распотрошить прошику от харда, а фирма по восстановлению хардов навряд ли заинтересуется в анализе заплаток безопасности.
а вот если ты фрилансер, то можно успевать и то, и это, и еще многое другое, а по ходу дела смотреть, что у тебя лучше всего получается.
> Есть ли какие-то фирмы, которые возьмут junior'а,
читая курсы по дизассемблированию, я встречался с очень большим количеством людей, среди которых было много таких что умнении и опытнее меня, так что у нас очень интересные обсуждения иной раз получались. но есть и такие, которые конструкцию call l1/pop esi разобрать с ходу не могут и долго над ней думают, да и вообще не врубаются в концепт. и ведь работают... потому как за неименем других.
> или какие-то проекты на которых можно было бы поучиться за минимальную плату(или даже бесплатно),
линукоиды очень много чего дизассемблируют. да и не только они... на IDA-pro есть коммунити. на openrce.org тоже. там можно примкнуть к какому-нибудь проекту с пользой для себя и окружающих.
> В каком направлении копать (дизассемблирование вирусов, патчей, алгоритмов и т.д.)
зависит от того, что тебе интересно и где ты собираешься работать. на начальном этапе стоит пробовать и прервое, и второе, и третье.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Здравствуйте, Orister, Вы писали:
O>Доброго времени суток!
O>Обращаюсь к присутствующим на форуме профессиональным реверсерам (если таковые есть). O>Я хочу попробовать себя в области дизассемблирования ПО (не хакинг), с целью получить работу в этой сфере.
CRACKL@B приветствует тебя на своих страницах. То что ты оказался здесь не случайность — ты пришел сюда, чтобы стать профессионалом и выполнять почетную миссию крэкера. Мы приготовили для тебя море необходимой информации, всё что тебе может понадобиться уже здесь есть. Тебе нужно только время и желание, чтобы стать одним из нас — стать крэкером.
O>Я хочу попробовать себя в области дизассемблирования ПО (не хакинг), с целью получить работу в этой сфере.
На мыщьх'а что ли насмотрелся? А ну его... Ищи лучше что тебе по душе, мода приходит и уходит, а душевное равновесие оказывается в итоге важнее лично для тебя ;) Удачи!
Здравствуйте, Orister, Вы писали:
O>Я хочу попробовать себя в области дизассемблирования ПО (не хакинг), с целью получить работу в этой сфере.
Если цель — работа, то вряд ли она оправдывает средства — долбание F8 с утра до вечера.
O>Подскажите, плиз, с чего начать новичку?
Это зависит от имеющейся базы. Для начала следует понять, что RE — на самом деле методика проектирования. Дизасемблирование даже в случае с RCE это 5% работы.
O> Есть ли какие-то фирмы, которые возьмут junior'а, или какие-то проекты на которых можно было бы поучиться за минимальную плату(или даже бесплатно), но так, чтобы в дальнейшем этот опыт пригодился?
Не думаю что кто-то будет учить. Дело в том, что если в других отрослях обычно достаточно знать где лежат грабли, то в данном случае важно выработать умение уворачиваться
Если ты умеешь читать дизассемблерные листинги и понимать чужой код — значит ты в теме. При необходимости подтягиваешь предметную область, знание применяемых паттернов экономит время. Иначе хз...
O> В каком направлении копать (дизассемблирование вирусов, патчей, алгоритмов и т.д.),
Нет разницы, это всё одно и то же.
O> что полезно почитать?
"Алгоритмические трюки" Уоррена. Если же более серьёзно, то умение находить ответы на подобные вопросы — базовое качество, без которого дальше делать нечего.
.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Здравствуйте, мыщъх, Вы писали:
М>Здравствуйте, Orister, Вы писали:
O>>Доброго времени суток! М>приветствую! похоже в нашем полку реверсеров прибыло. как говорится, welcome!
O>>Обращаюсь к присутствующим на форуме профессиональным реверсерам (если таковые есть). М>это смотря кого считать профессиональным реверсером. вот я по контракту сеньер реверс инженер
Это очередной твой глюк. Поверь, не может Панда проглашать чела из Макафи (их прямого конкурента) без НДА и водить его по этажам. Просто ты перебрал опять.
Здравствуйте, shrecher, Вы писали:
S>Это очередной твой глюк. Поверь, не может Панда проглашать чела из Макафи (их прямого конкурента) без НДА и водить его по этажам. Просто ты перебрал опять.
В какой пост не зайдёшь — странное ощущение дежа вю: одни и те де фразы от одних и тех же
Здравствуйте, Orister, Вы писали:
O>Доброго времени суток!
O>Обращаюсь к присутствующим на форуме профессиональным реверсерам (если таковые есть). O>Я хочу попробовать себя в области дизассемблирования ПО (не хакинг), с целью получить работу в этой сфере. O>Подскажите, плиз, с чего начать новичку? Есть ли какие-то фирмы, которые возьмут junior'а, или какие-то проекты на которых можно было бы поучиться за минимальную плату(или даже бесплатно), но так, чтобы в дальнейшем этот опыт пригодился? В каком направлении копать (дизассемблирование вирусов, патчей, алгоритмов и т.д.), что полезно почитать?
O>Заранее спасибо.
Есть такая очень популярная библиотека libavcodec, поддерживает кучу форматов, тулзу на её основе — ffmpeg я пользую с 2005 года для кодирования видео/аудио. IMHO потрясающая вещь.
Так вот, она основана, как утверждается, отчасти на "отреверсинжиниреном" коде.
Думаю, примкнув к сообществу ее разработчиков ты сможешь очень подняться как multimedia/reverse engineer специалист, как я понимаю это очень хорошо оплачиваемая профессия (судя по некоторым вакансиям).
Удачи
Здравствуйте, gear nuke, Вы писали:
GN>Если цель — работа, то вряд ли она оправдывает средства — долбание F8 с утра до вечера.
У меня конечная цель — работа в области Research&Development, насколько я понимаю, со знанием реверс инжиниринга и соотв. предметной области, вероятность туда попасть повышается. Просто не очень хочется всю жизнь быть code monkey и сидеть на саппорте чужого кода.
GN>Не думаю что кто-то будет учить. Дело в том, что если в других отрослях обычно достаточно знать где лежат грабли, то в данном случае важно выработать умение уворачиваться
GN>Если ты умеешь читать дизассемблерные листинги и понимать чужой код — значит ты в теме. При необходимости подтягиваешь предметную область, знание применяемых паттернов экономит время. Иначе хз...
Собственно я и хотел спросить у людей, которые в теме — чем им приходится заниматься, в какую сторону мне копать и к чему готовится .
Здравствуйте, мыщъх, Вы писали:
М>а вот если ты фрилансер, то можно успевать и то, и это, и еще многое другое, а по ходу дела смотреть, что у тебя лучше всего получается.
Насколько я понимаю заказы на фриланс надо искать через людей, задействованных в данной индустрии(т.е. не на сайтах типа rentacoder), а на этих людей надо произвести впечатление, а для этого надо сперва что-то разреверсить, или написать какую-то статью. Вот я и думаю, чтобы такого сделать .
М>читая курсы по дизассемблированию, я встречался с очень большим количеством людей, среди которых было много таких что умнении и опытнее меня, так что у нас очень интересные обсуждения иной раз получались. но есть и такие, которые конструкцию call l1/pop esi разобрать с ходу не могут и долго над ней думают, да и вообще не врубаются в концепт. и ведь работают... потому как за неименем других.
>> или какие-то проекты на которых можно было бы поучиться за минимальную плату(или даже бесплатно), М>линукоиды очень много чего дизассемблируют. да и не только они... на IDA-pro есть коммунити. на openrce.org тоже. там можно примкнуть к какому-нибудь проекту с пользой для себя и окружающих.
>> В каком направлении копать (дизассемблирование вирусов, патчей, алгоритмов и т.д.) М>зависит от того, что тебе интересно и где ты собираешься работать. на начальном этапе стоит пробовать и прервое, и второе, и третье.
Да я собственно так и думал, сначала попробовать всего понемногу, а потом уже окончательно определится. В принципе, тут несколько человек уже дали полезные ссылки, но если кто еще может посоветовать что-нибудь конкретное, то это не помешает .
Здравствуйте, shrecher, Вы писали:
O>>>Обращаюсь к присутствующим на форуме профессиональным реверсерам (если таковые есть). М>>это смотря кого считать профессиональным реверсером. вот я по контракту сеньер реверс инженер
S>Это очередной твой глюк.
это не глюк, это позишн такой.
S> Поверь, не может Панда проглашать чела из Макафи
далась вам эта панда. крепко же вас вставило. до сих пор никак не попустит.
S> (их прямого конкурента)
они, конечно, не партнеры, но и прямой конкуренции между ними не наблюдается.
S> без НДА и водить его по этажам. Просто ты перебрал опять.
и что я там по этажам увидел? ах да. как люди работают на мониторах. а на мониторах жутко секретный код, понимаешь, на которыый только посмотришь с расстояния в несколько метров и сразу во все въезжаешь.
ЗЫ. какое отношение это имеет к дизассемблированию?!
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Здравствуйте, мыщъх, Вы писали:
М>Здравствуйте, Orister, Вы писали:
O>>Доброго времени суток! М>приветствую! похоже в нашем полку реверсеров прибыло. как говорится, welcome!
А вообще, как к Вашему полку присоединиться, но без необходимости дневать и ночевать за монитором?
Здравствуйте, Orister, Вы писали:
O>У меня конечная цель — работа в области Research&Development, насколько я понимаю, со знанием реверс инжиниринга и соотв. предметной области, вероятность туда попасть повышается.
Скорее, без навыков RE в R&D делать нечего. Поясню, есть 2 вида разработки: "прямая" (waterfall) — когда передметная область хорошо изучена, в литературе описаны паттерны и приёмы проектирования, тогда приходит спец и говрит "надо делать так-то". Другой вариант — когда в общем-то и не ясно как и, главное, почему надо делать. Тогда начинаются исследования — и существующих конкурентов, и в предметной области. Вот например здесь
проводилось исследование как руткитов, так и детекторов, результирующий POC отличается недостижимым КПД. Однако не было никакого дизассемблирования, изучались лишь "архитектурные" особенности, давались оценки трудозатрат и эффективности решений. Это я всё к тому, что RE не совсем то же, что RCE.
O>Просто не очень хочется всю жизнь быть code monkey и сидеть на саппорте чужого кода.
Это как раз типичная задача
O>Собственно я и хотел спросить у людей, которые в теме — чем им приходится заниматься, в какую сторону мне копать и к чему готовится .
Я, вероятно, неясно выразился. Нет никакой прнципиальной разницы, что реверсить. Есть разница, на чём это написано было ранее, если например это С++ и с ним плохо, то виртуальное наследование может шокировать. Готовится надо к разботке бинарей для неизвесных архитектур: уметь найти и изучить доки по процу, апи и т.д. Смысл специализации на чем-то — это экономия времени на изучение предметной области, чем больше специализаций, тем меньше время потребуется на изучение новых.
.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
O>Обращаюсь к присутствующим на форуме профессиональным реверсерам (если таковые есть). O>Я хочу попробовать себя в области дизассемблирования ПО (не хакинг), с целью получить работу в этой сфере. O>Подскажите, плиз, с чего начать новичку?
Здравствуйте, TarasCo, Вы писали:
TC>Ага, в кустах скрывалась большая, красная....
TC>шутка, никто не обижается
Если б прямо написал, я б не обижался, а так придётся думать, что за шутка
.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth