Entwickler-Ecke

Sonstiges (.NET) - String im Klartext sichtbar


vreden123 - Mi 22.06.11 13:22
Titel: String im Klartext sichtbar
Hallo,

ich habe folgenden Code:


C#-Quelltext
1:
s_daten = s_daten.Replace("c""jLa3_E>L?rtPT6nq8-@3oT");                    


Dieser code erstetzt "c" gegen "jLa3_E>L?rtPT6nq8-@3oT"

Sin des Programms ist einen Text zu verschlüsseln.
Mein Problem ist aber, wenn ich das Programm mit dem Text-Editor öffne, kann ich "jLa3_E>L?rtPT6nq8-@3oT" im Klartext lesen.

Gibt es eine Möglichkeit, dass "jLa3_E>L?rtPT6nq8-@3oT" nicht im Editor lesbar ist? Weil es ist ja mehr oder weniger dann ein Angriffspunkt.


thepaine91 - Mi 22.06.11 13:59

Die Textdatei verschlüsseln. ^^

Wenn das aber wirklich so in deinem Quellcode steht:

Delphi-Quelltext
1:
  s_daten.Replace("c", "jLa3_E>L?rtPT6nq8-@3oT");                    

ist das alles andere als schön.


Oliver M. - Sa 09.07.11 19:44

user profile iconthepaine91 hat folgendes geschrieben Zum zitierten Posting springen:

ist das alles andere als schön.


Was willst du? Ist doch klar das Strings DIRECKT in den Binärcode übertragen werden, oder? Das war schon immer so!

Und zur Lösung des Problems:

Statt s_daten = s_daten.Replace("c""jLa3_E>L?rtPT6nq8-@3oT");
Einfach s_daten = s_daten.Replace("c""La" + "3_E>" + "L?rt" + "PT6n" + "q8-@" + "3oT");

MfG Oliver


jaenicke - Sa 09.07.11 21:03

user profile iconOliver M. hat folgendes geschrieben Zum zitierten Posting springen:
Und zur Lösung des Problems:

Statt s_daten = s_daten.Replace("c""jLa3_E>L?rtPT6nq8-@3oT");
Einfach s_daten = s_daten.Replace("c""La" + "3_E>" + "L?rt" + "PT6n" + "q8-@" + "3oT");
Und du glaubst im Ernst, dass das einen Unterschied macht? :shock:
Probier es bitte einmal aus...

Zum Problem:
Da man .NET Programme sowieso jederzeit wieder in den Ursprungscode dekompilieren kann, ist es sowieso sinnlos darüber nachzudenken einen Schlüssel auf diese Art zu verstecken. Wer schaut sich schon die Exe im Hexeditor an, wenn er auch den Quelltext haben kann...