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