Asm и иже с ним (From my blog)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Noman, 10 Jul 2007.

  1. Noman

    Noman Elder - Старейшина

    Joined:
    10 Oct 2006
    Messages:
    112
    Likes Received:
    23
    Reputations:
    2
    Решил процитировать собственно написанную статью, которая размещена в моем блоге. Написана только для новичков (так как в асме я сам таковым являюсь). Если что-либо не так написал - пожалуйста поправьте, или напишите мне, чтобы поправил я. Данная статья не несет какой-либо конкретной спец. информации, а является скорее сборником ссылок на полезный материал.

    Меня, как человека, который интересуется разработкой и структурой приложений всегда интересовала одна деталь - это то, чем, как и на чем возможен взлом приложения. Допустим для избавления от триал-периода или банальной русификации. И интересовало чисто теоретически пока я не занялся я проходить один интересный Quest, на мною любимом Античате.Это был 2-ой по счету quest, который разрабатывал для аЧата уважаемый Rebz. Первый квест я прошел относительно давно, а до второго (вышедшего в феврале этого года) руки дошли только сейчас.

    Одно задание в этом квесте (который, кстати сказать имеет очень интересный сюжет) заключается в том, что надо получить мыло и ключ из программы, написанной на делфи и запакованной PECompact-ом. Я не стану рассказывать, как это сделать (кому надо догадается сам), но не в этом суть. Если интересно - можете сами попробовать пройти квест - это очень интересно и познавательно.

    Меня заинтересовал сам процесс работы, который подтолкнул меня к изучению низкоуровнего программирования aka Assembler-а, без знания которого, проделать все вышеуказанное слишком непонятно и сложно (хотя вполне возможно с помощью FAQ-а по квесту и топов на форуме). И начал я изучение с поисков того, чего собственно и собираюсь изучать - учебником, туториалов и прочих материалов, так или иначе связанных в данным вопросом. По-гуглив и почитав форумы я хочу выложить ссылки на найденные мною материалы, а также ссылки, которые могут нам пригодиться в освоении языка.

    Начнем-с:

    Ресурсы, которые нам помогут:


    • CRACKL@B - гениальный ресурс, в представлении не нуждается
    • [WASM] - огромная библиотека статей, туториалов и прочего, касающегося Asm-а

    Пособия, учебники и прочее:

    Далее, перед нами стоит проблема выбора компилятора. На данный вопрос у каждого найдется свое мнение, поэтому я считаю, что решать лучше вам самим. Мой же выбор пал на 2 из них:


    • MASM v 9.0 (Именно он описывается в книге Зубкова)

    На этой ноте я закончу первую часть данного HOWTO и начну изучение Великого и Могучего Asm-а.

    З.Ы. На момент написания статьи все ссылки были живы. Если сейчас, кликнув мышкой по какой-либо из ссылок и получив ошибку 404 не ругайте автора aka меня, а просто попробуйте найти данный материал сами (открою тайну - на поиски данного материала у меня ушло времени меньше, чем на написание данного howto ;)
     
    #1 Noman, 10 Jul 2007
    Last edited: 10 Jul 2007
    1 person likes this.
  2. tcl

    tcl Banned

    Joined:
    17 Jun 2007
    Messages:
    35
    Likes Received:
    49
    Reputations:
    40
    нет слов просто
     
  3. Noman

    Noman Elder - Старейшина

    Joined:
    10 Oct 2006
    Messages:
    112
    Likes Received:
    23
    Reputations:
    2
    Ну если совсем ужасно - удалите... или мне удалить?
     
  4. tcl

    tcl Banned

    Joined:
    17 Jun 2007
    Messages:
    35
    Likes Received:
    49
    Reputations:
    40
    это не ужасно, но это и так написано на каждом интернет-углу. Человек, который собирается что-то учить и не может найти даже такую информацию сам - просто бесполезен и потерян.
     
  5. Noman

    Noman Elder - Старейшина

    Joined:
    10 Oct 2006
    Messages:
    112
    Likes Received:
    23
    Reputations:
    2
    tcl, да, не могу не согласиться.
     
  6. GlOFF

    GlOFF Elder - Старейшина

    Joined:
    8 May 2006
    Messages:
    689
    Likes Received:
    484
    Reputations:
    4
    Noman Всего конечно много написал! Но в P.S. бы выразил какую именно книгу взять и начать + компилятор к этой книге, чтобы не попутались в инфе...
     
  7. Noman

    Noman Elder - Старейшина

    Joined:
    10 Oct 2006
    Messages:
    112
    Likes Received:
    23
    Reputations:
    2
    Я не стал этого писать по той причине, что у каждого собственное мнение на этот счет, и однозначно писать, с чего начать я просто не имею права. Могу лишь выразить свое имхо, Зубков + masm
     
  8. GlOFF

    GlOFF Elder - Старейшина

    Joined:
    8 May 2006
    Messages:
    689
    Likes Received:
    484
    Reputations:
    4
    Noman Согласен! Я тоже за MASM, ибо все серьезные проекты ( к примеру Pinch\MicroJoiner) которые известны на сей день - это на MASM'e... ИМХО начать с MASM.

    В дополнение темы советовал бы начать с книги - "САМОУЧИТЕЛЬ ASSEMBLER" Александр Крупник, книга не требует никаких начальных знаний по программированию и наченается с того, что учат складывать ДВА + ТРИ ;)

    P.S. Noman За старание +2 ;)
     
  9. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    >> ибо все серьезные проекты ( к примеру Pinch\MicroJoiner) которые известны на сей день - это на MASM'e...

    пинч и микроджойнер это ж офигеть серьезные проекты.. )
    их написали на масме, наверно, тока потому, что их автор пишет под этот транслятор..
    как будто, например, на фасме нельзя написать им аналоги..

    а Крупник мне не особо понравился - все очень уж кратко и упрощенно у него.. лучше уж начать с учебника Юрова + Зубков..
     
    #9 Digimortal, 10 Jul 2007
    Last edited: 10 Jul 2007
  10. GlOFF

    GlOFF Elder - Старейшина

    Joined:
    8 May 2006
    Messages:
    689
    Likes Received:
    484
    Reputations:
    4
    Digimortal Тоже прав по своему! Fasm тоже рулит. Думаю не стоит разводить тему-спор на чем лучше :)
    Каждый в силу тех или иных причин идет по своему пути развития, советует то, что близко ему, свои книги и свои методы ;)

    P.S. Каждому своё (С)
     
  11. GlOFF

    GlOFF Elder - Старейшина

    Joined:
    8 May 2006
    Messages:
    689
    Likes Received:
    484
    Reputations:
    4
    Ссылка на -> Зубков С.В. ”Assembler - Язык неограниченных возможностей” 1999 год Издательство «ДМК Пресс» , т.е. http://www.os.edu.ulsu.ru/files/zubkov.chm - БИТАЯ!!!

    Noman Перезалей, плз, хочу поглядеть как и про что пишут!
     
  12. Ksander

    Ksander Elder - Старейшина

    Joined:
    21 Jun 2006
    Messages:
    526
    Likes Received:
    260
    Reputations:
    138
    Ссылка на Зубкова и еще на пару сайтов битые.
     
  13. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    О спасибо, благодаря такой информации я наконец стану кодером на осенблере...
    И ещё вы зря делаете выбор в сторону MASM/TASM, особенно когда учитесь.
    FASM - единственный, пожалуй, удобный инструмент. Там не нужно заморачиваться с тем, чем заморачиваются кодеры на Visual Studio 6.0. Там все логично, эстетично, закончено и понятно. Мы что-то говорли с Great о том, что мол, нет в FASM нормальных макросов - но это не настолько большая проблема.
    И ещё посл. версия фасма не такая как в первом посте - давно вышла новая.
     
    1 person likes this.
  14. Noman

    Noman Elder - Старейшина

    Joined:
    10 Oct 2006
    Messages:
    112
    Likes Received:
    23
    Reputations:
    2
    Ссылки восстановил, ресурс Os.edu.ulsu.ru почему-то умер...
    Обновил.
     
  15. FeraS

    FeraS Elder - Старейшина

    Joined:
    19 Jan 2007
    Messages:
    555
    Likes Received:
    420
    Reputations:
    76
    Исходники из книги Калашникова - Ассемблер? Это просто, компилить лучше масмом через Volkov Commander в винде, если вдруг кто взялся)
     
  16. Lamia

    Lamia Elder - Старейшина

    Joined:
    11 Jul 2007
    Messages:
    186
    Likes Received:
    77
    Reputations:
    -9
    http://bit-bait.ucoz.ru/Manuals/assembler_na_primeraxbazovyy.rar
    Воть очень хорошая книжка!
    Название: Ассемблер на примерах. Базовый курс
    Автор: Рудольф Марек
    Эта книга представляет собой великолепное практическое руководство по основам программирования на языке ассемблера. Изложение сопровождается большим количеством подробно откомментированных примеров, что способствует наилучшему пониманию и усвоению материала. Доходчиво объясняются все основные вопросы программирования на этом языке.

    Вы узнаете, как писать ассемблерные программы под разные операционные системы (Windows, DOS, Linux), как создавать резидентные программы, как писать ассемблерные вставки в программы на языках высокого уровня и многое другое. Попутно вам будут разъяснены основные моменты работы процессора, операционных систем, управления памятью и взаимодействия программ с аппаратными устройствами ПК - то есть все то, без знания чего нельзя обойтись при программировании на языке низкого уровня, которым и является ассемблер.

    Книга написана доступным языком. Лучший выбор для начинающих.
     
    #16 Lamia, 11 Jul 2007
    Last edited: 11 Jul 2007
  17. GlOFF

    GlOFF Elder - Старейшина

    Joined:
    8 May 2006
    Messages:
    689
    Likes Received:
    484
    Reputations:
    4
    Digimortal Насчет Юрова не знаю, но Зубков вообще "не зачет" для начинающего!!! Только инфа без обоснований и соответствующих примеров... Нельзя такое советовать (гм, минисправочничек на chm), т.к. начинающего эта непонятка испугает и отпугнет от дальнейшего изучения...

    Нужна хорошая книга с примерами и картинками :) Что-то то, как предложил Lamia
     
    #17 GlOFF, 11 Jul 2007
    Last edited: 11 Jul 2007
  18. tclover

    tclover nobody

    Joined:
    13 Dec 2005
    Messages:
    741
    Likes Received:
    682
    Reputations:
    287
    у Зубкова вообще-то хорошая книга
     
    2 people like this.
  19. GlOFF

    GlOFF Elder - Старейшина

    Joined:
    8 May 2006
    Messages:
    689
    Likes Received:
    484
    Reputations:
    4
    tclover Я видел только литературу Зубкова предложенную здесь!!! Мб full-версия книжки лучше, но chm - это не книга, а справочник получился. Любая книга хороша по своему, но здесь дело не в том... Для начинающего пользователя, который вообще не знает программирования и хочет начать этим заниматься, то эта книга, скромно говоря, не очень подходит...

    P.S. А вообще лучшие книжки по асму смотрим ЗДЕСЬ
     
    #19 GlOFF, 11 Jul 2007
    Last edited: 11 Jul 2007