セットアッププロジェクトを含むVS.NET 2008ソリューションがあります。このセットアッププロジェクトは、同じソリューション内の他のプロジェクトの出力を取り込み、MSIを生成します。これまでのところ、とても良い...私はMSIに含まれるアセンブリを難読化したい。この難読化自体はシンプルですが、MSIビルにこのプレステップ(難読化)をどうやって導入できますか?誰もがアイデアを持っていますか?アセンブリがMSIに統合される前にアセンブリを難読化する
ありがとうございます!
セットアッププロジェクトを含むVS.NET 2008ソリューションがあります。このセットアッププロジェクトは、同じソリューション内の他のプロジェクトの出力を取り込み、MSIを生成します。これまでのところ、とても良い...私はMSIに含まれるアセンブリを難読化したい。この難読化自体はシンプルですが、MSIビルにこのプレステップ(難読化)をどうやって導入できますか?誰もがアイデアを持っていますか?アセンブリがMSIに統合される前にアセンブリを難読化する
ありがとうございます!
このプロセスを自動化するには、Finalbuilderなどのビルドツールを使用します。
例:アセンブリをビルドし、難読化し、最後にセットアッププロジェクトをビルドします。
MSIファイルを作成するには、WiXなど(他のビルドツール)を使用します。 Windowsツールを使用してMSIを逆コンパイルし、次に難読化してMSIに戻すことができます。
もう1つの方法は、難読化ツールをビルドプロセスに追加することです。私はCodeVeilでこの投稿をビルドしました。これをすべてのプロジェクトのポストビルドステップにブランチすることができ、セットアッププロジェクト(最後にビルドされています)を実行できない場合は、これを実行できるはずです。セットアッププロジェクトに大きく関わっていないので、これはうまくいくとは思っていませんが、うまくいかない理由はありません。
Dotfuscator Professionalを使用している場合は、インストール時にシステムに追加されたVisual Studioプロジェクトに同梱されているので、これを簡単に実行できます。
ソリューションに新しいDotfuscatorプロジェクトを追加し、他のプロジェクトの出力をDotfuscatorプロジェクトへの入力として追加する([アセンブリの追加/プロジェクト出力の追加]機能を使用)、必要な難読化設定を設定するだけですセットアッププロジェクトの入力をDotfuscatorプロジェクトに変更します。今すぐソリューションをビルドすると、コードファイルがコンパイルされ、難読化され、セットアッププロジェクトに渡され、MSIに組み込まれます。
obfuscatorは、これが動作するためにMSBuildインテグレーションをサポートする必要があるため、コンパイラのビルド出力を難読化し、入力としてMSIプロジェクトに渡すことができます。
Crypto Obfuscatorは、この種のシナリオをサポートするツールの1つです。
Eazfuscator.NETは、このようなシナリオを処理するために特別に設計されました。
Release
構成で構築されるたびに、アセンブリは自動的に難読化され、MSIパッケージにバンドルされます。これを処理する他の難読化プログラムもあります。たとえば、Dotfuscatorは、入力と出力を定義してビルドパイプラインを形成できるVisual Studioの難読化プロジェクトタイプを提供します。パイプラインはアセンブリプロジェクトの出力を取得し、難読化してセットアッププロジェクトに渡すことができます。