web-dev-qa-db-ja.com

インストールされているアプリケーションが64ビットか32ビットかを知る簡単な方法

64ビットWindows Server 2003にサードパーティ製のアプリケーション(この場合はCognos Data Manager)をインストールしました。

アプリケーションが64ビットアプリケーションとして作成されたのか、32ビットアプリケーションとしてコンパイルされたのかを判断する簡単な方法はありますか?

デフォルトでは、プログラムはProgram Files(x86)にインストールされることを望んでいました。 32ビット版だということですね。 Oracleデータベースと通信して機能させるには、大括弧 "("と ")"が含まれていないディレクトリパスに再インストールする必要がありました。 64ビットと32ビットの両方のOracleクライアントもインストールしました。

今後の参考のために、 "xxxx fred.exe"というコマンドを入力して、fred.exeに32ビットと64ビットのどちらのセットアップが必要かを教えてもらえればと思います(例:ODBCデータソースなど).

107
Gary

アプリケーションを実行すると、タスクマネージャでは32ビットであることを示すためにその横に* 32が表示されます。私は彼らがServer 2003でこれを実装していたと確信していますが、うまくいけば、誰かが明確にすることができます。

PEiD でも実行できます。 PEiDは64ビットのPEをサポートしていないので、64ビットの場合は詰まります。

Windows用の有名な GNUファイル もあります。実行可能ファイルに関するあらゆる種類の情報がわかります。

例:

$ file winrar-x64-392b1.exe
winrar-x64-392b1.exe: PE32+ executable for MS Windows (GUI)

$ file display.exe
display.exe: PE32 executable for MS Windows (GUI) Intel 80386 32-bit</pre>

ご覧のとおり、64ビットWinRARインストーラーはPE32 +として分類され、 は64ビットの実行可能ファイル を表します。 32ビットアプリケーションは単純にPE32、32ビット実行可能ファイルです。

92
John T

最も簡単な方法は、他のプログラムをインストールすることもファイルを実行することもなく、ファイルを右クリックし、Propertiesを選択して、互換性tab。淡色表示されたオプションがなく、Windows XPおよび9xモードが提供されている場合は、32ビットです。淡色表示されているオプションがあり、Vistaが最も初期のモードである場合は、64ビットです。アプリケーションを起動する必要はまったくありません。

アプリケーションがすでに起動されている場合は、もちろん他の回答で言及されている* 32のアイデアをそのまま使用できます。ただし、これはWindows 8.xおよびその新しいタスクマネージャでは利用できません。幸いなことに、Platform列を有効にするには、Detailsタブの列見出しを右クリックして、列の選択。列には、必要に応じて「32ビット」または「64ビット」が含まれます。

40
trlkly

Visual StudioまたはPlatform SDKをインストールした場合は、dumpbin /headersを使用してPEヘッダー値を調べることができます。

64ビット実行可能ファイルの例

PE signature found

File Type: EXECUTABLE IMAGE

FILE HEADER VALUES
            8664 machine (x64)
               5 number of sections
        4987EDCA time date stamp Tue Feb 03 08:10:02 2009
               0 file pointer to symbol table
               0 number of symbols
              F0 size of optional header
              23 characteristics
                   Relocations stripped
                   Executable
                   Application can handle large (>2GB) addresses

OPTIONAL HEADER VALUES
             20B magic # (PE32+)
            8.00 linker version
           2A600 size of code
           18A00 size of initialized data
               0 size of uninitialized data
           2AE90 entry point (000000000042AE90)
            1000 base of code
               ...

そして32ビット用:

PE signature found

File Type: EXECUTABLE IMAGE

FILE HEADER VALUES
             14C machine (x86)
               3 number of sections
        4B0C786D time date stamp Wed Nov 25 01:21:01 2009
               0 file pointer to symbol table
               0 number of symbols
              E0 size of optional header
             103 characteristics
                   Relocations stripped
                   Executable
                   32 bit Word machine

OPTIONAL HEADER VALUES
             10B magic # (PE32)
            9.00 linker version
           42000 size of code
            4000 size of initialized data
           6F000 size of uninitialized data
           B0EE0 entry point (004B0EE0)
           70000 base of code
               ...

ファイルヘッダーの最初の値はアーキテクチャを示しています:x86の場合は0x14C、x64の場合は0x8664です。

25
Joey

16進エディタプログラムを使っているなら、それを使ってファイルを開き、標準のヘッダイントロの後( "このプログラムはDOSモードでは実行できません..."のように)に表示されます。

"PE..L"(16進コード:504500004C)= 32ビット

または

"PE..d†"(16進コード:504500006486)= 64ビット

18
Brian Weigand

alt textEXEエクスプローラ
OS/2、NE、PE32、PE32 +およびVxDファイルタイプの実行可能ファイルエクスプローラ。

このアプリケーションは、 MiTeC Portable Executable Reader に基づいています。実行ファイルのプロパティと構造を読み込んで表示します。 PE32(Portable Executable)、PE32 +(64bit)、NE(Windows 3.x New Executable)、VxD(Windows 9x Virtual Device Driver)ファイルタイプと互換性があります。 .NET実行ファイルもサポートされています。

Borlandコンパイラによってコンパイルされたファイルの導入されたクラス、使用された単位、およびフォームを列挙します。

注:GUIが付属しており、Windowsのバイナリファイル構造を「探索」することができます。
残念ながら、ターゲットバイナリをコマンドラインから開くことすら受け入れられないようです。しかし、それが与える詳細は、場合によっては役立つかもしれません。

5
nik

Sysinternals Suite の一部である sigcheck.exe を使用して確認できます。

$ sigcheck.exe some_app.exe

Sigcheck v2.51 - File version and signature viewer
Copyright (C) 2004-2016 Mark Russinovich
Sysinternals - www.sysinternals.com

C:/Program Files (x86)/Foo App\some_app.exe:
    Verified:   Signed
    Signing date:   14:48 23/12/2015
    Publisher:  X
    Company:    X
    Description:    X
    Product:    Some App
    Prod version:   5.0.0.1241
    File version:   5.0.0.1241
    MachineType:    32-bit
3
kenorb

Dependency Walker は、exeファイルだけでなくDLLファイルも検証するのに役立つGUIツールです。 64ビットのDLLまたはEXEファイルの横には、64の小さなアイコンがあります。

2
bobc

もう一つの簡単な方法はPESnoopを使うことです:

C:\> pesnoop photoshop.exe /pe_dh


-------------------------------------------------------------------------------
 PESnoop 2.0 - Advanced PE32/PE32+/COFF OBJ,LIB command line dumper by yoda
-------------------------------------------------------------------------------

Dump of file: photoshop.exe...
Modus:        64bit Portable Executable Image...
...

PESnoopを入手するための1つの場所はここにあります: http://www.prestosoft.com/download/plugins/PESnoop.Zip

- デイブ

2
ViperGeek

そしてあなたのGUI愛好家のために、絶対に最も簡単な方法はこのエクスプローラ拡張をインストールすることです:

http://www.silurian.com/win32/inspect.htm

- デイブ

2
ViperGeek

プログラムを実行する場合は、 Sysinternal Suite から 「Process Monitor」 (ProcMon)を使用できます。

その移植性とあなたのプロセスについてのあなたに多くの情報を与えます。

1
yucer
filever /bad *.exe

WAMD64、W32i、またはW16が最初の列に入ります。

1
Bob