1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

intel manuals

Тема в разделе "WASM.BEGINNERS", создана пользователем psh3nka, 21 янв 2017.

  1. psh3nka

    psh3nka Active Member

    Публикаций:
    0
    Регистрация:
    21 янв 2017
    Сообщения:
    104
    Часто вижу рекомендации по изучению данных мануалов. Такой вопрос:
    насколько оно того стоит? Есть желание познать дзен в ассме, на данный момент иду по урокам Iczelion'а.
    Основная цель: vx
    p.s. инглишом владею хорошо.

    Хотелось бы услышать мнение Indy_ по поводу того как вообще развиваться в vx. Сейчас есть опыт системного програмирования под *nix'ы, но хочу сменить профиль в сторону win32. Можно в личку.
     
    Indy_ нравится это.
  2. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    3.825
    psh3nka,

    Вы сюда через дамаг попали, но не суть важно. Там они не правы.)

    Вопрос общий, поэтому нельзя ответить конкретно. Интел доки являются фундаментальными по архитектуре. Любой фундаментальный механизм в них описан досконально, следовательно любой вопрос, который является фундаментальным и связан с архитектурой описан в этих доках. Есть amd аналогичные доки, там немного иной стиль описания. Но более годными считаются(и я так думаю) маны Intel. Без этих фундаментальных знаний вы не сможите понять как всё устроено в этих системах. Изначально нужны базовые знания, поэтому маны разделены на соответствующие части. Изучение их происходит по логическим цепочкам - когда базовое понимание наступит, тогда в дальнейшем понимать(получать инфу) станет просто. Так же в Интел манах важна внимательность, это не общего назначения документация, а чёткая на железо, поэтому каждое предложение в них несёт реальную инфу и это нельзя пропустить.

    > Хотелось бы услышать мнение Indy_ по поводу того как вообще развиваться в vx

    Для начала нужно понять что есть викс, зачем вам это нужно(источник интереса, хотя это понятно что всё с этим связано весьма интересно, так как во первых отлично от всего остального, логично етц). Так же следует сказать сразу что сейчас произошло разделение по уровню знаний. Техники виксов сейчас стали весьма сложны, что требует обширной фундаментальной базы знаний, вот пример http://wasm.in/forum/threads/wsw.31899/#post-384452
     
    psh3nka нравится это.
  3. T800

    T800 Member

    Публикаций:
    0
    Регистрация:
    7 дек 2006
    Сообщения:
    293
    Адрес:
    Moscow
    Простое изучение этих мануалов скучное занятие и к тому же бесполезное.
    Лично я начал подробно и досканально узучать эти малуалы лишь тогда, когда пришлось писать свою виртуальную машину для x86 кодеса. До этого только мельком туда заглядывал.

    Очень туманная у вас цель. Советую выбрать в качестве основной более достижимую цель. А vx уже заниматься "по вечерам", т.к. это по большей части как искусство (не всем дано).
    Я вот себя к vx никак не отношу (видимо не дано), хоть и работаю в сфере создания "зловредов".

    Вот это вас потянуло. На мой взляд сейчас вся системная разработка плавно переходит как раз на *nix'ы. Я вот и сам последние 2 года занят погружением в андройды и ARM'ы.
    На никсах тоже полно работёнки в сфере vx. Недавно обращались по поводу патчинга модема на Qualcomm устройстве.
    Поэтому советую учесть нынешние реалии.
     
    psh3nka нравится это.
  4. psh3nka

    psh3nka Active Member

    Публикаций:
    0
    Регистрация:
    21 янв 2017
    Сообщения:
    104
    Да. А на дамаг я попал через факав :)
    Спасибо вам за разернутый ответ. Учту. На данный момент vx меня привлекает своей сложностью и в то же время недоступностью. Основной(!) задачей сейчас является приобретение той самой фундаментальной базы. В идеале конечно потом хотелось бы монетизировать приобретенные знания, но это не горит. Я готов потратить на обучение ровно столько времни, сколько понадобится для углубленного понимания сферы. С "характером работ" пока точно не определился (оно и понятно, не все еще испробовано и изучено), но если привнести больше конкретики, то исходники Pony для меня являются основным ориентиром к чему стоит стремиться на данный момент. Что можете посоветовать касательно фундамента помимо Iczelion'a ?
     
  5. psh3nka

    psh3nka Active Member

    Публикаций:
    0
    Регистрация:
    21 янв 2017
    Сообщения:
    104
    Спасибо за ответ! Дело в том, что в данный момент работаю в сфере *nix разработки, поэтому уже немного подташнивает от них. Все предыдущие несколько лет жизни с ними связаны. Поэтому ,пока идет развитие на работе, в свободное время хочется двигаться немного в ином направлении. Выше я конкретизировал свои ближайшие цели в ответе Indy_.
     
  6. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    1
    Регистрация:
    11 июн 2004
    Сообщения:
    3.389
    Адрес:
    Russia
    есть довольно много книг которые неплохо бы прочитать . В качестве общего развития рекомендую книги Соломона и Русиновича, а так же маст хэв Рихтера. Это сильно укрепит вашу базу по знанию Windows платформы и ее внутреннего устройства (но только поверхностно - детали придется добывать самим).
    Но это не даст вам развития без практики. Поэтому - научитесь ставить себе задачи сами. Тогда у вас не будет вопросов "зачем мне читать Intel Manuals" - Их и не надо читать по типу какой то повести от корки до корки - их надо открывать как справочник и находить там нужные вещи, которые нужны для решения поставленной задачи. Вы же не читаете MSDN просто так от нефиг делать по алфавиту? Вот тут так же.
    Ну а если вы пришли из мира опенсурса - нужно будет вам научится реверсингу. Вот тут и пригодится знание асма.
    Как то так
     
    psh3nka нравится это.
  7. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    3.825
    psh3nka,

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

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

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

    Следует выбрать простейшую интересную задачу, изучить её досконально, проанализить. Потом подумать над полученными знаниями - с чем они связаны, как всё устроено. Так рекурсивно возникнут новые задачи. Тогда придёт со временем осознание, так всегда и везде.
     
    rococo795 и psh3nka нравится это.
  8. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    3.825
    TermoSINteZ,

    Не согласен. Их не читают, если есть понимание архитектуры. Иначе они изучаются последовательно. Пока не придёт общее понимание. Вы бы полезли кернел отлаживать не зная как базовой так и системной архитектуры, много бы вы там отладили и поняли..
     
  9. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    1
    Регистрация:
    11 июн 2004
    Сообщения:
    3.389
    Адрес:
    Russia
    Indy_, из серии не читал но осуждаю.
     
  10. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    3.825
    TermoSINteZ,

    Что именно не читал, о чём вы говорите. Вот если я к примеру какую то архитектуру не знаю, что я буду делать - я в начале изучу архитектуру(базовую) и систему команд. У меня вот идея на пике запилить девайс из пар темы, но я не помню систему команд. Хотя в общем понимаю архитектуру. Что бы реализовать нужно взять ман на проц и полностью его изучить. Мне как минимум вспомнить систему команд.

    Вы как всегда что то отрешённое говорите. Увидеть в дизасме код к примеру - для человека первый раз который это увидит придётся обратится к базовым докам и в начале по архитектуре, только потом по системе команд. И это при условии норм знания алгоритмов и общих принципов - способность описать формально идею, алгос.
     
  11. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    1
    Регистрация:
    11 июн 2004
    Сообщения:
    3.389
    Адрес:
    Russia
    Indy_, говорю о том, что вы как всегда читаете между строк. А потом пишете "не согласен" и потом выдаете, то о чем писал собеседник. Круто
     
  12. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    3.825
    TermoSINteZ,

    Это вы читаете между строк и пишите это только что бы найти причину меня забанить, имхо. Кстате а чего ваш блог заглох овер N лет назад, вы вообще что то делаете кроме как модерации с целью бана ?
     
  13. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    1
    Регистрация:
    11 июн 2004
    Сообщения:
    3.389
    Адрес:
    Russia
    Indy_,
    Что-то делаю, сам пока не понимаю что, но делаю. Блог - это не то. А вот на васме публикации - уже полезнее.
    Чтож , на этом и остановимся, не будем мешать ТСу узнавать , как стать vx-сером. Кстати, "vx" - если напечатать на русской раскладке будет "мч" - неплохо так совпало.
     
  14. psh3nka

    psh3nka Active Member

    Публикаций:
    0
    Регистрация:
    21 янв 2017
    Сообщения:
    104
    Понял вас. Больше всего на данный момент стремно именно увязнуть в процессе обучения для того, чтобы потом начать учиться в vx. Одно дело разбирать малварь, понимать что она делает и как работает, другое учить кучу мат.части, чтобы потом *может быть* перейти к изучению самой малвари.
    А под простейшими задачами вы что подразумеваете?
    К слову об архитектуре. Несколько месяцев назад просмотрел все 12 уроков Кринкина по архитектуре пк, так что базовые представления имеются.
     
  15. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    1
    Регистрация:
    11 июн 2004
    Сообщения:
    3.389
    Адрес:
    Russia
    Это все ерунда.
    Вы бы лучше прочитали архитектуру, поставили задачу и сделали бы свою vx поделку. Пусть даже поделку но свою. Без копипаста, без всяких "посмотрел и скопировал"
    Зря потраченное время, ничего личного не имею к автору сие труда, но лично вы просто потратили время. Смотреть уроки - это все равно, что смотреть телевизор. Считайте, что все придется изучать заново. Оно не закрепится в памяти как надо.
    Просто на будущее вам совет, не делать так больше.
     
    _edge и Indy_ нравится это.
  16. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    3.825
    psh3nka,

    > увязнуть в процессе обучения для того, чтобы потом начать учиться в vx.

    Как вы не поймёте. Нету никакого для вас викс. Для вас есть предмет изучения.

    > Одно дело разбирать малварь, понимать что она делает и как работает

    Я могу открыть отладчиком любое место не то что юзер кода, но ядра и буду отлично ориентироваться там. Так как я читаю асм кодес не хуже чем русский язык. Но на это ушло овер десять лет. Это просто к примеру, не знаю как есчо обьяснить. В таком случае я открываю семпл отладчиком и листая его дизасм понимаю что оно делает и как работает. При отладке я знаю все фичи ядра, как и что нужно сделать и как оно работает. Без этого понимания так сделать невозможно. Это понимание основано на длительном изучении матчасти и непрерывной практике. И начинал я как и вы с простых вещей. В этом есть есчо и эмоциональный момент - так например некоторый обьект может казаться слишком сложным для понимания, что подавляет желание его узнать и сам процесс его изучения.
     
    psh3nka нравится это.
  17. psh3nka

    psh3nka Active Member

    Публикаций:
    0
    Регистрация:
    21 янв 2017
    Сообщения:
    104
    Хорошо. Забыли о vx. Тогда как примерно может выглядить путь развития начиная с углубленного изучения архитектуры и манов?
    Архитектура->ассм->реверс->...
     
  18. psh3nka

    psh3nka Active Member

    Публикаций:
    0
    Регистрация:
    21 янв 2017
    Сообщения:
    104
    Для меня это было очень хорошим введением. Самое главное ,что было интересно. К тому же я не просто сидел и вдуплял в монитор :)
    Все анализировалось, записывалось, рисовалось и гуглилось за дополнительной инфой.
     
  19. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    3.825
    psh3nka,

    Проще показать на примере. Мне вообще не интересна уже малварь, иногда очень редко я что то изучаю по семплам, вот к примеру https://ru-sf.ru/threads/konkurs-s-prizami-ot-nano-antivirus.3192/ это пятиминутные факав тесты. Они являются примитивными и никакого для меня интереса не представляют. Сегодня я смотрел сурцы ядра(wrk) что бы понять почему в логе по рабочему набору сохраняются адреса смещённые на 1. Ядро не вносит поправки, посему пришлось обратится к манам для подробного изучения сохраняемой инфы в ловушках.

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

    Возьмите отладчик и откройте им элементарное приложение. Пусть это будет классическим блокнотом. И изучите как это всё устроено и работает. Когда будет общее знание то вы автоматически сможите понимать как работает какой то малварный семпл. Или любой иной код. Просто у малварки свои пусть и примитивные и стандартные, но техники. Так же для их понимания необходимо знать фундамент. Общее знание включает в себя частное, а интересующий вас "vx" это знание частное.
     
    psh3nka нравится это.
  20. psh3nka

    psh3nka Active Member

    Публикаций:
    0
    Регистрация:
    21 янв 2017
    Сообщения:
    104
    Спасибо вам большое за уделенное время. Привнесли некую ясность. Будем работать.
     
    Indy_ нравится это.