異なる時刻に2つの別々のマシンでコンパイルされた同一のC#コードによって生成されたリリースバージョンのバイナリをプログラマチックに調べて、コードが同一であると結論付けるツールを作成しようとしています。これらのバイナリを生成するために使用されるC#コードにあれば、コードの変更を取得することができます。異なるマシン上で同じC#ソースコードから反復可能なビルド
私はいくつかのアプローチを試してきましたが、この短期間を維持するために、私は最新の試みに固執します。 バイナリで/ textオプションを指定してildasmを実行し、テキストの匿名フィールドなどのGUIDを置き換えますが、バイナリが異なるPCから来た場合、ILDASM/textオプションによって生成されたテキストが並べ替えられます。同じコードから生成されたものの、別のマシンで同じ設定でコンパイルされたバイナリも大きく並べ替えられて表示されます。このILの並べ替えをどのように制御することができるかもしれないと示唆しているでしょうか?
乾杯
PS
:確実にこれを達成する任意の代替戦略も大歓迎です。
ソースコードを比較できないのはなぜですか? –
また、これはおそらく関連性があります:http://stackoverflow.com/questions/1335427/why-does-c-sharp-generate-different-exes -for-the-same-source-code –
可能であれば、なぜあなたはそのようなツールが必要なのか分かりますか?おそらく、あなたがそれを作成することによって解決しようとしている問題に対して、はるかに良い解決策があるでしょう。 –