Узнайте, является ли программа (.EXE или .DLL) 32-битной или 64-битной

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

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

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

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

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

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

program.exe не является приложением win32

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

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

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

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

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

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

Еще один способ выяснить разрядность исполняемого файла — открыть его с помощью Блокнота, Блокнота ++ или любого другого текстового редактора. После того, как вы откроете двоичный файл в Блокноте, используйте опцию Find, чтобы найти первое вхождение слова PE,

Письмо, которое следует за PE В заголовке указывается, является ли файл 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-битным

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

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

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

Примеры:

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

Выход:

Sigcheck v2.54 - File version and signature viewer
Copyright (C) 2004-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
c:\windows\notepad.exe:
Verified: Signed
Signing date: 11:14 AM 6/21/2019
Publisher: Microsoft Windows
Company: Microsoft Corporation
Description: Notepad
Product: Microsoft« Windows« Operating System
Prod version: 10.0.18362.1
File version: 10.0.18362.1 (WinBuild.160101.0800)
MachineType: 64-bit

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

MiTec EXE Explorer — это сторонняя программа, которая считывает и отображает свойства и структуру исполняемого файла. Он совместим с типами файлов PE32 (переносимый исполняемый файл), PE32 + (64-битный), NE (новый исполняемый файл Windows 3.x) и VxD (драйвер виртуального устройства Windows 9x). Исполняемые файлы .NET также поддерживаются.

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

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

Ссылка на основную публикацию