перевод в машинный код

Тема в разделе "WASM.BEGINNERS", создана пользователем Loginanton, 16 окт 2009.

  1. Loginanton

    Loginanton New Member

    Публикаций:
    0
    Регистрация:
    8 май 2008
    Сообщения:
    74
    Добрый день. Где можно почитать про перевод команд ассемблера в машинный код, кроме "заклинания кода" ?
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    мануалы Интела вестиимо.
    Хотя в заклинаниях вроде достаточно написано и большая часть материала присутствует.
     
  3. Loginanton

    Loginanton New Member

    Публикаций:
    0
    Регистрация:
    8 май 2008
    Сообщения:
    74
    Насчёт "заклинания кода" согласен, но мне надо как то всё это запомнить, чтоб налету переводить команды в машинный код и вот я не знаю как, поэтому и спрашиваю ещё маны на эту тему :)
     
  4. Treant

    Treant Member

    Публикаций:
    0
    Регистрация:
    24 май 2009
    Сообщения:
    247
    Loginanton
    FASM?
     
  5. Loginanton

    Loginanton New Member

    Публикаций:
    0
    Регистрация:
    8 май 2008
    Сообщения:
    74
    Treant
    Листик бумаги :) А вообще да, буду в фасме проверять. Непойму тока причём тут компилятор
     
  6. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    Что значит переводить ? 1) написать программу, т.е. ассемблер ? 2) Или знать какой опкод какой команде соответсвует ?

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

    Задай четче вопрос
     
  7. Treant

    Treant Member

    Публикаций:
    0
    Регистрация:
    24 май 2009
    Сообщения:
    247
    Loginanton
    Ну FASM как бы с открытым кодом и там посмотреть можно...
     
  8. Loginanton

    Loginanton New Member

    Публикаций:
    0
    Регистрация:
    8 май 2008
    Сообщения:
    74
    EvilsInterrupt
    написать опкоды команд:
    add al,[rax+5]
    mov [rax+rcx+1],rax
    add [r10],r10
    вроде чётко :)
    и хочу научится писать опкоды налету, без подсматривания в "заклинание кода" или учебник Юрова
     
  9. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Loginanton
    Хочешь стать компилятором?
     
  10. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    Loginanton
    На память надейся, а про RTFM не забывай :)
    Да и зачем это вообще надо, когда это описано. Дешевле будет запомнить где посмотреть. И ошибок из-за этого будет гораздо меньше.
     
  11. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Конечно знать все опкоды абсолютно не нужно, но принципы кодирования не помешает. Зачем именно, трудно сказать, но зато появляется какое-то особое чувство уверенности. К примеру я всегда могу определить размер команды в байтах, что часто полезно для выравнивания кода. Порой это просто интересно, например, я радовался как ребенок, когда понял, что nop и xchg (e)ax,(e)ax - это одно и тоже, а двухбайтовый nop - это тоже xchg, но уже с использованием регистра, отличного от (e)ax. Опкоды полезно знать, чтобы открывать для себя такие инструкции как int 1, int 3, salc, aam 10h, понимать вариативность кодирования одних и тех же инструкций, выбирать наиболее подходящий в конкретной ситуации вариант. В общем об этом говорить можно еще очень долго.
     
  12. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    это CD 01 CD 03, а вот int1 (icebp) и int3 это F1 и CC
    А вообще полезно взять того же Юрова или маны интела и самому составить все таблицы
    к примеру таблица опкодов и их бинарных представлений по алфавиту или та же таблица но по порядку бинарных чисел, так же и с modregrm и sib. пару раз составишь и почти все запомнишь.
     
  13. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Я как раз имел в виду однобайтовые int. Да-да, это полезно знать: Mod-Reg/OpCode-R/M, SIB, флаги s, d, w инструкции, различные префиксы и т.п. Например, зная это, сразу видно, что инструкции, в которых идет адресация через базу esp, занимают на один байт больше, через базу ebp даже без указания дополнительного смещения будут содержать байт +0, а при индексации без регистровой базы и дополнительного смещения будут содержать (д)слово +0.
     
  14. Quatre_R_Winner

    Quatre_R_Winner Member

    Публикаций:
    0
    Регистрация:
    10 ноя 2008
    Сообщения:
    66
    Согласен про Юрова - у него неплохо это расписанно и таблички очень полезные. Кстати у кого то в книжке было про ассемблирование\дизассемблирования в уме. Кажись у К. Касперского в Технике отладки без исходников, но я точно не помню.
     
  15. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    Quatre_R_Winner
    нет. Пирагов В. Ю.
     
  16. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Почитай эту тему, может что полезное найдешь:
    http://www.wasm.ru/forum/viewtopic.php?id=34721
     
  17. hack_virii

    hack_virii New Member

    Публикаций:
    0
    Регистрация:
    7 июн 2009
    Сообщения:
    71
    Quatre_R_Winner
    К. Касперски. Не путай народ! :p

    :lol:
     
  18. featurelles

    featurelles New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2009
    Сообщения:
    562
  19. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Ему "автоматом" нужно получать код. Книжка у него уже есть.
     
  20. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    У Зубкова всё просто и лаконично описано.