Как проверить, является ли программа (.EXE или .DLL) 32-разрядной или 64-разрядной - Winhelponline

How Check If Program

Разработчики программного обеспечения компилируют отдельные исполняемые файлы (.EXE или .DLL) для 32-разрядных (x86) и 64-разрядных (x64) систем. 64-битная версия программы обычно обозначается суффиксом 64 или же x64 с именем файла - например, sigcheck.exe vs. sigcheck64.exe. В некоторых случаях горечь нотация может отсутствовать, и вам может быть интересно, является ли исполняемый файл 32-битным или 64-битным.



В этой статье обсуждаются различные методы определения того, является ли программа или исполняемый файл 32-разрядным или 64-разрядным в Windows.



Обратите внимание, что некоторые поставщики могут объединить 32-битные и 64-битные исполняемые файлы в один 32-битный самораспаковывающийся файл, который будет определять платформу, извлекать и запускать правильный EXE для текущей платформы.



Способы проверки разрядности .exe или .dll:

  1. Использование диспетчера задач
  2. Использование монитора ресурсов
  3. Использование Process Explorer из Microsoft SysInternals
  4. Использование Sigcheck из Microsoft SysInternals
  5. Использование VirusTotal.com
  6. Использование Dependency Walker
  7. Использование инструмента PE, такого как MiTec Exe Explorer
  8. Проверка заголовков файлов

Запись

32-битные программы могут без проблем работать на 64-битная Windows Операционная система с использованием эмулятора WOW64 x86. Но наоборот не получится. Запуск 64-разрядного приложения в 32-разрядной версии Windows вызывает следующие ошибки:

Эта версия [program.exe] несовместима с вашей версией Windows. Проверьте системную информацию своего компьютера, чтобы узнать, нужна ли вам версия программы x86 (32-разрядная) или x64 (64-разрядная), а затем обратитесь к издателю программного обеспечения. program.exe не является допустимым приложением win32

Проверьте, является ли исполняемый файл (.exe или .dll) 32-разрядным или 64-разрядным

Чтобы узнать, является ли файл .exe или .dll 32-разрядным или 64-разрядным, используйте один из следующих методов:



Использование диспетчера задач

Вы можете узнать разрядность каждой запущенной программы в диспетчере задач. Детали таб.

  1. Откройте диспетчер задач и выберите вкладку «Сведения».
  2. Щелкните правой кнопкой мыши заголовок столбца и выберите Выбрать столбцы . Заголовок столбца - это строка с заголовком для каждого столбца, например имя , PID , Положение дел , и т.д.
    узнать, является ли exe 32-разрядным или 64-разрядным
  3. Включите Платформа установите флажок и нажмите ОК.

В этом примере я открыл обе версии Notepad.exe - одну из Windows System32 , а другая (32-битная версия) из Windows SysWOW64 . В Платформа Столбец в диспетчере задач показывает разрядность каждого исполняемого файла.

узнать, является ли exe 32-разрядным или 64-разрядным

Однако этот метод работает только для исполняемых файлов, но не для DLL. Более того, программа должна быть запущена, чтобы вы могли проверить детали в диспетчере задач. В отличие от графического интерфейса, программы командной строки обычно запускаются и закрываются после завершения задачи, прежде чем вы сможете проверить детали процесса в диспетчере задач.


Использование монитора ресурсов

В Монитор ресурсов инструмент отображает информацию об использовании ресурсов оборудования (ЦП, память, диск и сеть) и программного обеспечения (дескрипторы файлов и модули) в режиме реального времени.

  1. Запустите монитор ресурсов, запустив resmon.exe или же perfmon.exe / res
  2. Запустите программу, разрядность которой (32-разрядная или 64-разрядная) вы хотите узнать.
  3. В мониторе ресурсов щелкните вкладку ЦП.
  4. В разделе 'Процессы' щелкните правой кнопкой мыши заголовок столбца, выберите 'Выбрать столбцы…'
  5. Включите столбец с именем Платформа .
    монитор ресурсов найти процесс 32 бит или 64 бит

В столбце 'Платформа' отображается информация, которую вы ищете.


Использование Process Explorer из Microsoft SysInternals

