В 64-битном Ntdll есть инструкция x86? - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь разобрать 64-битную ntdll.dll с помощью IDA. Насколько я понимаю, эта DLL находится в C:\Windows\System32 на Windows 64-битной ОС. Когда я разбираю эту DLL, она показывает 32-битные адреса и 32-битный набор инструкций. Однако в отладчике, когда я загружаю эту библиотеку в процесс из того же каталога, она имеет 64-битные инструкции, установленные во время выполнения.

Как мне разобрать 64-битную ntdll?

1 Ответ

0 голосов
/ 10 апреля 2020

Проверьте, является ли IDA 32-битным приложением в диспетчере задач (на странице Processes 32-битные процессы должны иметь суффикс (32 bit). Если вы переключаетесь на страницу Details в диспетчере задач, щелкните правой кнопкой мыши на заголовок столбца и выберите Select columns в контекстном меню. Выберите Platform, чтобы отобразить разрядность процесса и закрыть диалоговое окно. 32-разрядные процессы перечислены как 32 bit в столбце Platform.

Если IDA является 32-разрядным приложением, используйте путь c:\windows\sysnative\ntdll.dll, чтобы открыть DLL. Если вы укажете sysnative вместо System32, Windows использует каталог SYSTEM32 вместо SysWOW64 для 32-битные приложения.

...