Чтение данных Thunk Explorer.exe

Я пытаюсь немного подключиться к IAT в explorer.exe. Спецификации: Windows 7 x64, Visual C++. Я дошел до того, что могу читать данные преобразователя из любого исполняемого файла по своему выбору, кроме C:\Windows\Explorer.exe. Когда я запускаю свою программу против этого, я получаю нарушение прав доступа при чтении памяти из этого исполняемого файла. Однако, когда я запускаю это с C:\Windows\system32\Explorer.exe и C:\Windows\sysWOW64\Explorer.exe, у меня нет никаких проблем. Почему это? Является ли C:\Windows\Explorer.exe символической ссылкой на один из других файлов explorer.exe? Что может помешать мне прочитать этот файл?


person user850275    schedule 29.07.2012    source источник


Ответы (1)


В моей системе Windows 7 x64 C:\windows\explorer.exe — это 64-битный двоичный файл формата PE32+, тогда как c:\windows\syswow64\explorer.exe — это 32-битный двоичный файл формата PE32. Ваше приложение предназначено для чтения форматов PE32 и PE32+?

А при открытии C:\Windows\System32\Explorer.exe из 32-битного процесса происходит перенаправление на копию c:\windows\syswow64\explorer.exe. Из 64-битного процесса c:\windows\system32\explorer.exe не существует.

person jcopenha    schedule 29.07.2012
comment
Во-первых, потрясающая информация. Мой процесс не учитывает форматирование PE32+. На первый взгляд кажется, что достаточно просто изменить все структуры IMAGE_HEADER на 64-битный формат. Вы имеете в виду, что мне нужно скомпилировать свою программу для x64, чтобы читать C:\windows\explorer.exe, или просто внести изменения для поддержки форматирования PE32+? - person user850275; 30.07.2012
comment
Это зависит от того, что делает ваша программа. Если вы просто хотите разобрать формат PE32+, подойдет 32-битный бинарник. Как бы вы ни называли IAT Hooking, это подразумевает внедрение вашего собственного кода в процесс. В этом случае архитектура внедряемого кода должна соответствовать архитектуре запущенного процесса. Итак, 32-битный код для 32-битного процесса и 64-битный код для 64-битного процесса. - person jcopenha; 30.07.2012