Собираем коллекцию NOP'ов

Тема в разделе "WASM.ASSEMBLER", создана пользователем Atlantic, 22 июн 2005.

  1. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    это понятно. А вот какая обратная к

    aaa




    Из тех что реверсируемые, ессно.
     
  2. R_NEW

    R_NEW New Member

    Публикаций:
    0
    Регистрация:
    6 май 2005
    Сообщения:
    86
    Адрес:
    Россия
    staier

    Ну тогда другой вариант:

    not eax

    not eax
     
  3. R_NEW

    R_NEW New Member

    Публикаций:
    0
    Регистрация:
    6 май 2005
    Сообщения:
    86
    Адрес:
    Россия
    Atlantic

    aaa

    aas
     
  4. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Это что - очередное развлечение ?

    Вроде как "серьезные" NOP-инструкции давно известны и расписаны в IA-32, у А.Фога и т.п.
     
  5. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    pushad ; и тп

    lea esp, [esp+(push_size)]
     
  6. R_NEW

    R_NEW New Member

    Публикаций:
    0
    Регистрация:
    6 май 2005
    Сообщения:
    86
    Адрес:
    Россия
    Самый короткий вариант:

    hlt

    Не изменяет стёк, регистры, флаги. :)
     
  7. Atlantic

    Atlantic Member

    Публикаций:
    0
    Регистрация:
    22 июн 2005
    Сообщения:
    322
    Адрес:
    Швеция
    R_NEW

    скомпиль код:
    Код (Text):
    1.     mov eax, 0Ch
    2.     aaa
    3.     aas




    он запортит eax, а не сохранит его
     
  8. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    Из числа advanced:



    db D4h, 00

    db D5h, 00
     
  9. Atlantic

    Atlantic Member

    Публикаций:
    0
    Регистрация:
    22 июн 2005
    Сообщения:
    322
    Адрес:
    Швеция
    _BC_

    Только не 00, а 01, а то будет Division by zero
     
  10. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    нет, /0 не будет, но она AH зато портит. =)
     
  11. R_NEW

    R_NEW New Member

    Публикаций:
    0
    Регистрация:
    6 май 2005
    Сообщения:
    86
    Адрес:
    Россия
    Atlantic

    Ты прав: в AH 0FFh.
     
  12. Atlantic

    Atlantic Member

    Публикаций:
    0
    Регистрация:
    22 июн 2005
    Сообщения:
    322
    Адрес:
    Швеция
    _BC_

    Только что скомпилил и проверил под отладчиком - будет /0, будет. А вообще лучше не скатываться во флейм
     
  13. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    Atlantic

    На D500 не будет /0, побочный эффект только обнуление AH. Сейчас сделаю нормально. С D4 - да, 00 не пойдет.
     
  14. Atlantic

    Atlantic Member

    Публикаций:
    0
    Регистрация:
    22 июн 2005
    Сообщения:
    322
    Адрес:
    Швеция
    А вот еще придумал:


    Код (Text):
    1. bswap eax
    2. bswap eax




    Или вот так:
    Код (Text):
    1. imul eax, eax, 1
     
  15. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    wait - тоже потянет на ура
     
  16. Atlantic

    Atlantic Member

    Публикаций:
    0
    Регистрация:
    22 июн 2005
    Сообщения:
    322
    Адрес:
    Швеция
    Все наверно забыли, так что:


    Код (Text):
    1. neg eax
    2. neg eax
     
  17. R_NEW

    R_NEW New Member

    Публикаций:
    0
    Регистрация:
    6 май 2005
    Сообщения:
    86
    Адрес:
    Россия
    Я не забыл, меняет флаги.
     
  18. R_NEW

    R_NEW New Member

    Публикаций:
    0
    Регистрация:
    6 май 2005
    Сообщения:
    86
    Адрес:
    Россия
    Как насчёт wbinvd и invd? Правда, идёт только в ринг0.
     
  19. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    Atlantic Какой вообще смысл в таких нопах(а тем более стирающих флаги)?
     
  20. Atlantic

    Atlantic Member

    Публикаций:
    0
    Регистрация:
    22 июн 2005
    Сообщения:
    322
    Адрес:
    Швеция
    bogrus

    Если стирает флаги - то можно вставить везде, где после этого нет условного перехода. А если не стирает - то вообще везде.

    R_NEW

    wbinvd и invd - слишком расточительно, слишком много тактов