Passwort in Programm statisch speichern

MS47475

Mitglied
Hallo,

mal angenommen, ich möchte ein Programm schreiben, mit dem ich unter anderem eine Email über eine feste Emailadresse versenden kann. Dazu wird ja auch ein Passwort benötigt, welches ein eventueller Kunde nicht ändern darf.
Normalerweise würde ich das jetzt einfach zuweisen:
Code:
string password = "geheim";
Allerings ist dies ja alles andere als sicher, da dies ja im Klartext in der Binary steht.
Mich interessiert jetzt mal, wie so etwas generell gemacht wird. Microsoft geht ja auch nicht hin und legt eine Liste der möglichen Seriennummern im Code lesbar ab.

Wie macht man das am besten?

Danke schon mal im Voraus.

Gruß
Markus
 
Hi

Bzgl den Seriennummer:
Die liegen ja auch nicht alle im Programm sondern werden bei der Eingabe geprüft / validiert nach einem Algorithmus.

Bzgl. Passwort im Programm:
Es kommt ein bisschen darauf an, welche Programmiersprache du nutzt. Bei Sprachen, die in eine IL übersetzt werden (.NET-Sprachen / Java) ist das nicht zu empfehlen. Aus dem Byte Code kann sehr leicht der ursprüngliche Quelltext gewonnen werden.

Bei Sprachen, die zur Entwicklungszeit fertig kompiliert werden (C/C++) ist das schon machbar, da hier der Aufwand erheblich höher ist, an die Informationen zu kommen

Aber anders gefragt:
Was genau soll mit der Mail geschehen bzw. warum wird sie gesendet? Vielleicht gibt es dafür ja Alternativen
 
danke für die schnelle Antwort.
Ich verwende zurzeit C++, genauer gesagt Qt.
Dort ist leider auch das Passwort und andere String-Zuweisungen im Klartext zu sehen. Zwar steht dann nicht password = "geheim", aber das Wort geheim. Klar man müsste schon drauf kommen genau das Wort zu nehmen, aber es steht halt dort.
Das mit der Mail war jetzt nur schnell als Beispiel genommen. Ich wollte das halt allgemein wissen.
 
Wenn ich das richtig verstanden hab, geht es aber darum, dass sich das Programm irgendwo anmeldet, ohne das der User ein Pwd eingeben muss.
Dafür ist ein Hash jedoch unpraktisch, da er diesen nicht "decrypten" kann
 
Was ich gern mache:
Eine kleine Funktion bauen, die nichts anderes macht, als einzelne chars mit XOR 120 oder etwas ähnlichem zu verwursteln und aneinander zu hängen. Dann lege ich mir ein paar Chars und #defines quer durch's ganze Programm an, in denen jeweils 1 oder 2 Zeichen mit diesem XOR-Wert verschlüsselt drin stehen.
Zur Laufzeit werden diese einzelnen Werte dann der Funktion durchgereicht, zusammengebaut, "entschlüsselt" und das Passwort kann verwendet werden.

Im Kompilat sind dann hierher irgendwo im Source ein oder zwei Byte des Passworts in nicht erkennbarer Form vorhanden.

Der Overhead, der durch dieses Zerstückeln, wieder Zusammensetzen und Umrechnen entsteht ist im allgemeinen vernachlässigbar.
 

Neue Beiträge

Zurück