日課のメモの放出。月曜日は時間がないので。。。
今回は以下のリンク先の情報を参考にさせていただきました。ありがとうございます。
EXE,DLLのビット数を確認したい
とある案件でシステム構成を調べている際に、とあるDLLのビット数を確認する必要が出てきました。
しかしながら、タスクマネージャにはビット数出てこないし、バイナリエディタないし、(バイナリエディタを)インストールできないし(禁止のルールだったので・・・)。
その際に調査したメモを放出します。
まずは、タスクマネージャーで確認
起動できるEXEなら、タスクマネージャーで確認。
プロセスタブの各アプリ名の後ろに(32ビット),もしくは(64ビット)と表示される。
起動しないタイプのEXE,DLLはdumpbinで確認
起動しないタイプのEXE,DLLはこちらの方法で確認する。
cmdじゃなくて、VSのコマンドプロンプトを実行して下記のコマンドを実行。
( "Visual Studio Tools" から "Visual Studio コマンドプロンプト" を起動)
dumpbin /headers "確認するファイルパス" | findstr machine
14C machine (x86)
32 bit word machine
dumpbin /headers "確認するファイルパス" | findstr machine
14C machine (x86)
32 bit word machine
バイナリエディタで確認
今回の状況とは違いますが、逆にVSがなくてバイナリエディタが用意できるのであればPEヘッダ見てみませう。
50 45 00 00 4C 01
50 45 00 00 64 86
そもそも、Windowsにこだわらなくていいじゃん。fileコマンドという文明の利器があります
普通にfileコマンドで確認できます。
Windowsなら、Cygwin使えば確認可能です。
まぁこれ確認した当時はWindowsOS限定だったし、Cygwinなんて便利なものなかったんですよね・・・・