У меня вопрос к реверсерам/ну или к тем кто в теме) Хотелось бы узнать, что именно должен знать реверсер. Конечно, готовых решений и четких границ быть не может, но я прошу просто высказать своё мнение, может быть личный опыт. То что reverser должен знать внутреннее устройсто ОС'ей - это current(понятно по умолчанию). Но значит ли это, что реверсер должен уметь прогать GUI системы, использовать Апи(в случае вин) или главное - это знать устройсво/архитектуру памяти, уметь эксплуатировать уязвимости, выявлять эти уязвимости... Ведь все это можно делать даже не подозревая о назначении Апи. Какое Ваше мнение?
да, сильно по моему мнению реверсер должен {ЗНАТЬ} ассемблер - это для начала. я когда то хотел стать крутым реверсером и чтобы нормально изучить асм у меня случайно получилось стать разработчиком (именно ассемблерные разработки). На сей час могу точно сказать, что знаю асм вполне на уровне мышления, пусть не все кристалы, но, как минимум, все, что мне надо. И учиться реверсить уже не тянет - зп хватает, но и альтернатив нет, но это уже другой разговор.
Надо не просто ассемблер знать, т.е. систему команд конкретной машины. Нужно хорошо разбираться в базовых алгоритмах, знать приёмы оптимизации программ и т.п., чтобы по мешанине ассемблерных команд быстро схватывать, что же здесь на самом деле делается. В частности, если речь идёт о реверсинге программ, написанных на Visual C++, очень полезным окажется знакомство с STL, и в первую очередь с основными итераторами и контейнерами. Тогда, встретив в коде некоторую характерную последовательность команд, человек сможет сразу (или почти сразу) понять, какой контейнер/итератор использовался в исходной программе, а это существенно облегчит дальнейший разбор.
Stariy SashaTalakin Barbos Мужики, вы не так меня поняли. Я имел ввиду не знать что делают какие-то отдельные функции, в тоже время конечно же понимая их назначение. Распишу как я понимаю... Апи-стандартные функции заложенные лихими парнями из Майкрософта в свою систему. Программирование под Вин плотно завязано на использование объектов ядра (kernel objects). Напрямую программист не может манипулировать объектами ядра, в отличае от Линукс(open(), write()...). Доступ к объектам ядра осуществляется с помощью Апи. Разработчики(Microsoft) могут свободно вносить изменения в ядро, не изменяя Апи. Опять же в Линуксе изменения ядра доставят некоторые трудности девелоперам(придется переучиваться). Безопасность(относительная) и стандартные интерфейс юзера - все это благодаря Апи. Вот как я понимаю Но юзать готовые функции как-то не по мне... Не судите строго)
Всё, что необходимо, это больше практиковаться. В процессе практики поймешь, что и в каком объеме именно тебе надо знать.
kiborg не совсем вас понимаю, но 5 копек так сами лезут. что вам мешает использовать int 2e в виндовз обходя при этом апи и получая несовместимость несколько большую чем в лине? что вам мешает в лине юзать одно из апи (гтк, кт итд) получая желаемую совместимость? все эти нелюбимые апи для того и введены, для обеспечения совместимости. напр в для вынь95 выньапи было уже не родное, а насильно впихнутое для обеспечения совместимости на уровне заголовков/либ с вынь 3.11
qqwe >что вам мешает в лине юзать одно из апи (гтк, кт итд) получая желаемую совместимость? я может не достаточно посвещен в тайны сис программинга(а так и есть), но разве я смогу модифицировать ядро с помощью апи. Лин позволяет, не трогая Апи, делать все что угодно с ядром. >что вам мешает использовать int 2e в виндовз не знал про такую фичу. Это Вин прерывание? я думал прерывания в Вин искоренены.. Или это от Биоса?
Barbos >RTFM >ЗЫ: так? Не так! Я же не спрашиваю тебя как вконтакте.ру взломать. Адекватный вопрос... Если тебя так напрягают мои глупые посты... не читай, не комменть... тебя никто не заставляет. Создается впечатление, что некоторые от рождения гуру и не терпят глупых новичков... Обязательно надо сказать RTM(F не употребляю так как разное значение можно вложить), то есть read the manual. знать бы только в каком мануале есть ответ.
kiborg > Разработчики(Microsoft) могут свободно вносить изменения в ядро, не изменяя Апи. > Опять же в Линуксе изменения ядра доставят некоторые трудности девелоперам(придется переучиваться). > Лин позволяет, не трогая Апи, делать все что угодно с ядром. Кащенит какой-то.... "Строго соблюсти все взаимоисключающие параграфы - кащенитское кредо". Я бы ладно, еще промолчал, но тебя, ТС, за этим делом уже второй раз ловят. Первый был в посте №3 и вот сейчас опять ты яро сам себе противоречишь в двух смежных предложениях.... Може тупо тролль?
aa_dav ты тоже гений!? я же в заголовке даже написал "новичок". Нет подсказать новичку! Вместо этого вы начинаете самоутверждаться на чужих ошибках. >Може тупо тролль? Эта фраза что значит? Тебе бы русский подучить. Тут конечно ничего личного... Я заметил что ты толковый участник форума. Хакер/крэкер, не знаю к кому ты себя причисляешь - однозначно ты умней меня. Только вот жаль, что такие люди часто не хотят делиться опытом/знаниями...
http://www.wasm.ru/forum/viewtopic.php?pid=307034#p307034 слушай ваню и прекращай [...] на хворумах маяться.
deLight >все эти пустые гадания только от того что _ломает_ сесть и начать что-то делать.. кстати верно сказано что ломает, когда что-то непонятно как-то не по себе становится... Между прочим это один из факторов заставляющих совершенствовать свои знания