Диспетчер задач позволяет просматривать разрядность исполняемых файлов (.exe), но не библиотек DLL. Итак, для файлов .dll (а также .exe) мы будем использовать Microsoft SysInternals ’ Обозреватель процессов для этой задачи, поскольку Process Explorer может показать модули загружены по процессу. Следуй этим шагам:

  1. Скачать Обозреватель процессов по следующей ссылке:
    https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
  2. Щелкните правой кнопкой мыши Пуск, выберите команду Выполнить и введите следующую командную строку / синтаксис:
    rundll32 'path_to_filename.dll', BlahBlah

    В этом примере я набираю:

    rundll32 'D:  Users  ramesh  Desktop  downloader.dll', BlahBlah

    (В этом примере я пытаюсь найти разрядность файла с именем загрузчик.dll . Приведенная выше командная строка с некоторыми фиктивными аргументами предназначена просто для загрузки библиотеки DLL в память, чтобы она отображалась в Process Explorer.)

  3. Вы увидите следующее окно с сообщением об ошибке. пожалуйста не закрывайте это еще.
    проверьте, является ли .dll 32-битной или 64-битной
  4. С указанным выше диалог сообщения об ошибке хранится открытый , запустите Process Explorer.
  5. В Process Explorer из найти меню, щелкните Найти дескриптор или DLL вариант. ( Больше информации об этом варианте. )
  6. Тип загрузчик.dll в поле поиска и щелкните Поиск.
  7. Когда вы видите процесс rundll32.exe в списке щелкните по нему. Это выделит файл DLL в нижней панели окна.
    проверьте, является ли .dll 32-битной или 64-битной
  8. Дважды щелкните на загрузчик.dll запись на нижней панели. Вы увидите это диалоговое окно свойств, в котором отображается разрядность (32-разрядная или 64-разрядная) модуля.
    проверьте, является ли .dll 32-битной или 64-битной
  9. Нажмите ОК и выйдите из Process Explorer.

советы лампочка значокДополнительный совет: Вы должны запустить Process Explorer от имени администратора для управления процессами с повышенными правами. Чтобы повысить уровень Process Explorer, щелкните меню Файл → Показать детали для всех процессов .


Использование Sigcheck из Microsoft SysInternals

Sigcheck - это служебная программа командной строки от Microsoft Windows SysInternals, которая показывает номер версии файла, информацию о временной метке и сведения о цифровой подписи, включая цепочки сертификатов. Для вывода также отображается разрядность исполняемого файла.

Примеры:

sigcheck.exe c:  windows  system32  shell32.dll
sigcheck.exe C:  Windows  Notepad.exe

Вывод:

Sigcheck v2.54 - Версия файла и программа просмотра подписей Авторские права (C) 2004-2016 Марк Руссинович Sysinternals - www.sysinternals.com c:  windows  notepad.exe: Проверено: Подписано Дата подписания: 11:14 AM 6/21/2019 Издатель: Microsoft Windows Компания: Microsoft Corporation Описание: Блокнот Продукт: Операционная система Microsoft «Windows» Версия продукта: 10.0.18362.1 Версия файла: 10.0.18362.1 (WinBuild.160101.0800) Тип машины: 64-битный 

Запуск Sigcheck для файла с именем загрузчик.dll показал, что файл 32-битный.

проверьте, является ли .dll 32-битной или 64-битной


Использование VirusTotal.com

В VirusTotal.com Портал помогает анализировать подозрительные файлы и URL-адреса, обнаруживать вредоносные программы и автоматически делиться ими с сообществом специалистов по безопасности. Вы можете загрузить подозрительный файл, выполнить поиск в базе данных VirusTotal по имени файла, хэш , доменное имя в качестве ключевого слова.

  • если ты иметь контрольную сумму хэша файла библиотеки DLL, вы можете выполнить поиск в базе данных VirusTotal, чтобы узнать, есть ли информация о модуле уже в их базе данных. Если нет, вы можете загрузить DLL для анализа.

проверьте, является ли .dll 32-битной или 64-битной

После загрузки файла вы увидите страницу «Обнаружения». На открывшейся странице щелкните вкладку Details.

Прокрутите вниз до Информация о переносимых исполняемых файлах раздел, чтобы узнать архитектуру или разрядность файла .exe / .dll.

Intel 386 или Intel 486 (и новее) означает, что это 32-разрядный модуль.

