Встроенный ассм MS VS 2005

Тема в разделе "WASM.BEGINNERS", создана пользователем sneak, 9 янв 2008.

  1. sneak

    sneak New Member

    Публикаций:
    0
    Регистрация:
    9 янв 2008
    Сообщения:
    2
    VS2005 не понимает регистр 'EIP' , может какой пак нужен или он по другому называется?
    __asm{ mov eax, ebx } - проходит
    __asm{ mov eax, eip } - label 'eip' was undefined
     
  2. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    eip нельзя считывать/записывать напрямую, в 32битном режиме. Если хочется прочитать eip, то используется такой "прием":

    Код (Text):
    1. call $ + 5 ;для 32битной команды.
    2. pop eax   ;в еах адрес этой команды.
     
  3. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    :) Как будто хоть один из существующих компиляторов такое скомпилирует. Такого опкода не существует... как собственно и всех остальных, работающих явно с eip.
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Укажи мне другой компилятор, который понимает.
     
  5. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    пробуй такой код :)

    mov dr0, eip
    sbb dr0, cr0
    mov eax, dr0


    Так мы загоняем EIP в EAX через отладочные регистры в обход прерываний биоса и предварительным выходом в реал-мод (т.к. в протект-моде чтение eip запрещена)
     
  6. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Magnum
    Фига ты хакер... :lol: 31337 порт не пробовал? через него тоже можно
     
  7. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    Great
    "Риальные" пацаны юзают 65536й
     
  8. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Блин я даже не знал про такой.. всегда выводил 666 в 31337 порт чтобы замаскировать прерывания, не дающие читать EIP
     
  9. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    +1 за метод
    сейчас бу пробовать "выводить" в порт ))))
     
  10. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Еще порт можно не только выводить, но и вводить и выгуливать. Чтобы не сопротивлялся чтению EIP
     
  11. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    вводить/выводить, а тем более выгуливать порт нужно осторожно...
    не дай Бог вирус какой...

    времена сейчас такие... Вроде и сайт приличный, и фейс у сайта нормальный, и контент не плохой... А бац. И вирусняк при коннекте на сокет залетел...
     
  12. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    Magnum
    Great

    Хм. Ну раздел же в WASM.BEGINNERS. Это ж не жабер или аська. Кончай издеваться....

    -1 -1
     
  13. sneak

    sneak New Member

    Публикаций:
    0
    Регистрация:
    9 янв 2008
    Сообщения:
    2
    Всем спасибо, ситуация прояснилась.