Содержание
Некоторые разработчики программного обеспечения компилируют один исполняемый файл (файл .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
Вы можете найти побитность каждой запущенной программы в диспетчере задач Детали Вкладка.
- Откройте диспетчер задач и выберите вкладку «Сведения».
- Щелкните правой кнопкой мыши заголовок столбца и выберите Выберите столбцы. Заголовок столбца — это строка с заголовком для каждого столбца, например название, PID, Положение дел, и т.п.
- Включить Платформа установите флажок и нажмите ОК.
В этом примере я открыл обе версии Notepad.exe — одну из Windows\System32
и другой (32-битная версия) из Windows\SysWOW64
, Платформа столбец в диспетчере задач показывает битность каждого исполняемого файла.
Однако этот метод работает только для исполняемых файлов, но не для DLL. Кроме того, программа должна быть запущена, чтобы вы могли проверить детали в диспетчере задач. В отличие от графического интерфейса, программы командной строки обычно запускаются и завершаются после завершения задачи, прежде чем вы сможете проверить детали процесса в диспетчере задач.
Откройте файл .exe с помощью Блокнота, чтобы проверить его заголовки.
Еще один способ выяснить разрядность исполняемого файла — открыть его с помощью Блокнота, Блокнота ++ или любого другого текстового редактора. После того, как вы откроете двоичный файл в Блокноте, используйте опцию Find, чтобы найти первое вхождение слова PE
,
Письмо, которое следует за PE
В заголовке указывается, является ли файл 32-разрядным или 64-разрядным.
- 32-битные (x86) программы будут иметь
PE L
как заголовок. - 64-битные (x64) программы будут иметь
PE d†
как заголовок.
Вы можете видеть, что программа sigcheck.exe (32-разрядная версия) имеет PE L
заголовок, и его 64-разрядная версия sigcheck64.exe имеет PE d†
заголовок.
Если размер двоичного файла огромен, Блокнот зависнет или потребуется больше времени, чтобы открыть двоичный файл. В этом случае вы можете использовать Notepad ++.
Однако убедитесь, что вы не изменяете и не сохраняете исполняемый файл с помощью текстового редактора, поскольку это может привести к повреждению исполняемого файла. Поврежденные исполняемые файлы вызывают следующую ошибку при запуске:
Это приложение не может работать на вашем компьютере. Чтобы найти версию для вашего ПК, свяжитесь с издателем программного обеспечения.
Поэтому, как всегда, сделайте резервную копию исходного исполняемого файла, прежде чем просматривать его в текстовом редакторе.
Использование 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 также поддерживаются.