0

実行中のプロセスで特定のファイルを検出する必要があります。これまでのところ、exe ファイル全体の MD5 を計算することでこれを行ってきました。このアプローチには 1 つの間違いがあります。アイコンを編集したり、そこにバイトを追加したり、PE ヘッダーで何かを変更したりすると、ハッシュが異なります。この情報を使用すると、「異なるファイルを比較して同じものとして評価する方法」になりますが、これは少しあいまいなので、.exe ファイルの 2 つの実行可能部分 (無視、ヘッダー、リソースなど) を比較する方法にします。同じ機能を維持するために変更できない部品とは? 同じ機能を表すにはいくつかの方法があるため、これはおそらく究極の答えではありません。たとえば、文字列をユニコードに置き換えるか、その文字列を変更するだけです。

では、2 つの実行可能ファイルの類似性を計算するにはどうすればよいでしょうか。

アプリは .NET にあるため、私は C# コードを好みますが、このテーマに関するアドバイスや考えをいただければ幸いです。

4

2 に答える 2

0

あなたがやりたいことは非常に難しいことがわかります。ここで MS 実行可能形式をダウンロードできます: http://msdn.microsoft.com/en-us/windows/hardware/gg463119.aspx

于 2013-10-27T14:24:32.477 に答える
-1

ファイル バイナリを SOUNDEX アルゴ (ただし数値の場合) にロードし、指定された精度で比較できます。どのように機能するかはわかりませんが、アイコンを変更しても小さなバイトコード部分のみが変更される場合は、正常に機能するはずです。

これがファイルでどの程度うまく機能するかはわかりませんが、理論的には正常に機能するはずです。

于 2013-10-27T15:21:05.723 に答える