私の製品には、ASP.NET、Windows フォーム アプリ、Windows サービスなどの複数のコンポーネントがあります。コードの約 95% は VB.NET で記述されています。
知的財産上の理由から、コードを難読化する必要があり、これまでは 5 年以上前のバージョンの dotfuscator を使用してきました。そろそろ新世代のツールに移行する時期だと考えています。私が探しているのは、新しい難読化ツールを探すときに考慮すべき要件のリストです。
これまでのところ、私が注意すべき点としてわかっていることは次のとおりです。
- シリアル化/デシリアル化現在の解決策では、ツールにない以前にシリアル化されたデータをロードできなくなるという問題があまりにも大きいため、クラス データ メンバーを難読化することはできません。
- ビルドプロセスとの統合
- ASP.NET の操作過去に、.dll 名の変更 (多くの場合、ページごとに 1 つ) が原因でこの問題が発生したことがありますが、これはすべてのツールで適切に処理できるわけではありません。
ベストアンサー1
さまざまな難読化ツールを試してみましたが、リモート処理を使用する大規模なクライアント/サーバー アプリではどれも機能しません。問題は、クライアントとサーバーがいくつかの DLL を共有していることですが、それを処理できる難読化ツールが見つかりませんでした。
私たちは、DotFuscator Pro、SmartAssembly、XenoCode、Salamander、そして名前が思い出せないいくつかの小さなアプリを試しました。
率直に言って、難読化は大きなハックだと私は確信しています。
対処されている問題も、完全に実際の問題ではありません。本当に保護する必要があるのは、接続文字列、アクティベーション コード、セキュリティに敏感な情報などだけです。別の会社がコードベース全体をリバース エンジニアリングして、そこから競合製品を作成するというナンセンスは、妄想的なマネージャーの悪夢のようなもので、現実ではありません。