【NanDoKu】難読化しないオブジェクトの指定 |
- 日時: 2009/06/24 16:55
- 名前: おさ
- こんにちは。
難読化ツールを探していたところ、NanDoKuを見つけましていろいろと試しております。
難読化は成功して、一通りの処理は動いていたのですが、クラスをシリアライズして ファイルに保存するところで、例外が発生してしまいました。 > Dim tp As System.Type = GetType(SaveData) > Dim serializer As New System.Xml.Serialization.XmlSerializer(tp) ' ←ここで以下のエラー
>System.InvalidOperationException: 一時クラスを生成できません (result=1)。 >error CS0572: 'iiii': 式から型を参照することはできません。'iiii.jiji.iiii' を使用してください。 >error CS0572: 'iiii': 式から型を参照することはできません。'iiii.jiji.iiii' を使用してください。 > > 場所 System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence) > 場所 System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies) > 場所 System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence) > 場所 System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace) > 場所 System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace) > 場所 iiii.ijjj.iiijiiji() と、このようなのが続きます。
そこで、このクラスは難読化対象外にしようと思い、 <AttributeUsage(AttributeTargets.All)> Public Class NoNanDoKuAttribute Inherits Attribute End Class
<NoNanDoKuAttribute(), System.Xml.Serialization.XmlRoot("SaveData")> _ Public Class SaveData
<NoNanDoKuAttribute(), System.Xml.Serialization.XmlRoot("UserInfo")> _ Public Class UserInfo <NoNanDoKuAttribute(), System.Xml.Serialization.XmlElement("UserId")> _ Public UserId As String = "" <NoNanDoKuAttribute(), System.Xml.Serialization.XmlElement("AllowFlag")> _ Public AllowFlag As Boolean = False End Class
<NoNanDoKuAttribute(), System.Xml.Serialization.XmlElement("UserInfo")> _ Public ui As New UserInfo
End Class として、「次の属性を持つオブジェクトは難読化しない」に「NoNanDoKuAttribute」を追加して 試してみたのですが、状態は変わらず、Reflectorで見ても難読化対象外になっていないようです。
他にチェックするところ、難読化対象外の指定方法でまずい所などがありましたら、 ご指摘をいただけないでしょうか。
よろしくお願いします。
|
|