как узнать разрядность файла exe
Как проверить, является ли EXE-файл 32- или 64-битным в Windows 10
Установить десктопное приложение проще простого, главное, чтобы тип исполняемого файла соответствовал архитектуре процессора. На 64-битные системы можно устанавливать и 32— и 64-битные приложения, тогда как на 32-битные Windows возможна установка только 32-битных программ. Обычно в источниках указывается разрядность приложения, но вы легко можете узнать ее и сами, воспользовавшись консольной утилитой от Марка Руссиновича SigCheck.
Также вы можете распаковать утилиту в любое удобное расположение, но тогда при работе в командной строке придется каждый раз прописывать к ней полный путь.
Чтобы определить разрядность любого исполняемого файла, откройте командную строку или PowerShell и выполните команду следующего вида:
Команда вернет набор сведений о файле — описание, имя разработчика, версию и т.д.
Будет среди них и разрядность, указываемая в параметре MachineType.
Если на вашем компьютере установлен архиватор 7-Zip, воспользуйтесь для определения разрядности исполняемого файла им.
Разрядность будет показана в значении параметра CPU.
Как узнать разрядность программы?
В статье рассматривается вопрос о том, как узнать или определить разрядность программы или приложения, запускаемых в Windows. Как увидеть именно архитектуру программы или утилиты?
Тот факт, что операционные системы идут в двух версиях разрядности, известен всем. 64-битная версия обработает большее количество памяти, производительность несравнимо выше – в общем, все прелести налицо. И вполне естественно, что, раз производитель предлагает оба варианта программ, ставить лучше именно подходящую под разрядность процессора и системы.
Ладно, поставили. Когда-то… А как теперь узнать разрядность программы, давно на Windows существующей? Ведь под 64-битную Windows 32-битные версии программ идут на ура. У вас-то какая установлена? Для того есть несколько способов.
Разрядность программы через папку, где она установлена
Самый логичный и простой вариант. Казалось бы, это и не проблема вовсе. Мол, “32-х битная версия не полезет в папку для 64-битных программ, и наоборот.” Не так всё просто. Но начните с того, что вам нужно найти исполнительный файл (.exe) программы с помощью проводника. Любым известным вам способом. Если у вас создан для программы ярлык, это сделать в разы проще:
Место расположения программы также легко вычислить с помощью Диспетчера задач Windows. Главное, чтобы программа была запущена и отображалась в Диспетчере. В меню Вид нужно найти пункт Выбрать столбцы… и указать на пункт Путь к образу:
Обратите внимание на папку, где лежит программа: Program Files. У меня установлена 64-битная Windows 7, а, значит, в эту директорию складываются (теоретически) только 64-битные версии. Ан нет. Так что такой способ (ориентир на папки Program Files или Program Files(х86)) подходит далеко не всегда.
А теперь представьте, что программа вообще установлена в произвольную папку: в корневой каталог, в папку Games или даже на Рабочий стол. А если вы любитель портативных версий? Как же быть?
Разрядность программы через Диспетчер задач
К сожалению, владельцы Windows 7 лишены следующей прямой возможности. А вот для “виндовозов” “десятки” разрабы включили в Диспетчер задач Windows 10 такую возможность. Повторите шаги по запуску программы и Диспетчера. В Диспетчере отправляемся во вкладку Подробности и оттуда щёлкаем по столбцу Имя правой мышкой:
Появится окно с возможностью Выбрать столбцы, и в этот раз просто выставим опцию Платформа:
Теперь в Диспетчере задач Windows появился новый столбец.
Однако и для владельцев Windows 7 тоже есть выход. Все вы наверняка знаете, что система предоставляет опцию запуска программы в режиме совместимости с предыдущими моделями Windows. Она, опция, есть в свойствах файла. Вот она, представлена в виде отдельной вкладки:
Разверните пункт Запустить программу в режиме совместимости. Если пункта про Windows 95 там нет, программа имеет 64-битную версию, если он там – перед вами 32-битный вариант программы. Взгляните – в той же Windows, в той же папке, но уже другой файл:
Разрядность программы через Блокнот
Как видите, разрядность программы обнаружить легко. Устанавливать ничего не нужно, а версию этими методами вы определите безошибочно.
Как я могу проверить DLL-файл Windows, чтобы определить, является ли он 32 бит или 64 бит? [дубликат]
этот вопрос уже есть ответ здесь:
Я хотел бы написать тестовый сценарий или программу, которая утверждает, что все DLL-файлы в данном каталоге имеют определенный тип сборки.
Я бы использовал это как проверку здравомыслия на конец процесса сборки на SDK, чтобы убедиться, что 64-разрядная версия каким-то образом не получила некоторые 32-разрядные DLL-файлы в нем и наоборот.
есть ли простой способ посмотреть на DLL-файл и определить его тип?
решение должно работать на xp32 и xp64.
5 ответов
подробности
DLL использует исполняемый формат PE, и не слишком сложно прочитать эту информацию из файла.
посмотреть этот статья MSDN о формате файла PE обзор. Вам нужно прочитать заголовок MS-DOS, а затем прочитать IMAGE_NT_HEADERS структура. Это содержит IMAGE_FILE_HEADER структура которая содержит информацию вам в члене машины который содержит одно из следующего значения
эта информация должна быть с фиксированным смещением в файле, но я все равно рекомендую обойти файл и проверить подпись заголовка MS-DOS и IMAGE_NT_HEADERS, чтобы убедиться, что вы справитесь с любыми будущими изменениями.
используйте ImageHelp для чтения заголовков.
вы можете также используйте API для ImageHelp для этого-загрузите DLL с LoadImage и LOADED_IMAGE структура, которая будет содержать указатель на структуру IMAGE_NT_HEADERS. Освободите LOADED_IMAGE с ImageUnload.
. или адаптировать этот грубый Perl скрипт
вот грубый скрипт Perl, который выполняет работу. Он проверяет, что файл имеет заголовок DOS, а затем считывает смещение PE из IMAGE_DOS_HEADER 60 байтов в файл.
затем он стремится к началу части PE, читает подпись и проверяет ее, а затем извлекает значение, которое нас интересует.
грубым способом было бы вызвать dumpbin с опцией headers из средств Visual Studio в каждой DLL и искать соответствующий вывод:
вы можете увидеть пару подсказок в этом выводе, что это 32-битная DLL, включая значение 14C, которое упоминает пол. Должно быть легко найти в сценарии.
Если у вас Cygwin установлен (который я настоятельно рекомендуем по разным причинам), вы можете использовать утилиту «файл» в DLL
который дал бы такой результат:
зависимость Walker рассказывает все (ну почти). http://www.dependencywalker.com/
насколько я помню, довольно просто увидеть все зависимости, т. е. модули dll, и начиная с appl. является суммой зависимостей, которые можно определить, является ли она полной x64, x32(x86) или немного каждой.
тип процессора, который модуль был построен для is в столбце «CPU». Большинство 64-разрядных aps все еще немного каждого, но 32-разрядный ap w/b все x86.
красивая программа для вундеркиндов / программистов, и это бесплатно.
просто запустите его и загрузите файл DLL:
в приведенном выше примере загруженная DLL является 32-разрядной.
Установить программы в Windows 10 довольно просто. Вам всего лишь убедиться, что вы устанавливаете правильный тип приложения. Если вы используете 32-разрядную версию Windows, приложение тоже должно быть 32-разрядным. Аналогично, если вы используете 64-битную Windows, приложение должно быть 64-битным.
Хорошие разработчики приложений не только предоставляют ссылки на разные версии, они также соответственно разрядности называют EXE-файл, чтобы пользователи по названию смогли определить, 32-битный или 64-битный. Вы удивитесь, но не существует быстрого способа проверить, является ли EXE 32-битным или 64-битным.
Что такое разрядность
Более подробно о разрядности мы рассказывали в статье «Что такое разрядность системы Windows».
Как узнать разрядность программы в Windows
Я покажу 3 простых способа проверить, является ли программа 32 или 64-битной. Первый способ самый простой. Другие методы определения разрядности требуют установки приложений, однако оба приложения бесплатны, и есть вероятность, что одно из них уже установлено в вашей операционной системе.
Это способ узнать разрядность файла программы не требует установки дополнительных утилит.
Не забудьте снять флажок «Запускать эту программу в режиме совместимости для:»
Скачайте бесплатную утилиту командной строки SigCheck и распакуйте ее в папку C:\Windows.
Откройте командную строку с обычными правами пользователя и введите следующую команду:
Dll файл в exe файле. Вшить dll libcurl
Проблема такая что приходится таскать всегда libcurl.dll с собой. Надо все носить в одном exe.
Как включить в exe файл файлы dll
как включить в exe файл файлы dll чтобы на других компьютерах при запуске программы не было ошибки.
Dll и EXE,как их связать?)Очь нада)
Всем привет.Вот пару дней наза занялся програмированием на C++.До этого в visual Basic мутил.
Как из DLL вызвать функцию, находящуюся в exe?
Плз. скажите, как из DLL вызвать функцию, находящуюся в exe’шнике. Плз.! Плз.! Плз.!
decrement, в заголовке PE.
Даже в текстовом редакторе видно:
x86: PE L
x64: PE d†
Можете помочь написать считывание с файла PE заголовка? Бо я в етом совсем ничего не понимаю
Добавлено через 10 часов 15 минут
А так будет правильно.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Как отключить dll от exe. Исходников нет
Задача запустить приложение без dll которые нужны для его запуска знаю что приложение на c++ и.
Injection EXE/DLL или как написать чит/античит
Привет всем. Вот наднях с другом решились взяться за дельце и сделать античит для игрушки.. Но при.
Как извлечь из exe или dll все ресурсы, которые там содержаться?
Как извлечь из exe или dll все ресурсы, которые там содержаться? ICO,BMP,AVI,MPG. и так далее.