проверьте, является ли .dll 32-битной или 64-битной

Downloader.dll - это 32-разрядный файл.

64-битные файлы будут обозначены как x64 рядом с Целевая машина метка.

проверьте, является ли .dll 32-битной или 64-битной

MpClient.dll - это 64-битный модуль


Использование Dependency Walker

Зависимость Уокер это бесплатная утилита, которая сканирует любой 32-битный или 64-битный модуль Windows (exe, dll, ocx, sys и т. д.) и строит иерархическую древовидную диаграмму всех зависимых модулей. Для каждого найденного модуля в нем перечислены все функции, экспортируемые этим модулем, и какие из этих функций фактически вызываются другими модулями.

Dependency Walker - это, по сути, инструмент для устранения неполадок, который позволяет вам узнать список зависимых файлов .dll или .exe. Этот инструмент поможет вам сузить круг проблем, таких как отсутствующие или поврежденные библиотеки DLL, неправильная разрядность (тип процессора), несоответствия импорта / экспорта и т. Д.

  1. Скачать Зависимость Уокер из http://www.dependencywalker.com
  2. Откройте DLL или EXE в Dependency Walker. (Пожалуйста, игнорируйте Обнаружены ошибки при обработке «filename.DLL». См. Подробности в окне журнала. сообщение об ошибке, если вы столкнулись с ней.)
  3. После рекурсивного сканирования он покажет список модулей, которые зависят от модуля, который вы открыли. В списке модулей внизу прокрутите вниз и найдите имя открытого модуля.
    проверьте, является ли .dll 32-битной или 64-битной
  4. Запишите бит / архитектуру модуля, который указан в столбце ЦП.

Использование MiTec EXE Explorer

MiTec EXE Проводник - сторонняя программа, которая считывает и отображает свойства и структуру исполняемого файла. Он совместим с типами файлов PE32 (Portable Executable), PE32 + (64bit), NE (Windows 3.x New Executable) и VxD (Windows 9x Virtual Device Driver). Также поддерживаются исполняемые файлы .NET.

узнать, является ли exe 32-разрядным или 64-разрядным

узнать, является ли exe 32-разрядным или 64-разрядным


Откройте файл .exe с помощью Блокнота, чтобы проверить его заголовки.

Другой способ узнать разрядность исполняемого файла - открыть его с помощью Блокнота, Notepad ++ или любого другого Текстовый редактор . После открытия двоичного файла в Блокноте используйте параметр «Найти», чтобы найти первое вхождение слова НА .

Буква, следующая за НА заголовок сообщает вам, является ли файл 32-битным или 64-битным.

  • 32-битные (x86) программы будут иметь PE L как заголовок.
  • 64-битные (x64) программы будут иметь PE d † как заголовок.

узнать, является ли exe 32-разрядным или 64-разрядным

Вы можете видеть, что программа sigcheck.exe (32-битная) имеет PE L заголовок, а его 64-разрядная версия sigcheck64.exe имеет PE d † заголовок.

Если размер двоичного файла огромен, Блокнот зависнет или потребуется больше времени, чтобы открыть двоичный файл. В этом случае вы можете использовать Notepad ++.

Однако убедитесь, что вы не изменяете и не сохраняете исполняемый файл с помощью текстового редактора, так как это приведет к повреждению исполняемого файла. Поврежденные исполняемые файлы при запуске вызывают следующую ошибку:

Это приложение не может работать на вашем компьютере. Чтобы найти версию для своего ПК, обратитесь к издателю программного обеспечения.

узнать, является ли exe 32-разрядным или 64-разрядным

Итак, как всегда, сделайте резервную копию исходного исполняемого файла перед просмотром его в текстовом редакторе, если вы собираетесь следовать методу заголовков.


Одна небольшая просьба: если вам понравился этот пост, поделитесь им?

Одна «крошечная» публикация от вас серьезно помогла бы росту этого блога. Несколько отличных предложений:
  • Приколи это!
  • Поделитесь этим в своем любимом блоге + Facebook, Reddit
  • Напишите об этом в Твиттере!
Так что большое спасибо за вашу поддержку, мой читатель. Это займет не более 10 секунд вашего времени. Кнопки «Поделиться» находятся прямо внизу. :)