Laden...

WinFrm vor Decompiling schützen

Erstellt von mygil vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.430 Views
M
mygil Themenstarter:in
124 Beiträge seit 2009
vor 8 Jahren
WinFrm vor Decompiling schützen

Hallo!

Hat jemand eine Idee wie man den Quellcode einer Windows-Forms Anwendung vor .NET Decompiling Anwendungen (z.b. ILSpy oder dotPeek) schützen kann?

Beispiel:
Es geht um eine Anwendung in der man z.b. Verbindungsinformationen zu anderen Datenbanken hinterlegen bzw. verwalten kann.
Natürlich kann man jetzt eine Funktion erstellen mit der die Verbindungsinformationen verschlüsselt und erst dann in eine Datenbank ablegt. Aber die Funktion zum entschlüssel kann mittels Decompiling einfach ausgelesen bzw. dann nachgebaut werden.

Hat hier jemand eine Idee?
Lg myGil

16.842 Beiträge seit 2008
vor 8 Jahren

Schon gefühlte 1000 mal im Forum besprochen
[FAQ] NET Assembly vor Disassembling schützen (Obfuscator)

R
228 Beiträge seit 2013
vor 8 Jahren

Um hier einfach nochmal einzuhaken:

So eine Verwaltung wie sie vom TE angesprochen wird, macht natürlich nur Sinn, wenn man die Daten wieder entschlüsseln kann. Es muss also der Schlüssel gespeichert werden.

Wie ist hier das sicherste Vorgehen? Tatsächlich in den Code schreiben und "obfuscaten"?

16.842 Beiträge seit 2008
vor 8 Jahren

Wenn man etwas verschlüsselt und man dessen Inhalt wieder bekommen will, dann braucht man natürlich den entsprechenden Schlüssel.
.NET hat für gewisse Dinge bereits entsprechende Container, wie zB. die ProtectedData-Class. Man muss sich nur für den jeweiligen Anwendungsfall den besten Weg suchen.

Der wohl mit sicherste Platz fürs Keys ist nun mal auf Window der Machine Keystore.
Deswegen heisst er so 😉

Obfuscation ist jedenfalls KEIN Weg für Code-Sicherheit.
Selbst C++ kann dekompiliert werden! Und es gibt sogar Tools, die Assembler-Infos teilweise wieder lesbar machen.

Das muss nun mal jedem Entwickler bewusst sein: wenn man etwas im Rohzustand braucht, wie ein Klar-Passwort für eine externe Verbindung, wird man IMMER, absolut ohne Ausnahme, spätestens durch RAM-Spy an das Ding kommen - egal wie viel Aufwand man in die persistente Speicherung rein steckt.
Und Forscher haben es sogar geschafft diese Information für mehrere Stunden im Speicher zu halten, indem dieser massiv gekühlt wurde.
Alles nur eine Frage des Aufwands.

M
mygil Themenstarter:in
124 Beiträge seit 2009
vor 8 Jahren

Hallo!

Vielen Dank für eure Antworten!
Die halfen schon mal sehr bzw. werde mich hier noch deutlich schlauer machen!

lg myGil