Frage

Dies bezieht sich auf SafeNet / Aladdin Sentinel HASP-Schlüssel.Ich habe auf ihrer Website gepostet, aber nur für den Fall, dass jemand anderes die Antwort kennt oder die Antwort nützlich finden würde, poste ich auch hier.

Gemäß den von SafeNet bereitgestellten Dokumenten in "Anleitung zum Softwareschutz und zur Lizenzierung.pdf" Wir sollen unseren Lieferantencode geheim halten, richtig?

Nun, wenn ich das in "\ Samples \ Runtime \ csharp \" bereitgestellte Beispiel erstelle, dann die App mit Envelope schütze und dann die umhüllte App in JetBrains dotPeek dekompiliere, kann ich dort die Herstellercode-Zeichenfolge sehr leicht sehen.Es scheint, dass Envelope konstante Zeichenfolgen nicht verschleiert.Oder vielleicht sind es Saiten auf Klassenebene, ich weiß es nicht.

Ist dies die empfohlene Methode zur Verwendung des Herstellercodes?Scheint nicht sehr geheim zu sein.Wenn ich die Herstellercode-Zeichenfolge in eine temporäre Variable in einer Funktion einfüge, wird sie verschleiert.Sollte es so gemacht werden?Wenn ja, sollte der Beispielcode das nicht widerspiegeln?

Danke.

War es hilfreich?

Lösung

Wir hatten das Gleiche bemerkt.Grund const zeichenfolgen sind nicht verschleiert, wahrscheinlich aufgrund der Tatsache, dass eine konstante Variable eine ist Kompilierzeitkonstante, was dem Compiler erlaubt, Verweise auf a zu ersetzen const variable mit dem konstanten Wert selbst zur Kompilierzeit.Es gibt also grundsätzlich keine const Zeichenfolgenfeld, das bis zum Start des Hüllkurvenvorgangs verschleiert werden soll.(Das ist nicht ganz richtig - die Definition des const wird in der IL beibehalten, aber nur zu Dokumentationszwecken;es wird von keinem Code referenziert.)

Die Art und Weise, wie wir damit umgegangen sind, ist durch die Verwendung von static readonly zeichenfolgen, initialisiert in einem static Konstruktor.Auf diese Weise werden die Zeichenfolgenwerte als Laufzeitkonstanten gespeichert, sodass der Hüllprozess zur Verschleierung ordnungsgemäß auf sie zugreifen kann.(Dies wird durch Dekompilieren der Assembly überprüft, wie Sie bereits erwähnt haben.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top