セットアップ プロジェクトを含む VS.NET 2008 ソリューションがあります。このセットアップ プロジェクトは、(同じソリューション内の) 私の他のプロジェクトの出力を受け取り、MSI を生成します。これまでのところ、とても良いです... MSI に含まれるアセンブリを難読化してほしいと思います。この難読化自体は単純ですが、この前段階 (難読化) を MSI の構築に導入するにはどうすればよいでしょうか? 誰にもアイデアがありますか?
ありがとう!
セットアップ プロジェクトを含む VS.NET 2008 ソリューションがあります。このセットアップ プロジェクトは、(同じソリューション内の) 私の他のプロジェクトの出力を受け取り、MSI を生成します。これまでのところ、とても良いです... MSI に含まれるアセンブリを難読化してほしいと思います。この難読化自体は単純ですが、この前段階 (難読化) を MSI の構築に導入するにはどうすればよいでしょうか? 誰にもアイデアがありますか?
ありがとう!
Use a build tool such as Finalbuilder to automate this process.
eg Build assemblies, then obfuscate them and finally build the setup project.
Dotfuscator Professional を使用している場合は、インストール時にシステムに追加される Visual Studio プロジェクトが付属しているため、これを簡単に実現できます。
必要な作業は、新しい Dotfuscator プロジェクトをソリューションに追加し、他のプロジェクトからの出力を入力として Dotfuscator プロジェクトに追加し ([アセンブリの追加]/[プロジェクト出力の追加] 機能を使用)、必要な難読化設定を設定してから、セットアップ プロジェクトの入力を Dotfuscator プロジェクトにします。ソリューションをビルドすると、コード ファイルがコンパイルされてから難読化され、MSI にビルドされるセットアップ プロジェクトに渡されます。
難読化ツールは、これが機能するために MSBuild 統合をサポートする必要があります。これにより、コンパイラのビルド出力を難読化し、MSI プロジェクトに入力として渡すことができます。
Crypto Obfuscatorは、この種のシナリオをサポートするツールの 1 つです。
MSIファイルを作成するには、WiXまたは同様のもの(他のビルドツール)を検討します。Windowsツールを使用してMSIを逆コンパイルし、難読化してMSIに戻すことができます。
もう1つのオプションは、ビルドプロセスに難読化ツールを追加することです。私はCodeVeilを使用してこのポストビルドを実行しました。これをすべてのプロジェクトのビルド後のステップに分岐でき、セットアッププロジェクト(最後にビルドされたもの)がない場合は、これを実行できるはずです。セットアッププロジェクトにあまり取り組んでいないので、これがうまくいくかどうかはわかりませんが、うまくいかない理由はわかりません。