x32 vs x64

Тема в разделе "WASM.X64", создана пользователем SEC70R_VA, 17 дек 2011.

  1. SEC70R_VA

    SEC70R_VA New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2011
    Сообщения:
    78
    известно, что 32х разрядные DLL-ки не запускаются из 64х разрядных программ.
    подскажите, как обстоят дела для 32х разрядного драйвера и 64х разрядной программы?
     
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.251
    чего? 32-разрядный драйвер по понятным причинам не загрузится на 64-разрядном ядре, тк нет в ядре WOW64... 32-разрядное приложение запустится на 64-битной операционной системе семейства Windows с помощью WOW64..
     
  3. SEC70R_VA

    SEC70R_VA New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2011
    Сообщения:
    78
    пардон, конечно же наоборот,
    драйвер x64 и ПО 32х разрядное.
     
  4. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.251
    в смысле может ли 32-разрядное ПО общаться с 64-разрядным драйвером? да, может... или может ли 32-разрядное ПО загрузить какой-то 64-разрядный драйвер в ядро? не уверен, но скорее всего может, если драйвер подписан... ну или эксплойтом... ддл-ки не запускаются, а загружаются в виртуальную память процесса... если процесс 32-разрядный работает в слое WOW64, то он может загружать 32-разрядные библиотеки... и он может загружать 64-битные библиотеки, если один его поток сможет перейти в 64-битный режим, но это уже определённые трюки нужны, да и не особо толку от этого... 64-разрядный процесс может загружать только 64-битные библиотеки, но опять же с помощью определённых трюков можно загрузить в процесс слой WOW64... при чем тут драйвер не особо понимаю?
     
  5. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    Rel
    Если трюки с подгрузкой слоев не иллитно-приватные, можете рассказать подробнее либо ткнуть носом где почитать?
     
  6. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.251
    ну вот например статья (x64 код в x86 WOW64 процессе):
    http://vxheavens.com/lib/vrg02.html
    в обратную сторону погугли, тож где-то видел статью на данную тему....
     
  7. SEC70R_VA

    SEC70R_VA New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2011
    Сообщения:
    78
    видимо надо рассматривать весь путь прохождения данных от драйвера до прикладного ПО.
    службы и сервисы тоже ведь могут быть как 32х так и 64х разрядные, или нет?
     
  8. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.251
    да, существуют хостеры svchost.exe как для 32-разрядных сервисных dll, так и для 64-разрядных... имеется ввиду для стандартных сервисов, всякие редкие проекты типа нативного шелла: http://hex.pp.ua/nt-native-applications-shell.php и тд должны быть только в 64-разрядной сборке, я полагаю...