2011年1月12日水曜日

難読化 一部の関数だけ除外する

Visual Studio 2010のExpress版で頑張られている方々、私自信も含めてお疲れ様です。
Expressには、Dotfuscator が付いてこないので、少し悲しいですね。

先日Babel.netによる難読化方法を書いたのですが、一部の名前を難読化したくない場合について述べておりませんでしたので、メモしておこうと思います。

Babel.net Free editionは、コマンドラインタイプの難読化ソフトなので、難読化の除外をXMLで書いた設定ファイルに書くか、ソースに直接記述する方法で行う必要があります。

一番簡単なのは、ソースに直接記述する方法だと思われます。

using System.Refrection;して、Obfuscation属性で、Exclude=true としておくと難読化対象から除外されます。

この方法はDotfuscatorを含めた一般的な難読化ソフトなら解釈してくれるので、色々な難読化ソフトを試してみたい方や、後で違う難読化ソフトに乗り換えるかもという方に便利かと思います。

 HitTest 関数を難読化しない場合の例
   1:  [Obfuscation(Exclude = true)]
   2:  internal void HitTest()
   3:  {
   4:  }


まったくの余談ですが、GyaO!はSilverlightを採用しているそうです。が……なぜか、Google ChromeではGyao!を閲覧することができないように制限をかけているみたいです。SilverlightはIE,Firefox,Chromeでもうごくはずなのになぜなんでしょう。いわゆる大人の事情なのでしょうか?
 

0 件のコメント:

コメントを投稿