対象OS:Windows XP/Windows 7/Windows 8/Windows 8.1/Windows 10/Windows Server 2003/Windows Server 2008/Windows Server 2008 R2/Windows Server 2012/Windows Server 2012 R2
メールにファイルが添付されている場合、それが何であるかを確認せずに、(ダブルクリックして)開こうとするのは非常に危険な行為である。もしそれがウイルスの実行ファイルであった場合、システムに感染する危険性があるからだ。
現在のメールソフトウエアでは、添付ファイルを容易に実行できないようにセキュリティ対策が施されていることが多い。だが、古いソフトウエアを使っていたり、わざとセキュリティ設定を無効にしていたりする場合は、十分注意しなければならない。
具体的には、ファイルをいきなり開くのではなく、その内容を確認して、問題がないと分かってから開くようにするべきである。
だがファイルの内容を確認するのはあまり容易ではない。コンピューターシステムに詳しいユーザーならば、一つの手段として、いわゆる「バイナリエディター」という、ファイルの内容をバイナリでダンプ/編集するエディター(16進数形式で表示、編集するエディター)を利用して内容を確認できるだろう。
しかしバイナリエディターはWindows OSの標準ツールとして用意されていない。いちおう「DEBUG」というコマンドでバイナリファイルの内容を表示できるものの、制約が大きいしユーザーフレンドリではないので、開発者でなければ使うのは困難だろう(詳細はTIPS「ファイルの内容をバイナリ・ダンプで確認する」を参照)。
次善の策としては、バイナリエディターではなく、通常のメモ帳(notepad.exe)を使ってファイルの内容を確認する方法がある。メモ帳はどのWindows OSにも用意されているので、正体不明のファイルの内容をざっと確認するには、これが簡単である。
危険な実行ファイルであるか(バイナリだけでなく、スクリプトコードの場合もある)、それとも単なるテキストやHTML形式のメール本文であるか(マルチパート形式で、テキストとHTMLコードが両方含まれているようなメールも多い)、圧縮形式のファイルであるかどうか、などを確認できる。
メモ帳を使ったファイルの確認方法は、メールの添付ファイルだけでなく、さまざまなファイルに対して利用できる。
例えばシステムやファイルサーバ上に見慣れないファイルがあった場合、エクスプローラー上でいきなりダブルクリックするのではなく、メモ帳で開いてみて内容を確認するとよい。また、出所や機能が不明な実行ファイルなどでも、中に含まれる文字列データなどから、その機能や名称、パラメーターなどを類推することもできるだろう。
メモ帳を使って(バイナリ形式の)ファイルを開くには、まずメモ帳を開いておき、次に、当該ファイルのアイコンをメモ帳上にドラッグ&ドロップするだけでよい。
エクスプローラーやデスクトップ上にあるファイルアイコンをダブルクリックすると、通常はそのファイルの拡張子に関連付けされているアプリケーションが自動的に起動する。一方、ファイルが実行ファイルであると、いきなり実行されるので非常に危険である。
これに対してメモ帳では、そのような特別な解釈(ファイルタイプなどに基づいた関連アプリケーションの起動など)は行わず、そのまま直接オープンするので(実行されないので)、内容を確認できる。
もちろん(テキストデータではなく)バイナリデータファイルを開くと、正しく表示できずに、いわゆる「文字化け」だらけの状態になるが、文字として表示されている部分だけに注目すれば、その内容をおおよそではあるが、確認できる。
なおメールソフトウエアの設定で、添付ファイルへのアクセスを禁止している場合は、ドラッグすることができないので、あらかじめ設定を解除して、ドラッグ&ドロップできるようにしておく。ファイルをドラッグ&ドロップすると、次のように、ファイルの内容が表示されるはずである。
ただしあまりにも大きなファイル(数十Mbytes)を開こうとすると、非常に時間がかかるので注意していただきたい。
メールの添付ファイルは、一般的にはuuencodeやBase64形式でエンコードされているため、メールの本文だけを見てもその内容を把握することは簡単ではない。だが、この方法を使えば、デコードされた結果のファイルの内容を簡単に確認できる。
メモ帳でバイナリデータファイルを表示させると、ほとんどの部分が文字化けして表示される。だが、いくらかは文字列がそのまま表示されるので、それを手掛かりにして内容を調査するとよい。
バイナリファイルを開くと先頭に「MZ」という2文字が見えることがある(上の画面参照)。これはWindows OSにおける各種の実行ファイル(.EXEだけでなく、.DLLや.PIF、.SCRといったファイルでも同じ)を表している。うかつにダブルクリックすると自動的に実行されてしまうので、注意すること。メールの添付ファイルになっている場合は、絶対にクリックしないようしていただきたい。
また先頭が「PK」のものは、(ほとんどの場合は).ZIP圧縮ファイルなので、これも注意していただきたい。場合によっては解凍と同時に実行するように設定されている場合があるので、心当たりがなければ、ダブルクリックしないようにしよう。
なおメモ帳で表示させる場合は、[書式]メニューの[右端で折り返す]を有効にしておくと、内容が確認しやすくなる。
ドラッグ&ドロップでファイルを開くと、テキストファイルなら文字コードは自動判定される。だがバイナリファイルの場合は「ANSI」になることが多い(バイナリファイルの先頭には、Unicode判定用のBOMコードが入っていないので、判別が不可能だから)。
ANSI文字コード(いわゆる1byte系の英数字コード)だけの文字列や、日本語のShift JIS文字列などを確認するのならこれでもよい。だが、場合によってはUnicodeやUTF-8形式で表示させたい場合がある。
例えばWindows OSのバイナリでは、Unicode形式で文字列リソースを扱うことが多いので、このようなファイルをANSI文字コード形式で表示させても、文字列部分を全く見ることができず、内容を調査することができない。
このような場合は、文字コードを指定してファイルをオープンする方法を使うとよい。
それにはまずメモ帳を起動し、[ファイル]メニューの[開く]を実行するとファイルオープンダイアログが表示される。その最下部に[文字コード]を指定するドロップダウンリストが表示されているので、ファイル名を指定後、適切な文字コードを指定してから、[開く]ボタンをクリックする。これで、ファイル中の文字列は、指定された文字コードで開かれることになる。
指定可能な文字コードの種類は次の4種類だ。
正しく文字が読み取れるように、適宜コードを変更して実行してみてほしい。
このコード指定によるファイルのオープンは、メモ帳の起動時オプションで指定することもできる。
/wオプション指定時のUnicodeのバイトオーダー(リトルエンディアンかビッグエンディアンか)は、ファイル先頭のBOMコードに基づいて自動判別される(BOMが存在しない場合はリトルエンディアンとして扱われるようだ)。
メモ帳でよくファイルを開くようになると、いちいちメモ帳を立ち上げておいて、ファイル名をドラッグ&ドロップするのが面倒になってくるだろう。よく利用するなら、次のTIPSのように、あらかじめ[送る]メニューにメモ帳を登録しておいたり、クイック起動バーにメモ帳を登録しておいたりするとよいだろう。
メールの添付ファイルやソースコード表示、実行ファイルに関する注意などについては、以下の「この記事と関連性の高い別の記事」の各TIPSも参考にしていただきたい。
■更新履歴
【2015/11/01】Windows 7以降のWindows OSで動作を確認しました。
【2005/10/24】メモ帳の起動時オプションに関する記述を追加しました。
【2005/10/22】初版公開(対象OSはWindows 2000/XP/Server 2003)。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.