На Windows 7 ntdll.dll в 32х битное прилажение загружается из windows\syswow64\, это так и должно быть, ибо библиотеки из этой директории предназначены для совместимости с 32х битными прилажениями. А в ХР для того-же 32х битного прилажения юзается из system32, что очень нехорошо. Можно-ли как-то это исправить ? Может в 64 битной оси можно-но каким-нить ключем запустить 32х битные прилажения?
Flasher По-моему, ты высок. Этот вопрос подразумевает, что в XP64 нельзя запускать 32-битные приложения – а это тотальная бычья срань. В 32-битные процессы отображаются обе ntdll.
Sol_Ksacap, я не утверждал, что в XP64 нельзя запускать 32-битные приложения. 32х битные прилажения там запускаются, но ntdll юзается не оттуда, откуда надо, вот это я утверждал.
Flasher А, ясно, "можно-но", гм. Неудивительно, что мы не так фразу распарсили. Казнить нельзя помиловать. Теперь по теме. Нет никакого "ключа для загрузки ntdll из syswow64". Ещё раз посмотри внимательно – уверен, что для 32-битных программ загружена только одна ntdll? Должно быть две. Как ты вообще определил, что только одна ntdll юзается?
Там два ldr, ага. Может быть, XP больше, нежели vista, полагается на File System Redirection. Эх, нету под рукой XP64. Посмотри, как выглядит память, занимаемая ntdll. Например, Olly должна показать в списке модулей 32х-разрядную ntdll (и PE-заголовок у неё должен быть для 32х).