2 つのプロジェクトを含む C# ソリューションがあります。1 つはメイン アプリケーションで、もう 1 つはライセンス プロジェクトです。プロジェクトは順調に進んでいます。json を使用してライセンスの詳細をシリアル化しました。今度は、ライセンス プロジェクトを難読化して、詐欺やハッカーから保護する必要があります。Dotfuscator
難読化の目的で使用しました。以下の行を使用して、アプリケーションが受け取ったライセンスの詳細を逆シリアル化しました。
xmlDocument.LoadXml(xml);
details = xmlDocument.SelectSingleNode("/license/details");
licenseDetails = JsonConvert.DeserializeObject<LicenseDetails>(details.InnerText);
この行は、難読化後に不明なオブジェクトを返しますI
が、難読化前はうまく機能していました。
難読化前の戻り値
licenseDetails == Shared.Licensing.Client.LicenseDetails
難読化後の戻り値
licenseDetails = I
私のXMLファイルは
<?xml version="1.0" encoding="utf-8"?>
<license>
<details>{"Product":"Outlook Templates","ProductVersion":"1.0.0.0","Username":"Demo","Serial":"1fKxUCJylsm+qVUccjUn8gYNVgDc4pE5OuqYs48vkaQ=","RegistrationDate":"\/Date(1326202832909+0200)\/","ExpirationDate":"\/Date(1330387200000)\/","PayloadEntries":[{"ValueType":2,"EntryName":"MaxNumProviders","Operation":1,"EntryValue":"3"},{"ValueType":2,"EntryName":"MaxNumQuick","Operation":1,"EntryValue":"5"},{"ValueType":2,"EntryName":"ExpirationDaysOffset","Operation":1,"EntryValue":"30"}]}</details>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>c/BK0YOhnW8cXUGxTJx3mpWQj1U=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>gWYcpr3OBhUoiPEFyWskgoRcDw5rO2RWNbMulXSXg2tsKWebEFqgptCUfr7JRvvSjm4kALyvU7mZviJI/peJWmJC69gs7QDMEOWLvrOa0TL1qyO5K5onCBZopJUdrPE0PJCVYRacasI3DvTOSo+IDEOSFVpEWZNcERhB6ZkOFrU=</SignatureValue>
</Signature>
</license>
難読化中に何が問題になるのかわかりません。